204111 introduction to computer programming
Download
1 / 62

204111: Introduction to Computer & Programming - PowerPoint PPT Presentation


  • 149 Views
  • Uploaded on

204111: Introduction to Computer & Programming. Dept. of Computer Engineering Faculty of Engineering, Kasetsart University Bangkok, Thailand http://kdl.cpe.ku.ac.th. Lecture 1: Introduction. Computer & Program. Computers

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 204111: Introduction to Computer & Programming' - drake-banks


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
204111 introduction to computer programming

204111: Introduction to Computer & Programming

Dept. of Computer Engineering

Faculty of Engineering, Kasetsart University

Bangkok, Thailand

http://kdl.cpe.ku.ac.th

Lecture 1: Introduction


Computer program
Computer & Program

  • Computers

    • Devices for performing computations at high speeds with great accuracy

    • A machine that can be programmed to manipulate symbols.

    • Can quickly store and retrieve large amounts of data.

    • Physical components are known as "hardware". Hardware components: CPU, Memory, Mouse, Keyboard, etc.

  • Program

    • A set of instructions for a computer to follow, written in specific programming language


Computer components
Computer Components

  • CPU (Central Processing Unit)

  • Primary storage (memory)

  • Secondary storage (disks, tapes etc.)

  • Input devices (mouse, keyboard etc.)

  • Output devices (screen, printer, plotter, etc.)


Computer components1

Secondary Memory

Main

Memory

CPU

Output Devices

Input Devices

Computer Components

HD


Computer systems
Computer Systems

  • Hardware (HW)

    • Actual physical machines (equipment) that make up the computer

  • Software (SW)

    • Programs written for a specific application are often called softwares.


Computer languages
Computer Languages

  • Computer languages categories:

    • Machine language

      • Binary Code

    • Assembly language

    • High-Level Language

      • Uses English-like language

      • Machine independent

      • Portable

      • Examples: Pascal, C, C++, Java, Fortran, . . .

Computer can execute only the machine language


High level languages
High-Level Languages

  • Procedural Language

    • Fortran

    • Cobol

    • Basic

    • C

    • Pascal

  • Object-Oriented Language

    • C++

  • Functional Language

    • Lisp

  • Logic Language

    • Prolog


The translation process
The translation Process

Compiler

Executable

Program

Source Program


รู้จักกับคอมพิวเตอร์

  • คอมพิวเตอร์ (Computer) คือ เครื่องคำนวณอิเล็กทรอนิกส์ที่สามารถทำงานคำนวณผลและเปรียบเทียบค่าตามชุดคำสั่งด้วยความเร็วสูงอย่างต่อเนื่องและอัตโนมัติ

  • การที่เครื่องคอมพิวเตอร์จะทำงานได้ จำเป็นจะต้องมีชุดคำสั่งกำกับ เพื่อให้คอมพิวเตอร์ทำงานได้ผลตามที่ต้องการ


การคำนวณทางคณิตศาสตร์การคำนวณทางคณิตศาสตร์

เครื่องคิดเลข

การคำนวณทางวิทยาศาสตร์

การจำลองสถานการณ์ (simulation)

การแก้ไขปัญหาทางวิทยาศาสตร์ (scientific problem solving)

การควบคุมธุรกรรม

ATM

การจัดการประมวลผลบัญชีลูกค้า

การจัดการงานทั่วไป

การทำเอกสาร

การนำเสนอผลงาน

การสื่อสาร

โทรศัพท์มือถือ

โทรคมนาคม

ความบันเทิง

ดนตรี

ภาพยนตร์

Graphic

เกมส์

คอมพิวเตอร์ในงานด้านต่างๆ


ส่วนประกอบของคอมพิวเตอร์ส่วนประกอบของคอมพิวเตอร์

  • ระบบคอมพิวเตอร์ ประกอบด้วย 2 ส่วนหลัก ได้แก่

  • ฮาร์ดแวร์ Hardware : Microprocessor , Monitor, Hard disk , Keyboard , Mouse , Printer , etc

  • ซอฟต์แวร์ Software : Window XP , Linux Microsoft word, Internet Explorer, Adobe Photoshop, Ragnarok Online


Computer components2

Secondary Memoryส่วนประกอบของคอมพิวเตอร์

Main

Memory

CPU

Output Devices

Input Devices

Computer Components

HD


Microprocessor
Microprocessorส่วนประกอบของคอมพิวเตอร์

  • เป็นเหมือนส่วนสมองหลักของเครื่องคอมพิวเตอร์

  • ทำหน้าที่ประมวลผลทางคณิตศาสตร์ (บวก ลบ คูณ หาร) และทางตรรกศาสตร์

    ( and or not)

  • Intel / AMD


