INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.

1 INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterow...
Author: Klara Mroziński
0 downloads 3 Views

1 INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case (wybór),

2 INSTRUKCJE cd iteracyjne (pętle, obliczenia cykliczne) 1. for „dla”,2. while „dopóki”, 3. do ... while „wykonuj dopóki” sterujące przebiegiem programu 1. break „przerwij”, 2. continue „kontynuj”, 3. return „zwróć wartość i powróć”, 4. goto „skocz”

3 INSTRUKCJE proste (pusta, przypisania), pusta ;przypisania y=x; masa=gestosc*objetosc; z+=2; złożone { }, { x=4*a; y=pow(x,5); for(i=1;i<10;i++) {z=exp(y)/i; cout< }

4 Instrukcja warunkowa if „jeżeli”if (wyrażenie-warunkowe) instrukcja1 [else instrukcja2] Pozwala na zbadanie warunku w programie, a następnie na kontynuowanie obliczeń zależnie od spełnienia tego warunku. Komputer w ten sposób podejmuje decyzje.

5 Instrukcja warunkowa niepełnaif „jeżeli” warunek Instrukcja NIE TAK

6 cout<<”sukces”<Słowo kluczowe „if” Warunek podlegający sprawdzaniu Instrukcja wykonywana po spełnieniu warunku if (w>0) { cout<<”sukces”< }

7 Instrukcja warunkowa pełnaif - else „jeżeli” warunek Instrukcja 1 Instrukcja 2 NIE TAK

8 cout<<”sukces”<Słowo kluczowe „if” Warunek podlegający sprawdzaniu Instrukcja 1 wykonywana po spełnieniu warunku Instrukcja 2 wykonywana po niespełnieniu warunku if (w==0) { cout<<”sukces”< } else cout<<”pech”<

9 OPERATORY RELACYJNE OPERATOR ZNACZENIE < Mniejszy <= Mniejszy lub równy > Większy >= Większy lub równy == Równy != Nierówny

10 OPERATORY LOGICZNE OPERATOR ZNACZENIE ! Negacja && Koniunkcja || Alternatywa

11 Instrukcja warunkowa if - else zagnieżdżona

12 cout<<”sukces”<Słowo kluczowe„if” Warunek podlegający sprawdzaniu Instrukcja1 „if” zagnie-żdżona wykonywana po spełnieniu warunku Instrukcja2 wykonywana po niespełnieniu warunku Warunek 1 instrukcji1 zagnieżdżonej „if” podlegający sprawdzaniu if (w>0&&k!=0) { if (w1>10) cout<<”sukces”< } else cout<<”moze byc”< cout<<”pech”<

13 Równanie kwadratowe – fragment schematu blokowegodelta<0 delta==0 x0= x1= x2= T N Drukuj x0 Drukuj x1, x2 Drukuj „brak rozw.”

14 Równanie kwadratowe – fragment kodu źródłowegocout<<"Podaj wartosc liczby a, b i c"< cin>>a>>b>>c; delta=b*b-4*a*c; if (delta<0) cout<<"brak rozwiązania"< else if (delta==0) { x0=-b/(2*a); cout<<"x0= "< } x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a); cout<<"x1="< cout<<"x2="<

15 Instrukcja wyboru switchswitch (wyrażenie-sterujące) { case E1:instrukcj1; break; case E2:instrukcj2; . . . default : instrukcjan;} Jest to instrukcja sterująca umożliwiająca rozgałęzienie na wiele dróg w programie w zależności od wartości pewnego wyrażenia-sterującego zwanego selektorem.

16 E1: E2: E3: default: wyrażenie sterujące (selektor) Instrukcja1Instrukcjan

17 Instrukcja wyboru switchskładnia Wartość selektora ustala pierwszą instrukcję do wykonania Gdy selektor nie przyjmuje żadnej dopuszczalnej wartości od S1-Sn-1 Instrukcje do wyboru switch (selektor) { case E1: instrukcja1; case E2: instrukcja2; case E3: instrukcja3; ... case En-1: instrukcjan-1; default: instrukcjan; }

18 Instrukcja wyboru switch Wykonanie tylko określonej grupy instrukcjiskładnia Wykonanie tylko określonej grupy instrukcji Wartość selektora ustala instrukcję do wykonania Gdy selektor nie przyjmuje żadnej dopuszczalnej wartości od S1-Sn-1 Instrukcje do wyboru Przerwanie wykonania instrukcji switch (selektor) { case E1: instrukcja1; break; case E2: instrukcja2; case E3: instrukcja3; ... case En-1: instrukcjan-1; default: instrukcjan; }

