300 likes | 623 Views
P r o grammēšanas pamati C ++. 1. C++ programmas struktūra. #include <stdio.h> #include <iostream> main(){ printf("Hello World!!!<br>"); system("pause"); }. Programmas galveno daļu (to, kas veic darbības) veido instrukcijas, kuru pieraksts beidzas ar semikolu.
E N D
1. C++ programmas struktūra #include <stdio.h> #include <iostream> main(){ printf("Hello World!!!\n"); system("pause"); } • Programmas galveno daļu (to, kas veic darbības) veido instrukcijas, kuru pieraksts beidzas ar semikolu. • Programmas instrukcijas var tikt apvienotas blokos, ko ietver figūriekavas {}. • Parasti figūriekavu bloks ir kādas funkcijas daļa, kuras nosaukums ir rindā pirms figūriekavu bloka – šajā gadījumā tā ir funkcija main. • Programma var sastāvēt arī no vairākām funkcijām, bet vismaz viena funkcija – funkcija main noteikti atrodas programmā, un tieši no šīs funkcijas sākas programmas izpilde.
1. C++ programmas struktūra #include <stdio.h> #include <iostream> main(){ printf("Hello World!!!\n"); system("pause"); } • C++ programma praktiski nav iedomājama bez kādu bibliotēku iekļaušanas (tas tādēļ, ka, atšķirībā no daudzām citām programmēšanas valodām, pat relatīvi ikdienišķas lietas, kā, piemēram, ievads, izvads un failu apstrāde, nav iekļautas valodas kodolā, no programmēšanas viedokļa gan tas ir tikai sintakses jautājums). Vienas bibliotēkas iekļaušanu nodrošina komanda #include, pēc kā seko bibliotēkas vārds stūra iekavās <>. • šajā gadījumā tiek iekļautas bibliotēkas <stdio.h> un <iostream>, kas atbild par standarta ievadi un izvadi (no klaviatūras, uz ekrāna), • ir divu veidu standarta bibliotēkas – vecā un jaunā tipa, vecās beidzas ar “.h”, bet jaunās nē.
2. Kompilēšanas pamatprincipi Programmas rakstīšanas mērķis parasti ir iegūt izpildāmu moduli (piemēram .exe failu), kas veic noteiktas darbības. Lai no programmas iegūtu izpildāmo moduli, nepieciešams kompilators. Kompilators(compiler) ir datorprogramma, kas pārveido noteiktā programmēšanas valodā uzrakstītu programmu par izpildāmu moduli (vispārīgā gadījumā – par programmu)
3. Komentāri Komentāri ir tādi programmas fragmenti, kas neietekmē programmas darbību (resp., izpildāmā koda veidošanu), jo kompilators tos ignorē. Komentārus programmētājs lieto, lai pierakstītu papildus informāciju pie programmas, kas, piemēram, vēlāk ļautu vieglāk lasīt programmu. Valodā C++ ir divu veidu komentāri: Vienas rindas komentāri – sākas ar simbolu pāri // un beidzas līdz ar rindas beigām. Vairāku rindu komentāri – sākas ar simbolu pāri /* un beidzas ar simbolu pāri */. Nākošais piemērs (nākamajā slaidā) demonstrē abu veidu komentārus:
3. Komentāri /********************************************** ** ** Programma “Hello, World” ** Izveidota 11.01.2008 ** Autors Mr. X ** **********************************************/ #include <stdio.h> //vecā veida bibliotēka #include <iostream> //jaunā veida bibliotēka main(){ printf("Hello World!!!\n"); system("pause"); }
int cena; mainīgā tips identifikators jeb nosaukums 5. Mainīgo definēšana Mainīgais (variable) ir vieta datora atmiņā, kur tiek glabāti noteikta tipa dati un kuru programmas tekstā identificē noteikts vārds – identifikators. int cena,summa;- šādi definē divus mainīgos viena un tā paša tipa int cena=100;- šādi definē mainīgo un uzreiz tam piešķir vērtību Mainīgo nosaukumos lielie un mazie burti tiek uzskatīti par atšķirīgiem int name; int Name; - tie ir divi dažādi mainīgie
5. Mainīgo definēšana • Mainīgo nosaukumi nedrīkst: • saturēt punktu, komatu, un citas zīmes, bet var lietot zemsvītru • sāktiesarciparu • būt C++ rezervētie vārdi (main, intu.t.t.)
6. Datu izvade Standarta izvade printf("Izvadāmais teksts \n"); printf(" "); - izvadoperators, teksts, kurš būs ierakstīts pēdiņās tiks izvadīts uz ekrāna \n – kursora pārnešna uz jaunu rindu jeb pāreja uz nākošo rindu printf(“%d \n“,a); - izvadīs int tipa mainīgo a %d – veselie skaitļi (short int, int) %f – decimāldaļskaitļi (float, double) %c – simbols (char) %s – simbolu virkne(char[]) %u – veselie skaitļi (unsigned int)
6. Datu izvade #include <stdio.h> #include <iostream> main(){ int a=1; printf("Mana %d. programma\n",a); system("pause"); } Rezultāts: Mana 1. programma #include <stdio.h> #include <iostream> main(){ int year=1,month=12; printf("%d Year = %dMonth\n",year,month); system("pause"); } Rezultāts: 1 Year = 12 Month
3 6 9 . 5 5 6. Datu izvade Formatēta izvade int a=36; printf(“%5d \n“,a); %5d – veselā skaitļa izvadīšanai tiek rezervētas 5 pozīcijas un skaitlis tiek izlīdzināts gar labo malu float b=9.548; printf(“%6.2f \n“,b); %6.2d– decimāldaļskaitļa izvadīšanai tiek rezervētas 6 pozīcijas ieskaitot komatu un 2 pozīcijas aiz komata notiek noapaļošana)
7. Piešķiršanas operators, aritmētiskas izteiksmes Piešķiršana(assignment) ir vērtības ierakstīšana mainīgajā. x = 5; x = y = z; Aritmētiska izteiksme(numeric expression) ir konstrukcija, kas sastāv no skaitliskām operācijām un skaitliskiem operandiem (vērtībām), un kura pēc šo operāciju izpildes izrēķina skaitlisku vērtību. x = (y + z) * 5;
7. Skaitliskās funkcijas Lai varētu izmantot skaitliskās funkcijas ir jāpieslēdz bibliotēka <math.h>. sqrt (arg); Funkcija sqrt() atgriež argumenta arg kvadrātsakni. pow (base, p); Funkcija pow() atgriež vērtību, ko iegūst, argumentu base kāpinot pakāpē p. fabs (arg); Funkcija fabs() atgriež argumenta arg absolūto vērtību (modulis). round (num); Funkcija round() atgriež noapaļotu argumenta num vērtību (noapaļošana). floor (num); Funkcija floor() atgriež lielāko veselo skaitli, kas mazāks vai vienāds par argumentu num (decimāldaļas atmešana). ceil (num); Funkcija ceil() atgriež mazāko veselo skaitli, kas lielāks vai vienāds par argumentu num (noapaļošana uz augšu). sin (arg); Funkcijas sin() u.c. realizē attiecīgās trigonometriskās funkcijas vai to hiperboliskos variantus (sin, cos, tan, asin, acos, atan, sinh, cosh, tanh). Argumenta vērtība tiek mērīta radiānos. exp (arg); Funkcija exp() atgriež argumenta arg eksponenti (skaitļa e kāpinājumu pakāpē arg).
7. Skaitliskās funkcijas a=round(3.6); // 4 b=floor(3.6); // 3 c=ceil(3.1); // 4 18:4 = 4 un atlikumā 2 e=18 / 4; //4, veselo skaitļu dalījuma veselā daļa d=18 % 4; // 2, veselo skaitļu dalījuma atlikums
7. Skaitliskās funkcijas Piemērs: #include <stdio.h> #include <math.h> #include <iostream> main(){ float a, b=3.6, c=2.3; a=(sqrt(4)+floor(b))/c; printf("%.2f\n",a); system("pause"); }
7. Papildus piešķiršanas operatori Valodā C++ eksistē papildus piešķiršanasoperatori,pierakstasaīsināšanai. Piemēram: x = x + 5;vietā var rakstītx += 5; Analoģiski: i++; // i = i + 1; ++i; // i = i + 1; i--; // i = i – 1; --i; // i = i – 1; i+=k; // i = i + k; i-=k; // i = i – k; i*=k; // i = i * k; i/=k; // i = i / k; Piebilde: Pie tam x += 5;izpildās ātrāk nekāx = x + 5; Piemērs: #include <stdio.h> #include <iostream> main(){ int a=6,b=3; a-=b; printf("%d\n",a); system("pause"); }
jā nē Nosacījums izpildās? Operators 1 Operators 2 8. Nosacījuma jeb sazarojuma operators IF Programmas izpildes gaitā var rasties situācija, kad pēc noteikta nosacījuma ir jāpilda viena vai otra darbību kopa. Šim nolūkam izmanto nosacījuma operatoru IF. IF (nosacījums) operators1; else operators2; Ja izpildās nosacījums tad operators1, ja nē tad operators2
8. Nosacījuma jeb sazarojuma operators IF Piemērs: #include <stdio.h> #include <iostream> main(){ int x; printf("Ievadi skaitli: "); scanf(“%d”,&x); if (x<20) printf (“Skaitlis ir mazaaks par 20”); else printf (“Skaitlis ir lielaaks par 19”); system("pause"); }
8. Nosacījuma jeb sazarojuma operators IF Salīdzināšanas operācijas
-10 25 8. Nosacījuma jeb sazarojuma operators IF Lai nosacījuma izteiksme saturētu vairākās pārbaudes, tad ir jāizmanto loģiskās izteiksmes andvai or Loģiskā izteiksme or (vai) – pieraksts C++ || Loģiskā izteiksme and (un) – pieraksts C++ && if (x<-10 || x>=25) if (x>-10 && x<=25)
8. Nosacījuma jeb sazarojuma operators IF Ja pie noteikta nosacījuma ir jāizpilda vairāki operatori, tad tie ir jāliek {} #include <stdio.h> #include <iostream> main(){ int x,y,z; printf("Ievadi veselu skaitli: "); scanf("%d",&x); if (x>20) { y=x-25; z=20*y; } else { y=x-25; z=3+y; } printf ("z=%d\n",z); system("pause"); }
8. Nosacījuma jeb sazarojuma operators IF Ja ir jāizmanto vairāki nosacījumi, tad var izmantot konstrukciju: if(nosacījums) .... else if(nosacījums) .... else .... #include <stdio.h> #include <iostream> main(){ int x; printf("Ievadi gadalaika numuru: "); scanf("%d",&x); if (x==1) printf("Ziema\n"); else if (x==2) printf("Pavasaris\n"); else if (x==3) printf("Vasara\n"); else if (x==4) printf("Rudens\n"); else printf("Taada gadalaika nav\n"); system("pause"); } Bet šāda veida nosacījumu realizēšanai labāk ir izmantot switch .... case nosacījuma operatoru.
9. Nosacījuma jeb sazarojuma operators SWITCH Programma pieprasa ievadīt gadalaika numuru un izvada, kas tas par gadalaiku ir. #include<stdio.h> #include<iostream> main(){ int x; printf ("Ievadi gadalaika numuru:"); scanf("%d",&x); switch (x){ case 1: printf("Ziema\n");break; case 2: printf("Pavasaris\n");break; case 3: printf("Vasara\n");break; case 4: printf("Rudens\n");break; default: printf("Taada gadalaika nav\n"); } system("pause"); }
9. Nosacījuma jeb sazarojuma operators SWITCH Programma pieprasa ievadīt mēneša numuru un izvada, kas tas par gadalaiku ir. #include<stdio.h> #include<iostream> main(){ int x; printf ("Ievadi meenesha numuru:"); scanf("%d",&x); switch (x){ case 12: case 1: case 2: printf("Ziema\n");break; case 3: case 4: case 5: printf("Pavasaris\n");break; case 6: case 7: case 8: printf("Vasara\n");break; case 9: case 10: case 11: printf("Rudens\n");break; default: printf("Taada meenesha nav\n"); } system("pause"); }
9. Nosacījuma jeb sazarojuma operators SWITCH Programma pieprasa ievadīt burtu un izvada dažas valstis, kas ar šo burtu sākas. #include<stdio.h> #include<iostream> main(){ char x; printf ("Ievadi burtu "); scanf("%c",&x); switch (x){ case 'i': printf("Igaunija\n");break; case 'a': printf("Austrija,Anglija\n");break; case 'l': printf("Latvija,Lietuva\n");break; default: printf("Nezinu\n"); } system("pause"); }