Memory
Memoryส่วนประกอบของคอมพิวเตอร์

  • เป็นที่เก็บข้อมูลในเครื่องคอมพิวเตอร์ ก่อนที่จะนำข้อมูลนั้นมาประมวลผลใน microprocessor

  • หน่วยความจำในเครื่องคอมพิวเตอร์แบ่งออกเป็น 2 ประเภท

    • หน่วยความจำหลัก (Main Memory)

    • หน่วยความจำสำรอง (Secondary Memory)


RAMส่วนประกอบของคอมพิวเตอร์

หน่วยความจำหลัก

  • เก็บชุดคำสั่งและข้อมูลต่างๆ

  • ไมโครโปรเซสเซอร์จะอ่านข้อมูลจากหน่วยความจำชนิดนี้เป็นหลัก

  • RAM (Random Access Memory)

    • สามารถเขียนหรืออ่านข้อมูลได้

    • เก็บข้อมูลไม่ถาวร ข้อมูลจะสูญหายหากขาดไฟเลี้ยง

  • ROM (Read Only Memory)

    • อ่านข้อมูลได้อย่างเดียว

    • เก็บข้อมูลได้ถาวร แม้ว่าจะไม่มีไฟเลี้ยง


Secondary memory

Thumb Driveส่วนประกอบของคอมพิวเตอร์

Secondary Memory

  • ความจุสูงขึ้นกว่าหน่วยความจำหลัก

  • แต่ความเร็วในการถ่ายเทข้อมูลน้อยกว่า

  • Hard disk

  • Floppy disk

  • Zip drive

  • Thumb drive

  • CD-ROM


Data representation
Data Representationส่วนประกอบของคอมพิวเตอร์

  • ข้อมูลในคอมพิวเตอร์จะถูกเก็บอยู่ในรูปของ bit

    • bit = binary digit (เลขฐานสอง)

      • มีค่าเป็น 0 หรือ 1 (ตามสถานะของไฟฟ้า)

    • byte = 8 bits

    • ข้อมูล 1 byte ในเครื่องคอมพิวเตอร์อาจจะมีความหมายแทนข้อมูลได้หลากหลายประเภท

      • ตัวอย่างเช่น ข้อมูล 1 byte เก็บค่าดังนี้ 011000012

      • ข้อมูลดังกล่าวอาจจะแทนอักขระ ‘a’หรือแทนตัวเลข 97 ก็ได้

      • ขึ้นอยู่กับโปรแกรมคอมพิวเตอร์ ว่าจะตีค่า 1 byte นั้นเป็นอะไร


I o devices
I/O Devicesส่วนประกอบของคอมพิวเตอร์

  • เป็นอุปกรณ์ที่ทำหน้าที่ติดต่อสื่อสารระหว่างคอมพิวเตอร์กับโลกภายนอก

  • Keyboard

  • Mouse

  • Monitor

  • Printer

  • Speaker


Computer components3

Secondary Memoryส่วนประกอบของคอมพิวเตอร์

Main

Memory

CPU

Output Devices

Input Devices

Computer Components

HD


การทำงานของเครื่องคอมพิวเตอร์การทำงานของเครื่องคอมพิวเตอร์

  • ชุดคำสั่งและข้อมูลจะถูกเก็บอยู่ในหน่วยความจำ

  • CPU (microprocessor)ดึงข้อมูลและชุดคำสั่งมาจาก

    • หน่วยความจำ

    • อุปกรณ์อินพุต (Keyboard , Mouse , etc.)

  • CPU ประมวลผลข้อมูล

  • CPU นำข้อมูลผลลัพธ์ที่ถูกประมวลผลแล้วไปยัง

    • หน่วยความจำ

    • อุปกรณ์เอาท์พุต (Monitor , Printer , etc.)


โปรแกรมคอมพิวเตอร์การทำงานของเครื่องคอมพิวเตอร์

  • เราไม่สามารถทำงานต่างๆได้ โดยอาศัยเพียงแต่เครื่องคอมพิวเตอร์อย่างเดียว

  • เครื่องคอมพิวเตอร์สามารถทำงานได้รวดเร็ว แต่ไม่สามารถที่จะตัดสินใจหรือแก้ปัญหาใดๆได้ด้วยลำพัง

  • มนุษย์จะต้องเป็นผู้กำหนดและสั่งการคอมพิวเตอร์ให้ทำงานให้ได้อย่างที่มนุษย์ต้องการ

    • โปรแกรมคอมพิวเตอร์ หมายถึง ชุดลำดับของคำสั่งที่กำหนดให้คอมพิวเตอร์ทำการประมวลผลข้อมูลเพื่อให้แก้ปัญหา และทำงานได้อย่างที่ต้องการ

    • Programming = Designing and writing a computer program.