19 Wykrywanie samogłosek #include #include Wykrywanie samogłosek   #include #include   #define info “To jest samogloska.”   main() { char litera; cout<<”Podaj litere: ”; cin>>litera; litera=toupper(litera); switch (litera) { case ‘A’: cout<

20 switch (litera) { case ‘A’: cout<switch (litera) { case ‘A’: cout<

21 Instrukcja iteracyjna (pętla) while (wyrażenie-warunkowe)while „dopóki” while (wyrażenie-warunkowe) instrukcja wewnętrzna Do wykonywania pętli w których wykonanie działań jest uzależnione od spełnienia na początku warunku powtarzania działań (warunek sprawdzany na początku) .

22 Instrukcja iteracyjna (pętla) while „dopóki” Instrukcja wewnętrznawarunek Instrukcja wewnętrzna

23 licznik++ licznik=licznik+1 licznik=0; while (w<100) { w=w+10;Dopóki warunek jest spełniony instrukcja wewnętrzna pętli będzie wykonywana Przy każdym przejściu przez pętlę licznik jest inkrementowany Instrukcje wewnętrzne pętli Zerowanie licznika przed pętlą licznik=0; while (w<100) { w=w+10; cout<<”w=”< licznik++; } licznik++ licznik=licznik+1

24 Wyznaczanie sumy i iloczynu ciąguliczb całkowitych zakończonego liczbą zero   #include main() { int liczba, suma=0, iloczyn=1; cout<<”Podaj pierwsza liczbe”<>liczba; while (liczba!=0) { suma+=liczba; iloczyn*=liczba; cin>>liczba; } cout<<”Suma liczb wynosi” <

25 suma=suma+liczba; iloczyn=iloczyn*liczba;  while (liczba!=0) { suma+=liczba; iloczyn*=liczba; cin>>liczba; }

26 Instrukcja iteracyjna (pętla) do while „wykonuj dopóki”instrukcja wewnętrzna while (wyrażenie-warunkowe); Do wykonywania pętli w których wykonanie działań jest uzależnione od spełnienia warunku zakończenia działań (warunek sprawdzany na końcu).

27 Instrukcja iteracyjna (pętla) do while „wykonuj dopóki”Instrukcja wewnętrzna warunek

28 cout<<”w=”<Dopóki warunek nie jest spełniony instrukcja wewnętrzna pętli będzie wykonywana Przy każdym przejściu przez pętlę licznik jest inkrementowany Instrukcje wewnętrzne pętli Zerowanie licznika przed pętlą licznik=0; do { w=w+10; cout<<”w=”< licznik=licznik+1; } while (w<100);

29 cout<Drukowanie cyfr od #include  main() { int cyfra=0; do cout< cyfra++; } while (cyfra<10); return(0);

30 Instrukcja iteracyjna (pętli) for „dla”,for (wyrażenie-inicjujące; wyrażenie-warunkowe; wyrażenie-zwiększające) instrukcja wewnętrzna do wykonywania pętli o określonej (znanej) liczbie powtórzeń - stosuje się głównie do wykonania operacji na tablicach

31 Instrukcja iteracyjna (pętli) for „dla”, Instrukcja wewnętrznafor (w-i;w-w;w-z) Instrukcja wewnętrzna

32 Instrukcja iteracyjna for „dla”składnia Słowo kluczowe „for” Wartość początkowa licznika Wartość końcowa licznika Licznik pętli Instrukcja wewnętrzna pętli for (i=0; i<10; i++) { cout< } Inkrementowanie i dekrementowanie licznika pętli i=i+1 i=i-1 i++ i-- i+=1 i-=1 i+=krok i-=krok

33 Zamiana na duże litery for (x=0; x  #include #include #include #define max 30 main() { char nazwa [max]; int x; cout<<”Podaj nazwe: ”< cin>>nazwa; for (x=0; x nazwa[x]=toupper(nazwa[x]); } cout < return(0);

34 Zagnieżdżanie jednej instrukcji ”for” w drugiej #include  main() { int linia, gwiazdki, ostatnia; cout<<”Ile gwiazdek chcesz wyswietlic w ostatniej linii ?”< cin>>ostatnia; for (linia=1; linia<=ostatnia; linia++) for (gwiazdki=1; gwiazdki<=linia; gwiazdki++) cout<<”*”; } cout<  return(0); * * * * * * * * * * * * * * *

35 Instrukcja break „przerwij”Powoduje opuszczenie aktualnego poziomu pętli lub instrukcji wyboru. Dopuszczalne zastosowanie tylko w tych instrukcjach.

36 Program wyznaczenia iloczynu ciągu liczb całkowitych o określonej długości różnych od zera. #include main() { int liczba, iloczyn=1, dlugosc, i; int poprawny=1; cout<<”Podaj dlugosc ciagu liczb”< cin>>dlugosc; cout<<”Podaj liczby”< for (i=1; i<=dlugosc; i++) cin>>liczba; if (liczba==0) poprawny=0; break; } iloczyn*=liczba; if (poprawny) cout<<”Iloczyn liczb wynosi:”< else cout<<”Blad danych”; return 0;

37 Instrukcja continue „kontynuuj”Dopuszczalne zastosowanie tylko w instrukcjach iteracyjnych, powoduje przejście do następnej iteracji.

38 Program wyznaczenia iloczynu liczb całkowitych tylko różnych od zera znajdujących w ciągu liczb o określonej długości. #include main() { int liczba, iloczyn=1, dlugosc, i; cout<<”Podaj dlugosc ciagu liczb”< cin>>dlugosc; cout<<”Podaj liczby”< for (i=1; i<=dlugosc; i++) cin>>liczba; if (liczba==0) cout<<”Przejdz do kolejnej liczby ciagu”; continue; } iloczyn*=liczba; cout<<”Iloczyn liczb różnych od zera wynosi:”< return(0);

39 Instrukcja return „zwróć wartość i powróć” return wyrażenie;return 0; return wynik; return (x*x-4); Napotkanie instrukcji powoduje zakończenie wykonywania funkcji. Jeśli zwraca ona wartość, wykonanie instrukcji spowoduje zwrócenie wartości funkcji.

40 Instrukcja skoku goto „skocz” goto etykieta;Umożliwia przekazanie sterowania do określonego miejsca wewnątrz aktualnie wykonywanej funkcji (zasada) programu. Etykieta określa miejsce w programie, do którego ma nastąpić skok. goto etykieta1; ... etykieta1: { instrukcje } NIE NALEŻY NADUŻYWAĆ MNIEJSZA CZYTELNOŚĆ PROGRAMU

41 Program wyznaczenia iloczynu ciągu liczb całkowitych o określonej długości różnych od zera. #include #include main() { int liczba, iloczyn=1, dlugosc, i; cout<<"Podaj dlugosc ciagu liczb"< cin>>dlugosc; cout<<"Podaj liczby"< for (i=1; i<=dlugosc; i++) cin>>liczba; if (liczba==0) goto E1; iloczyn*=liczba; } cout<<"Iloczyn liczb wynosi:"< E1:cout<<"Blad danych"; getch(); return 0;

42 celem uniknięcia błędów i zwiększenia przejrzystości programówWSKAZÓWKI SKŁADNIOWE celem uniknięcia błędów i zwiększenia przejrzystości programów Po słowach kluczowych robimy odstęp. Instrukcję pustą zapisujemy zawsze w oddzielnym wierszu. Stosujemy wcięcia tekstu. Ustawiamy edytor (czcionka, wygląd, kolor). Dwie szkoły pisania nawiasów klamrowych do grupowania instrukcji: while (n<10) { while (n<10) { } }

43 niektóre Biblioteki standardowe#include funkcje realizujące operacje we/wy (podejście proceduralne typowe dla języka C) printf ( ); scanf ( ); #include funkcje umożliwiające sterowanie strumieniami we/wy (podejście obiektowe typowe dla języka C++) cout< cin>>a;

44 #include niektóre Biblioteki standardowe #include #include funkcje umożliwiające zarządzanie ekranem w trybie tekstowym clrscr(); getch(); textcolor(newcolor); gotoxy(x,y); wherex(); wherey();

45 niektóre Biblioteki standardowe#include funkcje umożliwiające dodatkowe sterowanie strumieniami we/wy w C++ setw(n) setfill(z) setprecision(n) setbase(n) dec hex #include funkcje umożliwiające obliczenia w zbiorze liczb rzeczywistych pow(x,y) log(x) log10(x) exp(x) sin(x) cos(x) tan(x) floor(x) ceil(x) fmod(x,y)

46 niektóre Biblioteki standardowe#include funkcje umożliwiające obliczenia w zbiorze liczb zespolonych #include funkcje umożliwiające klasyfikacje danych całkowitych tolower(z); toupper(z); #include funkcje umożliwiające operacje na łańcuchach (tablicach znaków) strlen (z); strcpy (z1,z2);