NGÔN NGỮ THỐNG KÊ R

Tài liệu tương tự
Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Kế thừa và đa hình

Lập trình và ngôn ngữ lập trình

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG WEBSITE QUẢN LÝ RẠP CHIẾU PHIM TRÊN CƠ SỞ YII FRAMEWORK Hà Nội 2016

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Kế thừa

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Chương Trình Đào Tạo

Chương trình dịch

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

PowerPoint Presentation

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Giảng viên: Đỗ Thị Thanh Tuyền

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Chương trình dịch

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

CÔNG BÁO/Số ngày PHẦN I. VĂN BẢN QUY PHẠM PHÁP LUẬT BỘ NỘI VỤ BỘ NỘI VỤ Số: 09/2010/TT-BNV CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Đ

Java cơ bản

Chương trình dịch

Microsoft Word - tao_ung_dung_hello_world_trong_android.docx

Lkgjlfjq?etyuiiofjkfjlsfjkslddghdgertt

Mẫu PL1a: TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ ĐIỆN TỬ Bộ môn ĐIỆN TỬ-MÁY TÍNH DANH MỤC ĐỀ TÀI KHOÁ LUẬN TỐT NGHIỆP TT Họ v

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

Phương pháp biểu diễn thuật toán Phương pháp biểu diễn thuật toán Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khi chứng minh hoặc giải một bài toán trong toán học

Copyright vietjack.com Nạp chồng toán tử trong C# Operator Overloading là Nạp chồng toán tử. Bạn có thể tái định

BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG THÀNH PHỐ HỒ CHÍ MINH SỔ TAY SINH VIÊN KHOA CÔNG NGHỆ THÔNG TIN NĂM 2016 Địa chỉ: 20 Tăng Nhơn Phú Phường P

Microsoft Word - SGV-Q4.doc

BÀI TẬP THỰC HÀNH

PowerPoint Presentation

Phụ lục II

Co s? d? li?u (Database)

Chương trình dịch

Bài 1:

MỘT SỐ LƯU Ý KHI DẠY CÁC TIẾT ÔN TẬP CHƯƠNG Môn Tin học cung cấp cho học sinh những kiến thức phổ thông về ngành khoa học tin học, hình thành và phát

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

26 Khoa hoïc Coâng ngheä LẬP TRÌNH PHÂN TÁN DÙNG CÔNG NGHỆ MOBILE AGENT VỚI SỰ HỖ TRỢ CỦA JAVA VÀ VOYAGER Tóm tắt ThS. Nguyễn Khắc Quốc * Lập trình ph

1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH ĐỀ CƯƠNG MÔN HỌC 1. THÔNG TIN VỀ MÔN HỌC 1.1. Tên môn học: QUẢN TRỊ HỆ CƠ SỞ DỮ LIỆU 1.

Nội dung chương 3 IT1110 Tin học đại cương Phần I: Tin học căn bản Chương 3: Hệ thống máy tính 3.1. Giới thiệu 3.2. Chức năng và các thành phần của má

Microsoft Word - action_trong_jsp.docx

TRƯỜNG ĐẠI HỌC NAM CẦN THƠ KHOA LUẬT ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN XÃ HỘI HỌC PHÁP LUẬT (LƯU HÀNH NỘI BỘ) CẦN THƠ 2018

Kyõ Thuaät Truyeàn Soá Lieäu

HỌC VIỆN KỸ THUẬT QUÂN SỰ

Microsoft Word - Tailieu win2003.doc

1 Tạo slide trình diễn với Microsoft Powerpoint Tạo slide trình diễn với Microsoft Powerpoint Người thực hiện Hoàng Anh Tú Phạm Minh Tú Nội dung 1 Mục

TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN QUỐC TẾ

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Slide 1

Chủ đề :

Xử lý ngoại lệ

Microsoft Word - Tin hoc dai cuong 2015

Các thanh công cụ Toolbar Các thanh công cụ Toolbar Bởi: Khoa CNTT ĐHSP KT Hưng Yên Origin cung cấp các nút thanh công cụ cho những lệnh menu thường x

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Microsoft Word - su_dung_sqlite_voi_php.docx

Chương trình dịch

Mẫu trình bày chương trình đào tạo theo tín chỉ

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Microsoft Word - jsp_syntax.docx

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

OpenStax-CNX module: m Lập trình hàm ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribu

Microsoft Word - TUT02.01.PVN.NTCR doc

PHỤ LỤC 01 CHUYỂN ĐỔI TRONG THỜI ĐẠI SỐ * * * I. TÊN CÁC ĐỀ TÀI STT LĨNH VỰC ĐỀ TÀI CHUNG ĐỀ TÀI DÀNH CHO KHỐI ĐỀ TÀI DÀNH CHO KHỐI C

Slide 1