ชนิดของภาษาในการเขียนโปรแกรมชนิดของภาษาในการเขียนโปรแกรม

  • There are 3 kind of programming languages

    • Machine language (0’s and 1’s)

    • Assembly language (mov, and, or, etc…)

    • High-level language (nearly like human word)

  • Computer itself understands only Machine language.


The translation process1
The translation Processชนิดของภาษาในการเขียนโปรแกรม

Compiler

/Interpreter

Executable

Program

Source Program


Language translator
Language translatorชนิดของภาษาในการเขียนโปรแกรม

Interpreter

/ Compiler

……

main:

pushl %ebp

movl %esp, %ebp

subl $8, %esp

andl $-16, %esp

movl $0, %eax

subl %eax, %esp

subl $8, %esp

pushl $.LC0

……..

….

00011000110001110

00110001110101111

00011111111110001

11011100001011011

……

Assembler

class MainClass

{

public static void Main(string[] args)

{

Console.WriteLine("Hello World!");

}

}

Machine

Machine language

High-level language

Assembly language

Hello World!

_


Interpreter
Interpreterชนิดของภาษาในการเขียนโปรแกรม

  • Read high-level language , translate , and then execute one command at a time.

Inter-

preter

a

b

c

….

writeln(‘a’);

writeln(‘b’);

writeln(‘c’);

….

0100100

0100101

0100110

Source


Compiler
Compilerชนิดของภาษาในการเขียนโปรแกรม

  • Read all program at a time.

  • Translate into executable file (machine language)

library

Compiler

Linker

….

writeln(‘a’);

writeln(‘b’);

writeln(‘c’);

….

object

file

Source

a

b

c

….

0100100

0100101 0100101

.....

Exe file


ขั้นตอนในการเขียนโปรแกรมขั้นตอนในการเขียนโปรแกรม

  • วิเคราะห์ปัญหา (Analysis)

    • ระบุปัญหาที่ต้องการจะแก้ไข

    • แบ่งปัญหานั้นออกเป็นปัญหาย่อยๆ

    • ค้นหาแนวคิดและวิธีการที่จะแก้ปัญหานั้นๆ

  • พัฒนาโปรแกรม (Implementation)

    • เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ โดยอาศัยแนวคิดการแก้ปัญหาที่คิดไว้ก่อนหน้า

    • Compile โปรแกรมที่เขียนขึ้นให้เป็นภาษาที่เครื่องอ่านได้

  • ตรวจสอบและแก้ไขจุดผิดพลาด (Testing & Debugging)

    • ทดลองรันโปรแกรมและตรวจสอบการทำงาน

    • หากโปรแกรมทำงานไม่ถูกต้อง หาจุดผิดให้พบ

    • แก้ไขจุดผิดพลาดและทดลองใหม่ จนกว่าโปรแกรมจะทำงานได้ถูกต้อง


Analysis
Analysisขั้นตอนในการเขียนโปรแกรม

  • Example : Circle area problem

  • Input

    • circle radius (รัศมี)

  • Process

    • calculate circle area

  • Output

    • Circle area


Analysis1
Analysisขั้นตอนในการเขียนโปรแกรม

  • Pseudo-code (รหัสเทียม)

    • ใช้คำที่มีความหมาย คนอ่านแล้วเข้าใจ

    • ขั้นตอนการทำงานเป็นแบบคอมพิวเตอร์

  • Example

Program Circle

Begin

read circle radius

area = Pi * radius * radius

write circle area

End.


Test debug
Test & Debugขั้นตอนในการเขียนโปรแกรม

  • Compile โปรแกรมที่เขียนขึ้นแล้วทดลองรัน

  • ตรวจสอบผลการทำงาน

  • แก้ไขข้อผิดพลาด (bugs)


Implement
Implementขั้นตอนในการเขียนโปรแกรม

  • เขียนโปรแกรมโดยใช้ภาษา Assembly หรือภาษาระดับสูง

  • เราสามารถใช้แนวคิดเดียวกัน เขียนโปรแกรมได้หลายภาษา

  • Example

class MainClass

{

public static void Main(string[] args)

{

const double pi = 3.1416;

int radius;

double area;

radius = int.Parse(Console.ReadLine());

area = pi*radius*radius;

Console.WriteLine(area);

}

}

#define PI 3.1416f

void main()

