Programmanas valodu pamati Programmanas valodas Lekt M Lukjanska

  • Slides: 61
Download presentation
Programmēšanas valodu pamati Programmēšanas valodas Lekt. M. Lukjanska

Programmēšanas valodu pamati Programmēšanas valodas Lekt. M. Lukjanska

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 2 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 3 Pascal l Borland 7.

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 3 Pascal l Borland 7. 0 Programmēšanas valodas

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 4 Pascal l Dev Pascal

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 4 Pascal l Dev Pascal (Pieejams: http: //www. bloodshed. net/devpascal. html ) Programmēšanas valodas

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 5 C l Dev C/C++

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l 5 C l Dev C/C++ (Pieejams: http: //www. bloodshed. net/devcpp. html ) Programmēšanas valodas

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l l 6 Laboratorijas darbu ietvaros

Programmēšanas valodu pamati Izstrādes vides šī priekšmeta ietvaros l l 6 Laboratorijas darbu ietvaros programmu izejas kodus saglabāt sava kursa mapē: l D: StudentProgramesanas_valodas 2011IDKD 2 l D: StudentProgramesanas_valodas 2011IIDCM 012 Katram studentam ir ieteicams izveidot savu mapi Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 7 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Programmēšanas valodu pamati Pirmā programma: ‘Sveiki, pasaule!’ Pascal (*1. Programma ‘Sveiki, pasaule!’*) PROGRAM L

Programmēšanas valodu pamati Pirmā programma: ‘Sveiki, pasaule!’ Pascal (*1. Programma ‘Sveiki, pasaule!’*) PROGRAM L 3_P 1_Sveiki_Pasaule; USES CRT; BEGIN Writeln ('Sveiki, pasaule!'); (* Izvade uz ekrāna *) Readln; (* Ievade no lietotaja *) END. 8 C /* 1. Programma ‘Sveiki, pasaule!’ */ #include <stdio. h> main() { printf("Sveiki, pasaule!"); /* Izvade uz ekrāna */ getch(); /* Ievade no lietotaja */ } Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 9 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Programmas struktūra Apraksts 10 C Pascal l Apraksts: 1. Nosaukums 2. Bibliotēkas 3. Sākums

Programmas struktūra Apraksts 10 C Pascal l Apraksts: 1. Nosaukums 2. Bibliotēkas 3. Sākums (BEGIN) – darbības Beigas (END) 4. Apakšprogrammas l funkcijas un procedūras l Apraksts: 1. ---2. Preprocesora komandas 3. Sākums ( { ) - darbības Beigas ( } ) 4. Apakšprogrammas • funkcijas un procedūras Programmēšanas valodas

Programmas struktūra Pascal programmas struktūra 11 Pascal PROGRAM Programmas. Nosaukums; USES (* Bibliotēkas *)

Programmas struktūra Pascal programmas struktūra 11 Pascal PROGRAM Programmas. Nosaukums; USES (* Bibliotēkas *) Deklarēšanas bloks CONST (* Konstantes *) TYPE (* Datu tipi *) VAR (* Mainīgie *) (* Apakšprogrammu definīcijas *) BEGIN (* Operatori *) END. (* Apakšprogrammas *) Pamatbloks Apakšprogrammu bloks Programmēšanas valodas

Programmas struktūra C programmas struktūra 12 C #/* Preprocesora komandas: bibliotēkas u. c. */

Programmas struktūra C programmas struktūra 12 C #/* Preprocesora komandas: bibliotēkas u. c. */ /* Apakšprogrammu definīcijas */ main () { /* Konstantes */ /* Mainīgie */ /* Operatori */ } /* Apakšprogrammas */ Programmas pamatbloks (galvenā funkcija) Apakšprogrammu bloks Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā

Programmēšanas valodu pamati Kopsavilkums l l l l Izstrādes vides šī priekšmeta ietvaros Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 13 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Mainīgais un konstante Riņķa līnijas garuma aprēķināšana l 14 Atcerēsimies, kā aprēķina riņķa līnijas

Mainīgais un konstante Riņķa līnijas garuma aprēķināšana l 14 Atcerēsimies, kā aprēķina riņķa līnijas garumu konstante mainīgie l Riņķa līnijas garuma aprēķināšanas algoritma blokshēma Sākums Deklarē un inicializē konstanti: PI Ievada rādiusu: r Aprēķina riņķa līnijas garumu: L Izvada L Beigas Programmēšanas valodas

Mainīgais un konstante Mainīgais 15 Datora atmiņas bloks Programmēšanas valodas

Mainīgais un konstante Mainīgais 15 Datora atmiņas bloks Programmēšanas valodas

Mainīgais un konstante Mainīgais l Definīcija: l datora atmiņas bloks, kuram uz programmas izpildes

Mainīgais un konstante Mainīgais l Definīcija: l datora atmiņas bloks, kuram uz programmas izpildes laiku piešķir l l identifikatoru (nosaukumu), datu tipu vērtību - var mainīties programmas izpildes laikā Svarīgi: l l l 16 pirms mainīgos izmantot programmā tie ir jādeklarē un jāinicializē mainīgos var atkārtoti izmantot un mainīt to vērtības programmas izpildes laikā, cik bieži nepieciešams Piemēri cilvēkvalodā: l gaisa temperatūra, vēja ātrums, sporta spēļu rezultāti, koeficienti kvadrātvienādojumos utml. Programmēšanas valodas

Mainīgais un konstante Konstante 17 Datora atmiņas bloks Programmēšanas valodas

Mainīgais un konstante Konstante 17 Datora atmiņas bloks Programmēšanas valodas

Mainīgais un konstante Konstante l Definīcija: l datora atmiņas bloks, kuram uz programmas izpildes

Mainīgais un konstante Konstante l Definīcija: l datora atmiņas bloks, kuram uz programmas izpildes laiku piešķir l l identifikatoru (nosaukumu) datu tipu vērtību - piešķir programmas kompilācijas laikā (pirms programmas izpildes) un parasti programmas izpildes laikā nemaina Svarīgi: l l 18 konstantes parasti definē gadījumos, kad kāda noteikta vērtība programmā jāizmanto vairākkārtīgi Piemēri: l gaismas ātrums, skaitlis Pī, gravitācijas spēks utml. Programmēšanas valodas

Mainīgais un konstante Mainīgais vs Konstante 19 Mainīga programmas izpildes laikā mainīgais Nemainīga programmas

Mainīgais un konstante Mainīgais vs Konstante 19 Mainīga programmas izpildes laikā mainīgais Nemainīga programmas izpildes laikā konstante Datora atmiņas bloki Programmēšanas valodas

Mainīgais un konstante Programmas veidošanas process – mainīgais un konstante Programma Teksta redaktors (Text

Mainīgais un konstante Programmas veidošanas process – mainīgais un konstante Programma Teksta redaktors (Text Editor) Programmas teksts. pas. c. cpp. asm Kompilators (Compiler) Ielādes modulis. exe 20 konstante Ielādētājs (Loader) Programmas izpilde mainīgais No: J. Bule, RTK kursa “Programmēšanas valodas" lekciju materiāli, RTK, 2010. Programmēšanas valodas

Mainīgais un konstante Deklarēšanas sintakse l Mainīgais: l l Pascal l VAR <mainīgā identifikators>

Mainīgais un konstante Deklarēšanas sintakse l Mainīgais: l l Pascal l VAR <mainīgā identifikators> : <mainīgā tips>; l no angļu val. variable - ‘mainīgs’ C l l 21 <mainīgā tips> <mainīgā identifikators>; Konstante: l l Pascal l CONST <konstantes identifikators> : <konstantes tips> = <vertiba>; l no angļu val. constant - ‘nemainīgs’ C l const <konstantes tips> <konstantes identifikators> = <vertiba>; Programmēšanas valodas

Mainīgais un konstante Programmas piemērs Pascal (* 2. Programma ‘Rinka linijas garuma aprekinasana’ *)

Mainīgais un konstante Programmas piemērs Pascal (* 2. Programma ‘Rinka linijas garuma aprekinasana’ *) PROGRAM L 3_P 2_Mainigie_Konstantes; CONST (* Konstantes deklaresana un inicializesana *) PI : real = 3. 14; VAR r : real; l : real; (* Mainigo deklaresana *) (* Rinka linijas radiuss *) (* Rinka linijas garums *) BEGIN (* Pamatbloks *) r : = 5; l : = 2 * PI * r; Writeln('Rinka linijas garums: ', l ); Writeln('PI: ', PI ); Writeln('Radiuss: ', r ); Readln; (* Ievade no lietotaja *) END. (* Pamatbloks *) 22 C /* 2. Programma ‘Rinka linijas garuma aprekinasana’ */ #include <stdio. h> main() { /* Konstantes deklaresana un inicializesana */ const float PI = 3. 14; /* Mainigo deklaresana un inicializesana */ float r = 5; float l = 2 * PI * r; printf("Rinka linijas garums: %f n", l); printf("PI: %f n", PI); printf("Radiuss: %f n", r); /* Izvade uz ekrāna */ getch(); /* Ievade no lietotaja */ } Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 23 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Programmēšanas valodu pamati Identifikators l 24 Definīcija: l rakstzīmju virkne (nosaukums), ko izmanto kāda

Programmēšanas valodu pamati Identifikators l 24 Definīcija: l rakstzīmju virkne (nosaukums), ko izmanto kāda programmā izmantojamā objekta identificēšanai Identifikatoru tipi Rezervētie vārdi iepriekšdefinētie vārdi programmā, kuriem ir īpaša nozīme (semantika) un kuru nozīmi nevar mainīt Standartidentifikatori Lietotāja definētie identifikatori iepriekšdefinētie vārdi, kuriem ir īpaša nozīme (semantika), bet kuru nozīmi var mainīt Programmēšanas valodas

Programmēšanas valodu pamati Identifikators (turpinājums) l Sintakse: l l sākas ar latīņu alfabēta burtu

Programmēšanas valodu pamati Identifikators (turpinājums) l Sintakse: l l sākas ar latīņu alfabēta burtu vai pasvītrojumu (_). . . kuram seko simbols: burts vai cipars, vai arī pasvītrojums (_) nedrīkst saturēt šādus simbolus: !@#$%^&*()+`-={}[]: "; '<>? , . /| Svarīgi: l Pacal l mazie un lielie burti ir līdzvērtīgi C l l 25 mazie un lielie burti nav līdzvērtīgi rezervētie vārdi un to skaits var atšķirties pēc programmēšanas valodas un pēc izstrādes vides Piemēri cilvēkvalodā: l Cilvēku vārdi, uzvārdi, Studenta ID Programmēšanas valodas

Programmēšanas valodu pamati Identifikators (turpinājums) Pascal Rezervētie vārdi: Program, Begin, End. . . Standartidentifikatori:

Programmēšanas valodu pamati Identifikators (turpinājums) Pascal Rezervētie vārdi: Program, Begin, End. . . Standartidentifikatori: Input, output, read, false, char, integer. . . 26 C Rezervētie vārdi: while, int, if, else, int. . Standartidentifikatori: printf, getchar. . . Lietotāja definētie: Pareizie: vecums, studenta_id, students 1, _garums Nepareizie: vecums? , 1 programma, uz. zemi, uz zemi, program Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 27 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Vienkāršie datu tipi No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 28 Atcerēsimies -

Vienkāršie datu tipi No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 28 Atcerēsimies - Programmēšanas valodas semantikas uzdošana Skaitliskie Datu apraksta pamatlīdzekļi jeb Datu tipi Vienkāršie datu tipi Veselais Reālais Loģiskais Uzskaitāmie Simbolu Lietotāja Strukturētie datu tipi Masīvi, Ieraksti, Apvienības Programmēšanas valodas

Vienkāršie datu tipi Skaitliskie – Veselais skaitlis l Definīcija: l l 29 atbilst veselā

Vienkāršie datu tipi Skaitliskie – Veselais skaitlis l Definīcija: l l 29 atbilst veselā skaitļa jēdzienam matemātikā, bet iespējamo vērtību intervāls ir ierobežots Svarīgi: l pieejamo veselo skaitļu intervāls ir atkarīgs no datora procesora (32 vai 64 -biti) un/vai kompilatora Pascal tips C tips Intervāls (32 -bitu procesors) Aizņemtās atmiņas apjoms Shortint short int -128. . . 127 1 baits Integer int -32768. . . 32767 2 baiti Longint long int -2147483648. . . 2147483647 4 baiti Byte/char 0. . . 255 1 baits Word unsigned int 0. . . 65535 2 baiti No: [3] un [5] Programmēšanas valodas

Skaitliskie – Veselais skaitlis Deklarēšanas sintakse 30 Pascal VAR <mainīgā identifikators> : integer; Piemērs:

Skaitliskie – Veselais skaitlis Deklarēšanas sintakse 30 Pascal VAR <mainīgā identifikators> : integer; Piemērs: VAR vecums : integer; C int <mainīgā identifikators>; Piemērs: int vecums; Programmēšanas valodas

Vienkāršie datu tipi Skaitliskie – Reālais skaitlis Definīcija: l l atbilst reālā skaitļa jēdzienam

Vienkāršie datu tipi Skaitliskie – Reālais skaitlis Definīcija: l l atbilst reālā skaitļa jēdzienam matemātikā, bet iespējamo vērtību intervāls un precizitāte ir ierobežoti Svarīgi: l var attēlot: l l decimālajā pierakstā ar fiksēto komatu (punktu): 1. 234 vai -34. 5507 zinātniskajā pierakstā jeb eksponentformā ar peldošo komatu (punktu): 5. 0 E 3 vai -7. 443 E 3 ja darbību rezultāts pārsniedz augšējo robežu, tad tiek uzrādīta kļūda ja darbību rezultāts pārsniedz apakšējo robežu, tad attiecīgajam mainīgajam tiek piešķirta nulles vērtība Pascal tips Intervāls (32 -bitu procesors) C tips Intervāls (32 -bitu procesors) Aizņemtās atmiņas apjoms single 1. 5× 10− 45. . . 1. 7× 1038 float 1× 10− 37. . . 1× 1037 4 baiti double 5× 10− 324. . . 1. 7× 10308 double 1× 10− 308. . . 1× 10308 8 baiti real 2. 9× 10− 39. . . 1. 7× 1038 -- -- 6 baiti Programmēšanas valodas No: [3] un [5] l 31

Skaitliskie – Reālais skaitlis Deklarēšanas sintakse 32 Pascal VAR <mainīgā identifikators> : real; Piemērs:

Skaitliskie – Reālais skaitlis Deklarēšanas sintakse 32 Pascal VAR <mainīgā identifikators> : real; Piemērs: VAR valutas_kurss : real; C float <mainīgā identifikators>; Piemērs: float valutas_kurss; Programmēšanas valodas

Vienkāršie datu tipi No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 33 Atcerēsimies -

Vienkāršie datu tipi No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 33 Atcerēsimies - Programmēšanas valodas semantikas uzdošana Skaitliskie Datu apraksta pamatlīdzekļi jeb Datu tipi Vienkāršie datu tipi Veselais Reālais Loģiskais Uzskaitāmie Simbolu Lietotāja Strukturētie datu tipi Masīvi, Ieraksti, Apvienības Programmēšanas valodas

Vienkāršie datu tipi Uzskaitāmie - Simbolu l Definīcija: l l alfabēta simbols vai simbolu

Vienkāršie datu tipi Uzskaitāmie - Simbolu l Definīcija: l l alfabēta simbols vai simbolu virkne Svarīgi: l l l 34 char var būt jebkurš simbols, kas atrodas datora ASCII simbolu kodu tabulā lai inicializētu simbolu tipa mainīgo simbols vai simbolu virkne ir jāliek apostrofos. Piemēri: l ‘a’, ‘Liena’, ‘ 0’, ‘ 3. 14’ Programmēšanas valodas

Uzskaitāmie – Simbolu Deklarēšanas sintakse 35 Pascal var <mainīgā identifikators> : char; (* simbols

Uzskaitāmie – Simbolu Deklarēšanas sintakse 35 Pascal var <mainīgā identifikators> : char; (* simbols *) var <mainīgā identifikators> : string; (* simbolu virkne *) Piemēri: VAR jautajuma_atbildes_variants : char; VAR vards : string; C char <mainīgā identifikators>; char <mainīgā identifikators>[<izmērs = max simbolu skaits>]; Piemēri: char jautajuma_atbildes_variants ; char vards[50]; Simbolu virknes ir iespējamas vēl citas realizācijas Programmēšanas valodas

Vienkāršie datu tipi Uzskaitāmie - Loģiskais 36 Definīcija: l l mainīgais, kuram iespējamas tikai

Vienkāršie datu tipi Uzskaitāmie - Loģiskais 36 Definīcija: l l mainīgais, kuram iespējamas tikai divas vērtības: l patiess (TRUE) vai aplams (FALSE) Deklarēšanas sintakse: l Pascal VAR <mainīgā identifikators> : boolean; Piemērs: VAR parbaude : boolean; C Nav atsevišķa loģiskā datu tipa Tiek parasti realizēts ar: - integer datu tipu ( 0 = FALSE, 1 = TRUE) vai - definējot jaunu datu tipu, bool vai tml. Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 37 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Darbības No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 38 Atcerēsimies - Programmēšanas valodas

Darbības No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 38 Atcerēsimies - Programmēšanas valodas semantikas uzdošana Izteiksmes Ievades/Izvades operatori Piešķires operatori Darbību apraksta pamatlīdzekļi Sazarojumu operatori Pārejas operators Nosacījuma operatori Cikla operatori Bloki Apakšprogrammas Procedūras Pakotnes Funkcijas Programmēšanas valodas

Darbības Izteiksmes l Izšķir: l l l 39 aritmētiskās, relāciju un loģiskās izteiksmes un

Darbības Izteiksmes l Izšķir: l l l 39 aritmētiskās, relāciju un loģiskās izteiksmes un atiecīgi aritmētiskos, relāciju un loģiskos operatorus Izteiksmju operatoriem ir noteiktas izpildes prioritātes l l l Pascal valodā ir 4 prioritāšu līmeņi C valodā ir 15 prioritāšu līmeņi Vairāk par prioritāšu līmeņiem – [šeit] Programmēšanas valodas

Darbības Izteiksmes (turpinājums) l 40 Aritmētiskie operatori Pascal sintakse C sintakse Operatora nosaukums a+b

Darbības Izteiksmes (turpinājums) l 40 Aritmētiskie operatori Pascal sintakse C sintakse Operatora nosaukums a+b Saskaitīšana a–b Atņemšana a*b Reizināšana a/b Dalīšana a MOD b a%b Dalīšana pēc moduļa (atlikums) a DIV b a/b Dalīšana bez atlikuma (rezultātā veselā daļa – veselo skaitļu dalīšana) a un b jābūt integer/int tipa skaitļiem! 2 / 3 nav tas pats, kas 2. 0 / 3. 0 Programmēšanas valodas

Darbības Izteiksmes (turpinājums) l 41 Relāciju operatori Pascal sintakse C sintakse Operatora nosaukums a=b

Darbības Izteiksmes (turpinājums) l 41 Relāciju operatori Pascal sintakse C sintakse Operatora nosaukums a=b a == b Vienādība a <> b a != b Nevienādība a>b Lielāks nekā a<b Mazāks nekā a >= b Lielāks vienāds a <= b Mazāks vienāds Programmēšanas valodas

Darbības Izteiksmes (turpinājums) l l 42 Loģiskie operatori Pascal sintakse C sintakse Operatora nosaukums

Darbības Izteiksmes (turpinājums) l l 42 Loģiskie operatori Pascal sintakse C sintakse Operatora nosaukums NOT b !b Negācija (loģiskais ‘ne’) a AND b a && b Konjunkcija (loģiskais ‘un’) a OR b a || b Disjunkcija (loģiskais ‘vai’) Loģiskās operācijas rezultāts divām izteiksmēm AND OR NOT patiess AND patiess = patiess OR patiess = patiess NOT aplams = patiess AND aplams = aplams patiess OR aplams = patiess NOT patiess = aplams AND patiess = aplams OR patiess = patiess aplams AND aplams = aplams OR aplams = aplams Programmēšanas valodas

Darbības Aritmētiskas izteiksmes - programmas piemērs (Pascal) 43 PROGRAM L 3_Aritmetiskas_Izteiksmes; VAR x, y

Darbības Aritmētiskas izteiksmes - programmas piemērs (Pascal) 43 PROGRAM L 3_Aritmetiskas_Izteiksmes; VAR x, y : integer; (* Mainigo deklaresana *) summa, starpiba : real; reizinasana, dalisana : real; dalisana_bez_atlikuma, modulis : real; BEGIN (* Pamatbloks *) x : = 7; y : = 2; (* Mainigo inicializesana *) summa : = x + y; (* Summas izteiksme *) starpiba : = x - y; (* Starpibas izteiksme *) reizinasana : = x * y; (* Reizinas izteiksme *) dalisana : = x / y; (* Dalisanas izteiksme *) dalisana_bez_atlikuma : = x DIV y; (* Dalisana bez atlikuma tikai ar integer *) modulis : = x MOD y; (* Dalisanas atlikums tikai ar integer *) Writeln('Summa: ', summa ); (* Izvade uz ekrana *) Writeln('Starpiba: ', starpiba ); Writeln('Reizinasana: ', reizinasana ); Writeln('Dalisana: ', dalisana ); Writeln('Dalisana bez atlikuma: ', dalisana_bez_atlikuma ); Writeln('Modulis: ', modulis ); Readln; (* Ievadam no lietotaja *) END. (* Pamatbloks *) Programmēšanas valodas

Darbības Aritmētiskas izteiksmes - programmas piemērs (C) 44 /* 3. Programma ‘Aritmetiskas izteiksmes’ */

Darbības Aritmētiskas izteiksmes - programmas piemērs (C) 44 /* 3. Programma ‘Aritmetiskas izteiksmes’ */ #include <stdio. h> main() { /* Mainigo deklaresana un inicializesana */ int x = 7; int y = 2; float summa = x + y; float starpiba = x - y; float reizinasana = x * y; float dalisana = x / y; float modulis = x % y; /* Izvade uz ekrana */ printf("Summa: %f n", summa); printf("Starpiba: %f n", starpiba); printf("Reizinasana: %f n", reizinasana); /* x, y deklareti ka int -> veselo skaitlu dalijums */ printf("Dalisana: %f n", dalisana); printf("Modulis: %f n", modulis); /* Ievadei no lietotaja */ getch(); } Programmēšanas valodas

Programmēšanas valodu pamati Loģiskās izteiksmes - programmas piemērs (Pascal) 45 (* 4. Programma ‘Logiskas

Programmēšanas valodu pamati Loģiskās izteiksmes - programmas piemērs (Pascal) 45 (* 4. Programma ‘Logiskas izteiksmes’ *) PROGRAM L 3_Logiskas_Izteiksmes; VAR x : integer; b : boolean; (* Mainigo deklaresana *) BEGIN (* Pamatbloks *) Writeln('Ievadiet veselu skaitli intervala no 5 lidz 50: '); Readln (x); b : = ( x > 5 ) AND ( x <= 50 ); (* Parbaude ar logisko operatoru *) Writeln('Vai skaitlis atrodas intervaalaa: ', b ); Readln; (* Ievadam no lietotaja *) END. (* Pamatbloks *) Programmēšanas valodas

Programmēšanas valodu pamati Loģiskās izteiksmes - programmas piemērs (C) 46 /* 4. Programma ‘Logiskas

Programmēšanas valodu pamati Loģiskās izteiksmes - programmas piemērs (C) 46 /* 4. Programma ‘Logiskas izteiksmes’ */ #include <stdio. h> main() { /* Mainigo deklaresana un inicializesana */ int x; int b; /* Izvade uz ekrana */ printf("Ievadiet veselu skaitli intervala no 5 lidz 50: "); scanf("%d", &x); b = (( x > 5 ) == ( x <= 50 )); printf("Vai skaitlis atrodas intervala: %d", b); /* Ievadei no lietotaja */ getch(); } Programmēšanas valodas

Darbības No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 47 Atcerēsimies - Programmēšanas valodas

Darbības No 2. lekcijas ‘Ievads par programmēšanas valodām’ l 47 Atcerēsimies - Programmēšanas valodas semantikas uzdošana Izteiksmes Ievades/Izvades operatori Piešķires operatori Darbību apraksta pamatlīdzekļi Sazarojumu operatori Pārejas operators Nosacījuma operatori Cikla operatori Bloki Apakšprogrammas Procedūras Pakotnes Funkcijas Programmēšanas valodas

Programmēšanas valodu pamati Operatori l Definīcija: l l sintaktiska konstrukcija – pabeigta programmēšanas valodas

Programmēšanas valodu pamati Operatori l Definīcija: l l sintaktiska konstrukcija – pabeigta programmēšanas valodas frāze, kas raksturo konkrētu datu apstrādes etapu Svarīgi: l l 48 katra operatora beigās jāliek semikols – attiecas gan uz Pascal, gan uz C (; ) Iedalījums: l l l Piešķires operators jeb pamatoperators Ievades/Izvades operatori Sazarojumu operatori Programmēšanas valodas

Operatori Pieškires operators jeb pamatoperators 49 Definīcija: l l operators, kuru izmanto, lai mainīgajiem

Operatori Pieškires operators jeb pamatoperators 49 Definīcija: l l operators, kuru izmanto, lai mainīgajiem piešķirtu vērtību Svarīgi: l l piešķiramā vērtība var būt l l l skaitliska, simboliska, loģiska (atbilstoši mainīgā datu tipam) izteiksmes veidā mainīgajiem jāpiešķir vērtība pirms to izmantošanas programmā, pretējā gadījumā būs kļūda programmas kompilēšanā vai izpildē Sintakse: Pascal l <mainīgā identifikators> : = <vērtība>; Piemērs: r : = 10; C <mainīgā identifikators> = <vērtība>; Piemērs: r = 10; Programmēšanas valodas

Operatori Ievades operatori l Definīcijas: l l 50 Ievades operators – vērtību ievadīšanai programmas

Operatori Ievades operatori l Definīcijas: l l 50 Ievades operators – vērtību ievadīšanai programmas izpildes laikā Sintakse Pascal C (* Viena simbola ielasīšanai *) Read; getchar(); Read (<mainīgā identifikators>); <mainīgā identifikators>= getchar(); (* Rindiņas ielasīšanai līdz ‘Enter’ *) Readln; Readln (<mainīgā identifikators>); Piemērs: Readln (vecums); scanf (%<tipa identifikators>, &<mainīgā identifikators>); Piemērs: scanf (%d, &vecums); Tipa identifikatoru piemēri: %d – int tipa %f – float vai double tipa % c - char Programmēšanas valodas

Operatori Izvades operatori (Pascal) l Definīcijas: l l 51 Izvades operators – rezultātu, vērtību

Operatori Izvades operatori (Pascal) l Definīcijas: l l 51 Izvades operators – rezultātu, vērtību izvadei Sintakse: l Write (‘Teksts’, <mainīgā identifikators>); (*informācijas izvadīšana uz ekrāna*) l l Writeln; (* kursora pārvietošana uz nākamās rindas sākumu *) Writeln (‘Teksts’, <mainīgā identifikators>); (* ekvivalents Write tikai pēc informācijas izvades kursors tiek pārvietots uz nākamās rindas sākumu*) l Writeln (‘Teksts’, <mainīgā identifikators>: skaitlis); (* integer datu tipa skaitļu izvada formatēšana – skaitlis norāda ciparu skaitu, kas jāizmanto, ja mainīgajam nepeciešamas vairāk, tad skaitlis tiek ignorēts*) l Writeln (‘Teksts’, <mainīgā identifikators>: skaitlis 1: skaitlis 2); (* real datu tipa skaitļu izvada formatēšana – skaitlis 1 norāda ciparu skaitu pirms komata, skaitlis 2 – pēc komata*) Programmēšanas valodas

Operatori Izvades operatori (C) l Definīcijas: l l 52 Izvades operators – rezultātu, vērtību

Operatori Izvades operatori (C) l Definīcijas: l l 52 Izvades operators – rezultātu, vērtību izvadei Sintakse: l l printf (“Teksts %<tipa identifikators>”, <mainīgā identifikators>); (*informācijas izvadīšana uz ekrāna*) printf (“n”); (* kursora pārvietošana uz nākamās rindas sākumu *) l printf(“Teksts %<tipa identifikators> n”, <mainīgā identifikators>); (* pēc informācijas izvades kursors tiek pārvietots uz nākamās rindas sākumu*) l l Izvada formatēšanu nosaka %<tipa identifikators> Piemērs: l l int x = 10; printf (“Sodien ir %d. diena”, x); l Izvada: Sodien ir 10. diena Programmēšanas valodas

Operatori Piešķires, Ievades/Izvades operatori - programmas piemērs (Pascal) 53 Program L 3_Pieskires_Ievades_Izvades_operators; Var x,

Operatori Piešķires, Ievades/Izvades operatori - programmas piemērs (Pascal) 53 Program L 3_Pieskires_Ievades_Izvades_operators; Var x, y : integer; z : real; (* Mainigo deklaresana *) Begin (* Pamatbloks *) x : = 7; (* Piešķires operators *) z : = 7. 7799; (* Piešķires operators *) Write ('Ievadiet y vertibu: '); (* Izvades operators *) Readln (y); (* Ievades operators, kas ielasa un pieskir vertibu mainigajam y *) Writeln('Mainigo summa: ', x + y ); (* Izvades operators – parnese uz jauno rindu*) Writeln('Neformatets z: ', z ); Writeln('Formatets z: ', z: 6: 2 ); Readln; (* Ievades operators pauzei *) End. (* Pamatbloks *) Programmēšanas valodas

Operatori Piešķires, Ievades/Izvades operatori - programmas piemērs (C) 54 /* 5. Programma ‘Pieskires, Izvades,

Operatori Piešķires, Ievades/Izvades operatori - programmas piemērs (C) 54 /* 5. Programma ‘Pieskires, Izvades, Ievades operatori’ */ #include <stdio. h> main() { /* Mainigo deklaresana un inicializesana */ int x, y; float z; x = 7; /* Piešķires operators */ z = 7. 7799; /* Piešķires operators */ printf("Ievadiet y vertibu: "); scanf("%d", &y); /* Izvades operators */ /* Ievades operators */ printf("Mainigo summa: %d n", x + y); /* Izvades operators – parnese uz jauno rindu*/ printf("Formatets z ar d: %d n", z); printf("Formatets z ar f: %f n", z); /* Ievadei no lietotaja - 'Enter'*/ getch(); } Programmēšanas valodas

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais

Programmēšanas valodu pamati Kopsavilkums l l l Pirmā programma: ‘Sveiki, pasaule!’ Programmas struktūra Mainīgais un konstante Identifikators Vienkāršie datu tipi Darbības l l Izteiksmes Operatori l l l 55 Piešķires operators Izvades/Ievades operators Standartfunkcijas Programmēšanas valodas

Programmēšanas valodu pamati Standartfunkcijas – matemātiskās l 56 Apraksts: l l Kompilatoros parasti ir

Programmēšanas valodu pamati Standartfunkcijas – matemātiskās l 56 Apraksts: l l Kompilatoros parasti ir pieejamas dažāda veida iebūvētās funkcijas. Biežāk izmantojamās matemātiskās funkcijas ir apkopotas sekojošajā tabulā: Funkcijas nosaukums Pascal/C Funkcijas nozīme Argumenta datu tips Funkcijas vērtības datu tips abs(x) │x│ integer Integer sqr(x) x^2 real Real sqrt(x) Kvadrātsakne no x integer/real sin(x) Sin (x) integer/real Real cos(x) Cos(x) integer/real Real Arctg(x) integer/real Real exp(x) e^x integer/real ln(x)/log(x) ln(x) integer/real arctan(x)/atan(x) Programmēšanas valodas

Programmēšanas valodu pamati Standartfunkcijas – matemātiskās (turpinājums) Funkcijas nosaukums Pascal/C trunc(x) round(x)/ ceil(x), floor(x)

Programmēšanas valodu pamati Standartfunkcijas – matemātiskās (turpinājums) Funkcijas nosaukums Pascal/C trunc(x) round(x)/ ceil(x), floor(x) odd(x)/-random(x)/rand(), srand() Funkcijas nozīme 57 Argumenta datu tips Funkcijas vērtības datu tips [x] – skaitļa veselā daļa real integer noapaļošana līdz veselam real integer nepārības pārbaude integer boolean nejauša skaitļa iegūšana intervālā no 0 līdz x/nejauša skaitļa iegūšana integer Programmēšanas valodas

Programmēšanas valodu pamati Standartfunkcijas – simbolu apstrādei l 58 Apraksts: l Simbolu apstrāde Pascal

Programmēšanas valodu pamati Standartfunkcijas – simbolu apstrādei l 58 Apraksts: l Simbolu apstrāde Pascal Funkcijas nosaukums Funkcijas nozīme Argumenta datu tips Funkcijas vērtības datu tips ord(x) rezultātā izdod simbola x ASCII tabulas koda vērtību char integer chr(x) rezultātā izdod simbolu, kurai ir ASCII tabulas koda vērtība x integer char pred(x) nosaka elementa x iepriekšējo elementu char succ(x) nosaka elementa x nākamo elementu char Programmēšanas valodas

Programmēšanas valodu pamati Standartfunkcijas – simbolu apstrādei l 59 Apraksts: l Simbolu apstrāde C

Programmēšanas valodu pamati Standartfunkcijas – simbolu apstrādei l 59 Apraksts: l Simbolu apstrāde C char c ='A'; printf ("%c", c); // rezultāts A printf ("%d", c); // rezultāts 65 printf ("%c", c + 32); // rezult a printf ("%d", 'B' – 'A')); // result 1 Programmēšanas valodas

Programmēšanas valodu pamati 60 l l l Tālāk – Sazarojumu operatori Paldies par uzmanību!

Programmēšanas valodu pamati 60 l l l Tālāk – Sazarojumu operatori Paldies par uzmanību! Jautājumi? Programmēšanas valodas

Programmēšanas valodu pamati Izmantotie resursi 61 1. R. Zaks, Introduction to Pascal: Including Turbo

Programmēšanas valodu pamati Izmantotie resursi 61 1. R. Zaks, Introduction to Pascal: Including Turbo Pascal, 2 nd ed. , Sybex, 1986, p. 464. 2. A. Balode, Programmēšanas pamati. Valoda Turbo Pascal, Zvaigzne ABC, 2009, p. 232. 3. Programmēšanas pamati Pascal vidē, RTU Būvmehānikas katedra, Rīga, RTU, 2005 4. J. Bule, RTK kursa “Programmēšanas valodas" lekciju materiāli, RTK, 2010. 5. C Variable types and declaration, Wikipedia. [saite] 6. Read and Readln, Borland Pascal Wiki. [saite] 7. Use of getch(), getche() and getchar() in C. [saite] Programmēšanas valodas