TIN HỌC ĐẠI CƯƠNG Bài 6. Phần mềm trình chiếu Bùi Trọng Tùng, SoICT, HUST 1 Nội dung 1. Giới thiệu chung về Microsoft Powerpoint 2. Một số quy tắc soạ

Công nghệ Hibernate Công nghệ Hibernate Bởi: Khoa CNTT ĐHSP KT Hưng Yên Giới thiệu Trước khi tìm hiểu Hibernate là gì, chúng ta cần chuẩn bị một số ki

Kiến trúc tập lệnh1

ĐÊ CƯƠNG CHI TIẾT HỌC PHẦN

GIẢI PHÁP NHÀ THÔNG MINH LUMI LIFE HƯỚNG DẪN SỬ DỤNG VOICE CONTROL

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

1_GM730_VIT_ indd

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Slide 1

Microsoft Word - phuong-phap-thuyet-minh.docx

Những khái niệm cơ bản của hệ điều hành mạng Windows Những khái niệm cơ bản của hệ điều hành mạng Windows Bởi: unknown Giới thiệu tổng quan về Windows

PowerPoint Template

IPSec IPSec Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã biết khi ta sao chép dữ liệu giữa 2 máy hoặc thông qua mạng VPN để nâng cao chế độ bảo mật người q

TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT CÁC SẢN PHẨM CỦA OFFICE 365

Bài 3 Tựa bài

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Exchange Server - Recipient Configuration - Create Mailbox Exchange Server - Recipient Configuration - Create Mailbox Bởi: Phạm Nguyễn Bảo Nguyên Chún

100 CÂU TRẮC NGHIỆM TIN HỌC 6 I. CÂU HỎI TRẮC NGHIỆM Câu 1: Để viết đơn đăng kí tham gia câu lạc bộ, em nên sử dụng phần mềm nào dưới đây? A. Chương t

Animation, Modules 6 - Hoạt hình, tách file

Microsoft Word - thuat-ngu-thuong-mai-dien-tu.docx

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

Microsoft Word - Muc dich mon hoc.doc

PowerPoint Template

Chương trình dịch

Chuỗi Chuỗi Bởi: phamvanviet truonglapvy Chuỗi (string) trong C# là một kiểu dựng sẵn như các kiểu int, long, có đầy đủ tính chất mềm dẻo, mạnh mẽ và

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Microsoft Word - TN414.doc

V2MAT-TRUOC

Kỹ thuật phần mềm ứng dụng

Máy tính cá nhân Máy tính cá nhân Bởi: Wiki Pedia Định nghĩa Máy tính cá nhân (tiếng Anh: personal computer, viết tắt PC) là một máy điện toán siêu nh

Microsoft Word - form_trong_html.docx

Microsoft Word - khoahochethong.docx

Microsoft Word - co_ban_ve_jquery.docx

Bản ghi:

CHƯƠNG 1: Click to edit Master subtitle style GIỚI THIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1

NỘI DUNG Một số Mô thức lập trình Khái niệm Lớp và Đối tượng Ba nguyên tắc lập trình hướng đối tượng Một số phần mềm được viết theo hướng đối tượng 2

Tại sao OOP? Object oriented programming (OOP) là mô thức quan trọng Tất cả ngôn ngữ hiện đại điều object oriented hay hỗ trợ object và class Các framework, library, API hiện đại điều object oriented.net Framework Class Library (C#), Java API classes (Java), Laravel (PHP), Rails (Ruby), STL (C++), Django (Python), Android, Bất kỳ ai bắt đầu công việc phát triển phần mềm nên làm quen với OOP và OO modeling 3

MỘT SỐ MÔ THỨC LẬP TRÌNH 4

Mô thức lập trình Programming paradigm: Mô thức/mô hình lập trình Cách chúng ta nhìn về việc xây dựng các chương trình máy tính Một số programming paradigm: Imperative Structured Procedural Object oriented Functional Declarative 5

Imperative programming Mô thức Lập trình Tuần tự với ý tưởng chủ đạo là lệnh (commands) Input data Process Output data Chương trình là chuỗi các lệnh (cụ thể/rõ ràng (explicit)) có thứ tự (step by step) dùng để thay đổi trạng thái chương trình 6

Ví dụ DATA SEGMENT A DB 1,2,3,4,5,6,7,8,9,10 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV CL,10 LEA BX,A MOV AH,00 MOV AL,00 L1: ADD AL,BYTE PTR[BX] INC BX DEC CL CMP CL,00 JNZ L1 MOV AH,4CH INT 21 END START CODE ENDS 7

Imperative programming Đặc điểm: Các biến toàn cục Mỗi bước ảnh hưởng đến trạng thái toàn cục của chương trình Có lệnh goto để nhảy đến lệnh khác Có những đoạn mã được viết nhiều lần Ngôn ngữ: Assembly, Pascal, C, 8

Structured programming Mô thức Lập trình Cấu trúc là dạng Imperative programming, nhưng Chương trình có tổ chức, cấu trúc logic hơn: result = []; for i = 0; i < length(people); i++ { p = people[i]; if length(p.name)) > 5 { addtolist(result, toupper(p.name)); } } return sort(result); 9

