• Tidak ada hasil yang ditemukan

Computers and Programming CPC

N/A
N/A
Protected

Academic year: 2018

Membagikan "Computers and Programming CPC"

Copied!
37
0
0

Teks penuh

(1)

Computers and Programming CPC

The 1

st

lecture

Jiří Šebesta

http://www.urel.feec.vutbr.cz/~sebestaj/CPC

Complete sources are available on the Web pages:

Sumber dari :

(2)

TOPIC

1. Numeric systems

2. Basic structure of the program

3. Algorithms

(3)

Numeric systems (1/3)

General expression of integer number :

(4)

Numeric systems (2/3)

Used symbols are 0 – 9 and letters from alphabet for systems with basis over 10:

e.g. for hexadecimal system:

A = 10

B = 11

C = 12

D = 13

E = 14

F = 15

Example for hexadecimal number expression:

Hex. number 0x3CF0 represents decimal value:

(5)

Numeric systems (3/3)

- storage in memory (generally according to standard IEEE754)

       

S E   Mm

x e

2 1

2

1 2 1 1

S is sign bit (+ = 0; - = 1)

E is binary value of exponent

(6)

Basic structure of the program (1/10)

What is a computer program? How to create a computer program?

Assembler = readable machine code using name abbreviations derived from instruction

(7)

Basic structure of the program (2/10)

inserted header files (libraries)

#include <math.h> // precompiled header files

#include <stdio.h>

int main(void) // header of main function

{ // body of main function

char c; // variable declaration

printf("ahoj"); // printing fuct. (stdio.h)

scanf("%c", &c);// wait until key pressed (stdio.h)

return 0; } notices header of main function variable declaration body of function calling of library

(8)

Basic structure of the program (3/10)

• Application solutions in C:

CONSOLE APPLICATION (independent on platform) – ANSI C

APPLICATION DEPENDENT ON PLATFORM (for given OS with utilize offered functions, for given microcontroller with utilize its peripheral) – extensive libraries, e.g. API, MFC, Active X

• Integrated Development Environment IDE

– complete set of tools for application creation including wizards for project setting, e.g. MS Visual Studio

(9)

Basic structure of the program (4/10)

• Code::Blocks – our programming tool

Project new project

open a previously created project

console application = text output in

DOS box

projects for microcontrollers

(10)

Basic structure of the program (5/10)

(11)

Basic structure of the program (6/10)

(12)

Basic structure of the program (7/10)

Kind of compiler setting

GNU – open free software

(13)

Basic structure of the program (8/10)

Debug version vs. release version

(14)

Basic structure of the program (9/10)

debugging and executing of an application – menu DEBUG

start of debugging, program stops at

breakpoints

stepping in program including jumps to functions, by Step out

given function can be early leaved

stepping in program according to the source code without

jumps to functions breakpoint inserting to given

row (where the cursor actually is placed)

Příklad: Ex01.c

(15)

Basic structure of the program (10/10)

(16)

Algorithms (1/6)

Algorithms defines a procedure of operations with data

Fundamental aspects of algorithm:

Finiteness – algorithm consists of elementary steps (of procedure or process), whereas their number must be finite

Necessatarianism – algorithm must be punctually and clearly defined

Inputs/outputs – algorithm has to defined unambiguous inputs and outputs (data, e.g. given structure of a file)

Effectiveness – algorithm must be effective and