{

int radius;

float area;

scanf(“%d”,&radius);

area = PI * radius * radius;

printf(“%f”,area);

}


Test debug1
Test & Debugขั้นตอนในการเขียนโปรแกรม

  • There are 2 kinds of bugs

class MainClass

{

public static void Main(string[] args)

{

const double pi = 3.1416;

int radius;

double area;

radius = int.Parse(Console.ReadLine());

area = pi * raddius * radius;

Console.WriteLine(area);

}

}

class MainClass

{

public static void Main(string[] args)

{

const double pi = 3.1416;

int radius;

double area;

radius = int.Parse(Console.ReadLine());

area = pi * radius;

Console.WriteLine(area);

}

}

Syntax bug

Semantic bug


Programming languages
Programming Languagesขั้นตอนในการเขียนโปรแกรม

  • The computer really only knows its own machine language or assembly language. Any high level languages would have be translated into machine language.

  • An assembler translates an assembly language program into machine language.

  • A compiler translates a high-level language into machine language.

  • A source program is written in a high-level programming language. (.cs, .pas, .c)

  • An executable program is the machine language version of a source program. (.exe)


Why c
Why C# ?ขั้นตอนในการเขียนโปรแกรม

  • provides a teaching language that highlights concepts common to all computer languages


C program
C# Programขั้นตอนในการเขียนโปรแกรม

  • C# is an object-oriented programming language.

  • Everything must be in some class.

  • A program is a set of class declarations.

โฮ่ง

แดง

ด่าง

ขาว

สุนัข

class


A simple c program
A simple C# Programขั้นตอนในการเขียนโปรแกรม


Output
Outputขั้นตอนในการเขียนโปรแกรม


C program what did you see
C# Program: What did you see?ขั้นตอนในการเขียนโปรแกรม

  • Grouping using { }

  • Statement ending with ;

  • Various keywords: using, namespace, class, public, static, void

  • "Hello World!"


C program class declaration
C# Program: class declarationขั้นตอนในการเขียนโปรแกรม

class MainClass

{

public static void Main(string[] args)

{

const double pi = 3.1416;

int radius;

double area;

radius = int.Parse(Console.ReadLine());

area = pi*radius*radius;

Console.WriteLine(area);

}

}

  • Class name

  • Member declarations

    • Data member

    • Method (or functions)

  • In the beginning of the class, we usually use only one method: Main --- which is where our program starts.