Structured programming Đặc điểm: Lệnh tuần tự (Sequence), Lệnh lặp (Loop), Lệnh điều kiện (Condition) Phong cách lập trình Thục đầu dòng (indentation) Loại bỏ/hạn chế lệnh goto Ngôn ngữ: Pascal, C, Khuyết điểm: Khó phân công cho nhiều người cùng viết Dữ liệu được thả tự do Có những đoạn mã viết nhiều lần 10

Procedural programming Mô thức Lập trình Thủ tục kế thừa structured programming và đưa thêm ý tưởng chương trình con (procedure/function) chứa các đoạn mã thường sử dụng Chương trình máy tính có thể chia thành các chương trình con (procedure) và các chương trình con gọi nhau để giải quyết bài toán 11

Ví dụ public static int Factorial(int n) { int result = 1; for (int i = 2; i <= n; i++) result = result * i; } return result; static void Main(string[] args) { int fact; fact = Factorial(5); Console.WriteLine("5! = " + fact); } int n = 10; int m = 5; fact = Factorial(n) + Factorial(m); Console.WriteLine("n! + m! = " + fact); 12

Procedural programming Đặc điểm Tập trung vào action của chương trình, không phải data Phương pháp top-down, làm mịn dần: Chia chương trình lớn thành các chương trình con, Biến toàn cục (global variable) và Biến cục bộ (local variable) Ngôn ngữ: Pascal, C, Khuyết điểm: Mối quan hệ giữa dữ liệu và hàm không được quan tâm, quản lý 13

Object oriented programming Mô thức Lập trình Hướng đối tượng cải biên procedure programming bằng cách đưa vào ý tưởng object (đối tượng) Chương trình máy tính gồm các objects, các objects giao tiếp với nhau để giải quyết bài toán đặt ra Đối tượng = Dữ liệu + Hàm thao tác trên Dữ liệu 14

Ví dụ class Student { string code; string name; int yearofbirth; public Student(string studentcode, string studentname, int year) { code = studentcode; name = studentname; yearofbirth = year; } } public int GetYearOld() { return DateTime.Now.Year - yearofbirth; } 15

Ví dụ class InformaticsClass { Student[] students; string classname; public void Input() { } class Program { static void Main(string[] args) { InformaticsClass a = new InformaticsClass(); public int NumStudents() { if (students == null) return 0; } } a.input(); Console.WriteLine("No. " + a.numstudents()); } } return students.length; 16

Object oriented programming Đặc điểm: Tập trung xung quanh khái niệm object (tập trung vào dữ liệu và những gì làm với dữ liệu đó) Tập trung cả Dữ liệu và Hàm Tổ chức code theo cách (mô phỏng) hoạt động của thế giới thực Mô hình hóa các đối tượng trong thế giới thực vào máy tính Hỗ trợ Các nguyên tắc: Đóng gói (encapsulation) Thừa kế (inheritance) Đa hình (polymorphism), 17

Object oriented programming Ưu điểm: Quản lý mối quan hệ giữa Dữ liệu và Hàm (trong object) Tổ chức code hiệu quả theo cách thức tổ chức trong tự nhiên Giúp mô hình hóa các đối tượng trong thế giới thực trên máy tính Ngôn ngữ: C++, Java, C#, 18

KHÁI NIỆM LỚP VÀ ĐỐI TƯỢNG 19

Đối tượng (object) Trong thế giới thực có nhiều đối tượng: 20

Đối tượng (object) Hoạt động thường ngày: Sáng ra khỏi gường, dùng bàn chảy đánh răng, ăn sáng và uống cafe, đến công ty làm việc, đến nhà hàng ăn trưa, giải lao, rồi quay về công ty làm viêc, tối vào bếp nấu ăn, xem ti vi/đọc sách, lên gường ngủ. Life là quá trình tương tác giữa các đối tượng với nhau Ý tưởng: Tiến trình viết phần mềm là quá trình mô hình hóa từ thực tế vào máy tính 21

Đối tượng (object) Trong thế giới thực, đối tượng (object) thường có Một số thuộc tính cấu tạo nên đối tượng Một số hành vi Attributes: - ID - Name - YearOfBirth - Attributes: - Title - Author - Pages - Behaviours: - GetAge - SetName - Behaviours: - CountWords - BookMark - SetTitle - 22