optimally used system capability (effectiveness in point of view operation time vs. occupation of operation

(17)

Algorithms (2/6)

Versatility – algorithm has to be able to work with required data set in required range

Basic entities of algorithm: • Variables

• Start of algorithm • End of algorithm • Steps of algorithm • Subroutines

• Conditions (binary relations) • Decision making

• Sequences • Cycles

(18)

Algorithms (3/6)

Resources for algorithm definition (description):

• Lexical – native form: textual (intellectual) guide, order, law – often not too exact definition, then transcription to programming language is impossible

Graphical – flowchart – transparent visualization of

complex algorithms including branching by using defined flowchart symbols with description and oriented

flowlines

Symbolic – algorithm description by exactly defined syntax (key word of programming language;

(19)

Algorithms (4/6)

Flowchart - symbols:

Algorithm start or algorithm end

Common statement

Conditional branching

Cycle with defined number of repetitions

Cycle with condition in the end

Cycle with condition in the beginning

Manual input (e.g. from keyboard) Output displaying

File processing

Data saving to a file

Subroutine

Joiner

(20)

Algorithms (5/6)

• Program that compute roots of

any quadratic equation:

ax

2

+ bx + c

=

0

Read coefficients from

keyboard. If roots are complex,

print error message.

a

ac

b

b

y

2

4

2 2 , 1

(21)

Algorithms (6/6)

float a, b, c, y1, y2, r;

printf("a = "); scanf("%f", &a); printf("b = "); scanf("%f", &b); printf("c = "); scanf("%f", &c); getchar();

r = b*b-4*a*c; if(r>=0)

{

y1 = (-b+sqrt(fabs(r)))/(2*a); y2 = (-b-sqrt(fabs(r)))/(2*a); printf("\n 1st root: %.3f", y1); printf("\n 2nd root: %.3f", y2); }

else

printf("\n Result is not real");

(22)

Data and variables (1/15)

Data – I (Input), – O (Output) , auxiliary (used for internal results)

Data sources a targets

– file (I/O – binary, text), keyboard (I), console (O), printer (O), communication port (I/O) – e.g. serial port,

USB, LPT

- often the functions for programming with data sources and targets are defined as functions for files

Kind of data (variables) – numerical (integer or rational), characters and strings (string is array of characters terminated by character NULL), arrays (one-dimensional = vectors,

multidimensional = matrix, 3D matrix, tensor …), pointer (reference to position in memory), structure (defined

(23)

Data and variables (2/15)

Named place in memory with the desired size (in bytes)

GLOBAL – valid in whole program

LOCAL – valid in body of function (only)

Example: Ex03.c

// precompiled header files

#include <stdio.h> // standard inputs and outputs

int a = 5; // global variable

int main(void) // main function

{

int b = 10; // local variable

char c;

printf("global: %d\r\n ", a); printf("local: %d\r\n ", b); scanf("%c ", &c);

(24)

Data and variables (3/15)

Type Bits Range

unsigned char 8 X  <0, +255>

char 8 X <-128, +127>

short int 16 X <-32.768; +32.767>

unsigned int 32 X <0; +4.294.967.295>

int 32 X <-2.147.483.648; +2.147.483.647>

float 32 1,18 10-38 < |X| < 3,40 10+38

double 64 2,23 10-308 < |X| < 1,79 10+308

long double 80 3,37 10-4932 < |X| < 1,18 10+4932

(25)

Data and variables (4/15)

Numeric types – fixed point for integral numbers

- unsigned number - storing in memory

(26)

Data and variables (5/15)

Example unsigned char (8 bits)

(27)

Data and variables (6/15)

Complementary code

One is subtracted from absolu-te value of coded number and negated

Example for signed char (8 bits) –

complementary coded

Simpler hardware

(28)

Data and variables (7/15)

Numerical floating point types

- storage in memory (generally according to IEEE754 standard)

       

S E   Mm

x e

2 1

2

1 2 1 1

S is sign bit

E is binary value in exponent

(29)

Data and variables (8/15)

Numerical floating point types

          

 127 23

2 1

2

1 M

x S E  

       

 1023 52

2 1

2

1 M

x S E

(30)

Data and variables (9/15)

Float (4 bytes)

 

   

 

 

 127 23

2 1

2

1 M

(31)

Data and variables (10/15)

Double (8 bytes)

   

 

 

 1023 52

2 1

2

1 M

(32)

Data and variables (11/15)

Types of variables – array

Example: Ex04.c

#include "stdio.h"

int main(void) {

int A[5] = {0, 1, 2, 3, 4};

int B[3][2] = {0, 1, 2, 3, 4, 5}; int i,j; char c;

for( i=0; i<5; i++)

printf("A[%d] = %d\r\n", i, A[i]); B[0][0] = A[4];

for( i=0; i<3; i++) {

for( j=0; j<2; j++)

printf("B[%d,%d] = %d\r\n", i, j, B[i][j]); }

scanf("%c", &c); return 0;

(33)

Data and variables (12/15)

• String:

an array of characters

(in memory: 1 byte/character – ASCII coding)

• NTS

(Null Terminated Strings) : the last character of

string

null

– spec. notation v C/C++

’\0’

(34)

Data and variables (13/15)

(35)

Data and variables (14/15)

• Special characters:

\b - backspace BS

\f - form feed FF (also clear screen)

\n - new line NL

\r - carriage return CR

\t - horizontal tab HT

\v - vertical tab (not all versions)

\“ - double quotes (not all versions)

\' - single quote character '

\\ - backslash character \

\ddd - character ddd, where ddd is an ASCII code

given in octal base

\xhhh - character hhh, where hhh is an ASCII code

(36)

Data and variables (15/15)

Types of variables – pointer (= address of variable in memory)

Example: Ex05.c

#include "stdio.h"

int main(void) {

float x = 3.14, y = 2.27;

float* p; // address of float variable

p = &x; // address of x to p

*p = y; // content of y on address in p

(37)

TOPICS OF THE NEXT LECTURE

1. Expressions

2. Arithmetic conversions

3. Operators

4. Statements

if-else

and

for

Referensi

Dokumen terkait

Non-essential amino acids can be manufactured by your body, however, your body must have the right combination of essential amino acids and supporting nutrients to optimize

Politisasi hukum terjadi karena elite yang memegang kekuasaan selalu mempunyai kepentingan yang ingin dikukuhkan dalam bentuk produk hukum, sementara

3. Apakah metode Role Playing dapat meningkatkan hasil belajar ranah psikomotor siswa mata pelajaran IPS materi persiapan kemerdekaan Indonesia dan perumusan

Pemeriksaan semen segar secara mikroskopik dilakukan dengan pengamatan menggunakan mikroskop yang meliputi pengamatan gerak (motilitas) massa, gerak individu,

tercapainya prestasi yang maksimal dalam cabang olahraga Bola Voli. Selain memperhatikan komponen fisik, para pelatih atau pembina

Asimetri dental dapat terjadi karena faktor lokal seperti, kehilangan gigi bawaan dan kebiasaan seperti menghisap ibu jari dan juga dapat disebabkan karena ketidakseimbangan

Berdasarkan pengamatan Anda selama dua minggu terakhir, nilailah sikap setiap peserta didik Anda dengan member skor 4, 3, 2, atau 1 pada lembar observasi dengan ketentuan sebagai

 Dengan luring tampilan pada layar yang sering kali menggeser menu ftur menjadi tidak terlihat atau transparan ini terkadang membuat pengguna agak canggung untuk menyentuh