Basic grouping
Basic grouping { }ขั้นตอนในการเขียนโปรแกรม

  • { curly brackets are used to group things together in C# }

  • { they come in pairs, and { they can { be nested } } }

  • Example:


Semi colon
Semi-colon;ขั้นตอนในการเขียนโปรแกรม

  • In C#, every statement must end in a semicolon.

  • Compiler uses semicolon to find where one statement ends. It does not use line breaks or any textual markers.

  • For example, the following are the same programs (for the compiler):

using System;

namespace Hello{

class MainClass {

public static voidMain(string[] args) {

Console.WriteLine("Hello World!");

}

}

}

using System;namespace Hello{ class MainClass {public static void Main(string[] args) {Console.WriteLine(

"Hello World!");}}}


Various keywords
Various keywordsขั้นตอนในการเขียนโปรแกรม

  • Various keywords help the C# compiler to understand our programs

abstract as base bool break byte case

catch char checked class const continue decimal

default delegate do double else enum event

explicit extern false finally fixed float for

foreach goto if implicit in int interface

internal is lock long namespace new null

object operator out override params private protected

public readonly ref return sbyte sealed short

sizeof stackalloc static string struct switch this

throw true try typeof uint ulong unchecked

unsafe ushort using virtual void volatile while


Keywords
Keywordsขั้นตอนในการเขียนโปรแกรม

  • namespace - Programs are organized using “namespace.”

  • using - specifies external namespaces that the program uses.

  • class- defines class. (remember that our program is one of the classes.)


Keywords1
Keywordsขั้นตอนในการเขียนโปรแกรม

  • Other keywords we are using:

    void, public, static, etc.

  • At this point, it is difficult to understand them fully. You just have to remember the patterns that we use them.


Comments
/* comments */ขั้นตอนในการเขียนโปรแกรม

  • Comments are inserted into C# program by enclosing it within /* and */ , or after //

  • Comments are ignored by the computer, but helpful to explain the program

using System;

class MyClass {

// This is an example class,

// and this is a line comment…

static void Main() {

/* Sometimes, we love to comment things,

and anything inside thes markers are

comments */

Console.WriteLine("Hello!"); // chill~ chill~~

}

}


Method main
Method Mainขั้นตอนในการเขียนโปรแกรม

  • is a method where the program for our class starts.


Main declaration
Main declarationขั้นตอนในการเขียนโปรแกรม

  • Here is how we declare our Main function (inside our class):

static voidMain()

{

// โปรแกรมของเราจะอยู่ต่อจากนี้ …

}

Remark: there are 4 ways to define Main function.

We use the simplest one.

static void Main() {...}

static void Main(string[] args) {...}

static int Main() {...}

static int Main(string[] args) {...}


Inside method main

public ขั้นตอนในการเขียนโปรแกรมstatic void Main(string[] args)

{

const double pi = 3.1416;

int radius;

double area;

radius = int.Parse(Console.ReadLine());

area = pi*radius*radius;

Console.WriteLine(area);

}

Inside method Main

  • Variable declarations

  • Statements


Variables
Variablesขั้นตอนในการเขียนโปรแกรม

  • Example:

    Variables are used to store “data.”

  • They must be declared before used.

  • To declare them, we must specify their “types.”

int radius;

double area;


Dataขั้นตอนในการเขียนโปรแกรม

DATA - information that must be supplied to a program before it can produce results.

Basic data types:

  • int - whole numbers

    • 34 -90 0 112

  • double - numbers with fractions

    • 34.345 0.0

  • bool

    • true or false

  • char - Computer character set

  • string - strings


Dataขั้นตอนในการเขียนโปรแกรม

  • Data has to be stored and referenced.

  • Easiest way to refer to data is to give it a symbolic name or identifier

  • Data in a program can be classified as Constant dataand Variable data.


Variables1
Variablesขั้นตอนในการเขียนโปรแกรม

Variable is a container for a data value.

  • A variable is created via a declaration where both its name and type are specified

  • Every variable has a name, type and value.


Variable declaration
Variable declarationขั้นตอนในการเขียนโปรแกรม

  • Syntax:

    <type> <name>;

  • Examples:

  • We can also assign its initial value. E.g.,

int radius;

double area;

int a,b,c;

bool isokay;

int k = 200;

bool done = false;


Assignments
Assignmentsขั้นตอนในการเขียนโปรแกรม

  • Syntax:

    <variable> = <value>;

  • Examples:

area = radius*radius*3.14;

a = b + c + d;


Constants
Constantsขั้นตอนในการเขียนโปรแกรม

  • Constants can be used in programs. E.g., 5, 10.4, "Hello" are constants.

  • There are also named constants, which are declared in the same way as variables, but with additional const keyword.

  • Examples:

const double pi = 3.1416;

const string message = "Hello";


Statements
Statementsขั้นตอนในการเขียนโปรแกรม

  • Examples:

  • The first two are assignments.

  • The third one writes the value of “area” to the screen.

radius = int.Parse( Console.ReadLine() );

area = pi*radius*radius;

Console.WriteLine(area);


Methods again
Methods (again)ขั้นตอนในการเขียนโปรแกรม

  • We use various methods from various classes.

  • Console and int are standard classes.

Console.WriteLine

int.Parse

Console.ReadLine


Example
Exampleขั้นตอนในการเขียนโปรแกรม

using System;

namespace Hello

{

class MainClass

{

static void Main(string[] args)

{

double price, money;

int n;

double leftover;

Console.Write("Enter candy price: ");

price = double.Parse(Console.ReadLine());

Console.Write("Enter number of candies: ");

n = int.Parse(Console.ReadLine());

Console.Write("Enter your money :");

money = double.Parse(Console.ReadLine());

leftover = money - price * n;

Console.WriteLine("You have {0} bahts left.", leftover);

}

}

}


Writeline
WriteLineขั้นตอนในการเขียนโปรแกรม

  • Output formatting

Console.WriteLine("You have {0} bahts left.", leftover);


Identifiers
Identifiersขั้นตอนในการเขียนโปรแกรม

  • Symbolic names for program elements

    • Program name

    • Variable name

    • Data Type name

    • Etc.

  • Rules for constructing identifiers

    • Letters, digits, and under score (_)

    • First character letter

    • Can be long (63 char)

    • Reserved words (keywords) are not allowed


Identifier examples
Identifier examplesขั้นตอนในการเขียนโปรแกรม

  • Valid examples

    • score, count, total

    • score1, count99, total09

    • score_1, count_99, total_99

    • myStudentId

    • my_student_id

  • Invalid examples

    • point&score

    • total-number

    • 9points


Notes for identifiers
Notes for Identifiersขั้นตอนในการเขียนโปรแกรม

  • Identifiers are case-sensitive

    • mystudentId

    • Mystudentid

    • MYSTUDENTID


ad