Đối tượng (object) OOP là phương pháp chuyển các vấn đề thế giới thực (đối tượng thực) sang các mô hình (đối tượng trên máy tính) có thể giải quyết trên máy tính Trong OOP, Đối tượng (object): Bất kỳ thứ gì có thể được mô hình thành: Dữ liệu (data/field/property/attribute/state) Hàm (function/method/behaviour/operation) thao tác trên dữ liệu Trong OOP, Đối tượng (object) là biến có Tập dữ liệu và Hàm 23

Đối tượng (object) ví dụ Real world object: Car Properties: color, make, model, year, Velocity Methods: Accelerator (chân ga) Brake (thắng) Speedmotor (đồng hồ tốc độ) 24

Lớp (class) Lớp (class): Nhiều đối tượng cụ thể giống nhau được nhóm thành một loại/loài hay lớp (class) Lớp (class) là mẫu (template) hay bản thiết kế (blueprint) để tạo đối tượng 25

Lớp (class) ví dụ 26

Lớp (class) Trong OOP, Lớp (class) dùng để định nghĩa/tạo ra kiểu mới, từ đó tạo ra đối tượng, lớp có Dữ liệu (data/field/property/attribute/state), dùng biến lưu trữ Các hàm (function/method/behaviour) thao tác trên dữ liệu 27

Lớp và Đối tượng VD: Để tạo Car, Lấy Car class, dựa trên đó tạo Car object object object Class 28

Lớp và Đối tượng class Car { int velocity; public Accelerator() { } public int Speedmotor() { class Program { } staitc void Main () { Car a = new Car(); Car b = new Car(); Car c = new Car(); } } } 29

3 NGUYÊN TẮC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 30

3 nguyên tắc lập trình hướng đối tượng Đóng gói (Encapsulation) và Giao diện (Interface) Ẩn chi tiết của lớp (Đóng gói), chỉ cung cấp các phương thức cần thiết để dùng (Giao diện) Thừa kế (Inheritance) Tạo lớp mới thừa kế lớp đã có Đa hình (Polymorphism) Khả năng tạo ra các lớp dẫn xuất, cài đặt cùng một method của lớp cơ sở theo những cách khác nhau (tùy từng lớp dẫn xuất) 31

Encapsulation và Interface Đóng gói (Encapsulation) Ẩn chi tiết công việc thực thi của lớp Trong OOP, Đóng gói là Ẩn đi các property Ẩn đi một số method Ẩn đi các chi tiết hiện thực của method Giao diện (Interface) Bản điều khiển cho phép dùng đối tượng Trong OOP, Giao diện là tập các method cho phép dùng object 32

Encapsulation và Interface 33

Thừa kế (inheritance) Thừa kế (inheritance) Tạo lớp mới thừa kế lớp đã có Một cách tái sử dụng các lớp bằng cách mở rộng lớp đã có thành một lớp cụ thể Lớp đã có : base class, superclass, parent class Lớp mới : derived class, subclass, child class 34

Thừa kế (inheritance) 35

Thừa kế (inheritance) 36

Thừa kế (inheritance) 37

Thừa kế (inheritance) Thừa kế: Lớp con thừa kế Các dữ liệu của lớp cha Các hàm của lớp cha Ngoài ra, lớp con còn Có những dữ liệu riêng của lớp con Có những hàm riêng của lớp con 38

Đa hình (polymorphism) Đa hình (polymorphism) Poly = many Morphism = forms Các lớp con cài đặt cùng một hàm của lớp cha, nhưng mỗi lớp con có cách cài đặt khác nhau 39

Đa hình (polymorphism) 40

MỘT SỐ PHẦN MỀM VIẾT THEO OOP Photoshop Adobe Acrobat NotePad++ VLC (VideoLan) Camtasia Studio Paint.NET Visual Studio Microsoft Office (Word, Excel, ) SQL Server Sky client 41

BÀI TẬP Sử dụng các lớp có sẵn: Lớp Random Viết chương trình mô phỏng gieo súc sắc Hãy tiến hành thí nghiệm gieo một súc sắc N lần (N=100), tính xác suất của các mặt súc sắc trong thí nghiệm này Thay N=1.000, N=10.000, N=100.000, N=1.000.000 và quan sát kết quả (so sánh với giá trị xác suất tính trong lý thuyết). 42

BÀI TẬP Sử dụng các lớp có sẵn: Lớp Random Hãy tiến hành thí nghiệm gieo một súc sắc N lần (N=100), tính xác suất tổng hai mặt súc sắc bằng 8 trong thí nghiệm này. Thay N=1.000, N=10.000, N=100.000, N=1.000.000 và quan sát kết quả (so sánh với giá trị xác suất tính trong lý thuyết). 43

ĐIỂM CHÍNH Tại sao học OOP? OOP là gì? Object và Class 3 nguyên tắc cơ bản của lập trình hướng đối tượng Đóng gói (Encapsulation) Thừa kế (Inheritance) Đa hình (Polymorphism) 44