Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMaja Szczepańska Został zmieniony 9 lat temu
1
Wstęp do programowania Wykład 2 Dane, instrukcje, program
2
Programowanie imperatywne Program składa się z dwóch podstawowych części: Dane Instrukcje operujące na danych Z każdą daną związany jest pewien typ, który definiuje wartości, jakie może przyjmować dana. Typy proste i typy złożone: Typy proste: liczby całkowite, liczby rzeczywiste, znaki alfanumeryczne, wartości logiczne (prawda i fałsz). Typy złożone: buduje się je z typów prostych
3
Przykładowy program /* Niezbyt mądry program*/ #include #define X 7 using namespace std; main() { float y=5.33; float z; cin >> z; cout << y+z+X << ”\n’’; getch(); }
4
Typy proste Typ Opis int liczby całkowite short liczby całkowite krótkie long liczby całkowite długie float liczby rzeczywiste double liczby całkowite podwójnej precyzji char znaki alfanumeryczne bool wartości logiczne (false, true)
5
Zmienne Zmienna jest abstrakcyjnym bytem posiadającym cztery atrybuty: symboliczną nazwę, miejsce przechowywania, wartość i typ. Nazwa zmiennej to dowolny ciąg liter, cyfr i znaku podkreślenia, nie zaczynający się od cyfry. W programie zmienna dostępna jest poprzez swoją nazwę (czasami poprzez adres miejsca przechowywania).
6
Deklaracja zmiennych Zmienne przed użyciem muszą być zadeklarowane. Deklaracja zmiennych: zmienna 1, zmienna 2,…, zmienna n ; int a,b,c; double x; Zmienne mogą być zainicjalizowane int i=24;
7
Stałe Stałe symboliczne #define DOLNA 30 /* dolna granica*/ #define GORNA 66 /*górna granica*/ #define jest dyrektywą preprocesora. Przed kompilacją napisy DOLNA i GORNA występujące w programie zostaną zastąpione przez 30 i 60. Stałe przechowywane w pamięci const int i=25; stała „i” zachowuje się jak zmienna, ale nie wolno zmieniać jej wartości ustalonej na 25.
8
Zakres zmiennych #include int x=7; using namespace std; main() { float y=5.33; float z; cin >> z; cout << y+z+x << ”\n’’; getch(); } x – zmienna zewnętrzna, globalna dla całego programu y,z – zmienne wewnętrzne, lokalne dla funkcji main
9
Operatory arytmetyczne OperatorDziałaniePrzykład +dodawaniex+y -odejmowaniex-y *mnożeniex*y /dzielenie Jeśli oba argumenty są całkowite, zwraca wartość całkowitą x/y %Reszta z dzielenia Argumenty i wynik typu całkowitego x%y Priorytety: *, /, % +, -
10
Operatory logiczne i relacyjne OperatorDziałaniePrzykład &&logiczna koniunkcjax&&y ||logiczna alternatywax || y !logiczna negacja! x <mniejsze9<x <=mniejsze równez<=y >większei>22 >=większe równej>=3 ==równe5==5 !=różnet !=2 Priorytety: ! *, /, % +, -, >= ==, != && ||
11
Instrukcje Instrukcja przypisania Instrukcje warunkowe Instrukcje iteracyjne Instrukcja złożona Instrukcje wejścia wyjścia Instrukcja skoku
12
Instrukcja przypisania (z zmienna, E wyrażenie) z=E; x=2; b=x<y; ( b jest typu bool) z++ i ++z są skrótami z=z+1 (z musi być typu int) z-- i --z są skrótami z= z-1 z+=3 jest skrótem z=z+3 z*=5 jest skrótem z=5*z Ogólnie z op = E jest skrótem z= z op E, gdzie op to +, -, *, /.
13
Operatory przypisania W języku C napis z=E, gdzie z jest zmienną, a E jest wyrażeniem, traktowany jest jako wyrażenie, którego wartością jest wartość E. Pozwala to na zastąpienie ciągu przypisań postaci z 1 =E; z 2 =E; …; z n =E; jednym przypisaniem z 1 =z 2 =…=z n =E; Przy założeniu, że z=E jest wyrażeniem, symbol = można traktować jako operator! Podobnie operatorami są +=, -=, *=, /= oraz %= (operatory dwuargumentowe).
14
Operatory zwiększania i zmniejszania i++ oraz ++i zwiększają o 1 wartość zmiennej i. i++ zwiększa wartość zmiennej i po ewentualnym użyciu jej poprzedniej wartości, natomiast ++i zwiększa wartość i przed ewentualnym użyciu jej poprzedniej wartości. Jeśli i ma warość 5 to: x=i++ nadaje x wartość 5 x=++i nadaje x wartość 6 W obu przypadkach wartością i będzie 6. Podobne uwagi odnoszą się do operatora --.
15
Instrukcja warunkowa I if (W) I1 else I2 W – warunek logiczny, I1, I2 – instrukcje W? I1I2 if (z>0) i=j, else i=j+2 TAKNIE
16
Instrukcja warunkowa II if (W) I1 W – warunek logiczny, I1 instrukcja W? I1 if (z>0) i=j; TAKNIE
17
Zagnieżdżony if if (n>0) if (a>b) z=a; else z=b; Któremu słowu if odpowiada słowo else? Słowo else odpowiada najbliższemu słowu if, któremu nie odpowiada inne słowo else. if (n>0) if (a>b) z=a; else z=b; Jeśli chcemy, aby słowo else odpowiadało pierwszemu wystąpieniu słowa if należy użyć nawiasów klamrowych: if (n>0) {if (a>b) z=a}; else z=b;
18
Wyrażenia warunkowe Wyrażenie warunkowe ma postać W1 ? W2:W3 gdzie W1 jest wyrażeniem logicznym, natomiast W2 i W3 są dowolnymi wyrażeniami. Jeśli W1 jest prawdziwe, to wartością wyrażenia warunkowego jest W2, w przeciwnym przypadku W3. Zamiast if (a>b) z=a; else z=b; możemy napisać z=(a>b) ? a:b;
19
Instrukcja switch switch (zmienna) { case wartość 1 : I 1 case wartość 2 : I 2 …………………….. case wartość n : I n default: I }
20
Przykład użycia switch cout<<"Podaj nr dnia tygodnia: "; cin>>dzien; switch(dzien) { case 1: case 2: case 3: case 4: case 5: cout<<"Podany dzień jest dniem roboczym"; break; case 6: case 7: cout<<"Mamy weekend"; break; default: cout<<"Nie ma takiego dnia"; }
21
Instrukcje iteracyjne: while while (W) I W – warunek logiczny, I instrukcja W? I while (i>0) i-- TAK NIE
22
Instrukcje iteracyjne: do do I while (W) W – warunek logiczny, I instrukcja W? I do i++ while i<100 TAK NIE
23
Instrukcje iteracyjne: for for (I1; W; I2) IW – warunek logiczny, I1, I2, I -- instrukcje I1 W? TAK NIE I I2
24
Instrukcja for (przykład) Policzyć sumę 1+2+3+… +100 int i, suma; { suma=0; for (i=1; i<=100, i++) suma=suma+i; }
25
Instrukcja złożona { I 1 I 2 … I n } I1I1 I2I2 InIn.....
26
Instrukcja continue Instrukcja continue zawsze występuje w pętli while, do lub for. Jej efektem jest przerwanie bieżącego i wykonanie od początku następnego kroku zawierającej ją pętli. Instrukcje continue i break zaburzają strukturalność pętli. (Instrukcja strukturalna jest to instrukcja posiadająca jedno wejście i jedno wyjście.)
27
Instrukcje wejścia/wyjścia #include using namespace std; ……….. cin >> wyrażenie; // czytanie cout << wyrażenie; //pisanie
28
Instrukcja goto goto etykieta; etykieta jest nazwą umieszczoną przed jedną z instrukcji. for(…) { … if(niepowodzenie) goto błąd; ……. błąd: //wypisz komunikat i przerwij program
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.