Podstawy informatyki Zmienne, stałe Instrukcje sterujące Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Podstawy informatyki Informatyka Stosowana Zajęcia nr 2
Język ANSI C Funkcje Wykład: Programowanie komputerów
Prowadzący: mgr inż. Elżbieta Majka
Języki programowania C++
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Tablice.
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
PASCAL (2) dr Anna Kwiatkowska.
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Podstawy programowania
Podstawy informatyki 2013/2014
Podstawy informatyki (4)
Podstawy informatyki 2013/2014
Instrukcje sterujące część 1
Jerzy F. Kotowski1 Informatyka I Wykład 7 STEROWANIE c.d. n switch n Pętle.
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki 2012/2013
Instrukcje sterujące część 2
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Zadanie Dev C++.
PHP: warunki, pętle, switch, break, continue
Pętla do ... While C++ Źródło:
Programowanie strukturalne i obiektowe
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Programowanie strukturalne i obiektowe
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Programowanie obiektowe 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Programowanie obiektowe 2013/2014
Programowanie obiektowe 2013/2014
Składnia pętli do … while do instrukcja while (wyrażenie); gdzie: instrukcja – instrukcja pojedyncza lub blok instrukcji wyrażenie – wyrażenie przyjmujące.
Podstawy języka Instrukcje - wprowadzenie
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Temat 4: Typy danych.
Instrukcje wyboru.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Pętle Zajęcia 6.
Pętle – instrukcje powtórzeń
Język C/C++ Instrukcje
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Interpolacja i aproksymacja
Pakiety numeryczne Wielomiany Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Switch. Instrukcja switch Składnia instrukcji: switch (wyrażenie){ case wyrażenie_stałe1: ciąg instrukcji dla wariantu 1; break; case wyrażenie_stałe2:
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Struktury Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Szablony funkcji Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty.
Podstawy informatyki Operatory rzutowania Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Obliczenia inżynierskie w Matlabie
Dane, zmienne, instrukcje
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Podstawy informatyki Zmienne, stałe Instrukcje sterujące Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka

Wypisywanie tekstu na ekranie #include using namespace std; int main() { cout<<"AGH"<<endl; } cout – obiekt klasy ostream << - operator przesunięcia bitowego "AGH" – stała tekstowa endl – manipulator oznaczający przejście do nowej linii

Zmienne Zmienne służą do przechowywania wartości, znaków, słów, … Deklaracja – informuje kompilator że dana nazwa reprezentuje obiekt jakiegoś typu, np.: extern int a; Definicja – dodatkowo rezerwuje miejsce w pamięci, np.: int a; Inicjalizacja – definicja + przypisanie wartości, np.: int a = 5;

Nazwy zmiennych Nazwa zmiennej może być dowolnie długim ciągiem liter, cyfr oraz znaków podkreślenia, przy czym: nie może zaczynać się od cyfry, rozróżniane są duże i małe litery, nie może być słowem kluczowym.

Słowa kluczowe asmautoboolbreakcasecatch charclassconstconst_castcontinuedefault deletedodoubledynamic_castelseenum explicitexportexternfalsefloatfor friendgotoifinlineintlong mutablenamespacenewoperatorprivateprotected publicregister reinterpret_c ast returnshortsigned sizeofstaticstatic_caststructswitchtemplate thisthrowtruetrytypedeftypeid typenameunionunsignedusingvirtualvoid volatilewchar_twhile andand_eqbitandbitorcomplnot not_eqoror_eqxorxor_eq

cin #include using namespace std; int main() { int a; cout<<"Podaj liczbe"<<endl; cin>>a; cout<<"Podales liczbe "<<a<<endl; } cin – obiekt klasy istream, służy do wprowadzania informacji z klawiatury

Stałe Stałe będące liczbami całkowitymi –Zapis dziesiętny: 1105… –Zapis ósemkowy: … 09 – BŁĄD –Zapis szesnastkowy: 0x10x100x50xf…

Stałe Stałe będące liczbami zmiennoprzecinkowymi: … 2e43.2e-2-5.2e2…

Stałe Stałe znakowe: ‘a’‘x’… Znaki specjalne \bcofacz \fnowa strona \nnowa linia \rpowrót karetki \ttabulator poziomy \vtabulator pionowy \asygnał dźwiękowy cout<<”AGH\nWIMiIP”;

Stałe Stałe tekstowe: ”Hello””Hi”… ‘a’ to nie to samo co ”a”

Instrukcje sterujące Instrukcje sterujące są to polecenia służące do sterowania przebiegiem programu. W instrukcjach sterujących podejmowane są decyzje o wykonaniu tych czy innych instrukcji programu. Decyzje te podejmowane są w zależności od spełnienia lub niespełnienia jakiegoś warunku (czyli od prawdziwości lub fałszywości jakiegoś wyrażenia).

PRAWDA i FAŁSZ C++ istnieje specjalny wbudowany typ danych określający zmienne logiczne (przyjmujące wartości prawda lub fałsz): bool Zdefiniowane są dwie stałe: true i false Wartość PRAWDA lub FAŁSZ ma każde, dowolnie skomplikowane wyrażenie. wartość zero = FAŁSZ każda inna = PRAWDA

Instrukcja warunkowa if (1) Wyrażenie to coś, co ma jakąś wartość: –obiekt lub –wyrażenie. Zamiast jednej instrukcji może wystąpić blok instrukcji. if( wyr ) instr; if( wyr ) instr1; else instr2; wyr instr Tak Nie wyr instr1 Tak Nie instr2

Instrukcja if…else #include using namespace std; int main() { int a; cout << "Podaj liczbe" << endl; cin >> a; if (a>0) cout << "Podales liczbe dodatnia" << endl; else cout << „Podales liczbe niedodatnia" << endl; } Wyrażenie

Blok instrukcji Często się zdarza, że chcemy wykonać warunkowo nie jedną, lecz kilka instrukcji. Stosujemy wówczas instrukcję składaną zwaną blokiem: { instr1; instr2;... } Po klamrze nie trzeba stawiać średnika! Zróżnicowane wcięcia nie mają znaczenia dla kompilatora, ale ogromnie zwiększają czytelność kodu.

Wybór wielowariantowy Instrukcje warunkowe if...else możemy ze sobą łączyć – uzyskamy wtedy możliwość wyboru wielowariantowego. if (wyr1) instr1; else if (wyr2) instr2; else if (wyr3) instr3;

Wybór wielowariantowy int main() { int a; cin>>a; if(a>0) cout<<"a jest dodatnie"<<endl; else if(a==5) cout<<"a jest równe 5"<<endl; else if(a<-2) cout<<"a jest mniejsze od -2"<<endl; }

Pętla while Najpierw obliczana jest wartość wyrażenia wyr. Jeśli wynik jest zerowy, wy- chodzimy z pętli. Jeśli wartość wyrażenia jest niezerowa, wykonujemy instrukcję instr. Instrukcję wykonujemy do- póki (while) wyrażenie ma wartość niezerową. Uwaga: pętla może w ogóle nie wykonać się ani razu! while ( wyr ) instr ; Wartość wyrażenia obliczana przed wykonaniem instrukcji! wyr instr Tak Nie

Pętla while #include using namespace std; int main() { int i=0; while (i<10) { cout << i << endl; i=i+2; } Wyrażenie Ciało pętli w nawiasach

Pętla do...while Najpierw wykonywana jest instrukcja instr. Następnie obliczana jest wartość wyrażenia wyr. Jeżeli jest ono niezerowe, to zostanie powtórzone wy- konanie tej instrukcji. Jeśli wynik jest zerowy, wy- chodzimy z pętli. Uwaga: pętla wykona się co najmniej jeden raz! do instr; while ( wyr ); Wartość wyrażenia obliczana po wykonaniu instrukcji! wyr instr TakNie

Pętla do…while #include using namespace std; int main() { int i=0; do { cout << i << endl; i=i+1; } while (i<10); } Wyrażenie Średnik!!! Początek pętli

Pętla for Na początku, jednorazowo, zawsze, wykonywana jest i_ini. Następnie obliczana jest wartość wyrażenia wyr. Jeśli wynik jest zerowy, wychodzimy z pętli. Jeśli wartość wyrażenia jest nie- zerowa, wykonujemy instr, a potem i_krok. Instrukcję wykonujemy dopóki wyrażenie wyr ma wartość niezerową. Uwaga: pętla może w ogóle nie wykonać się ani razu, choć wykona się wtedy 1 raz i_ini. wyr i_ini TakNie tresc_petli i_krok for(i_ini ; wyr ; i_krok) instr ; Wartość obliczana przed wykonaniem treści pętli!

Pętla for i_ini nie musi być jedną instrukcją – może być ich kilka, wtedy oddzielone są przecinkami. Podobnie w wypadku i_krok. W i_ini może pojawić się definicja obiektu. i_ini, wyr lub i_krok można opuścić Zapis: for ( ; ; ) {... } oznacza pętlę nieskończoną.

Pętla for #include using namespace std; int main() { for (int i=0; i<10; i=i+1) cout << i << endl; } III III IV

Pętla for #include using namespace std; int main() { for (int i=0; i<3; i=i+1) for (int j=0; j<2; j=j+1) cout << "i=" << i << "\t" << "j=" << j << endl; }

Te same nazwy zmiennych int main() { int a; … int a; } int main() { int a; { int a; } BŁĄD - redefinicja

Te same nazwy liczników pętli int main() { for(int i=0; i<3; i=i+1) cout<<i<<endl; }

Te same liczniki pętli int main() { for(int i=0; i<3; i=i+1) for(i=0; i<3; i=i+1) cout<<i<<endl; } i< i< …01201…

Instrukcja wyboru switch Instrukcja wyboru służy do podejmowania wielowarian- towych decyzji. Najpierw obliczane jest wy- rażenie wyr. Jeśli jego wartość odpowiada którejś z wartości podanej w jednej z etykiet case, to wykonywane są instrukcje po tej etykiecie, aż do napotkania instrukcji break. Jeśli wartość wyrażenia nie zgadza się z żadną z wartości przy etykietach case, wówczas wykonywane są instrukcje po etykiecie default. switch( wyr ) { case w1: instr1; break; case w2: instr2; break;... case w_n: instr_n; break; default: instr_d; break; } wyr w1 == wyr instr1 TakNie... instr2 w2 == wyr instr_d instr_n w_n == wyr TakNie TakNie

Instrukcja wyboru switch Instrukcja break: –powoduje wyjście z instrukcji switch. Etykieta default: –może znajdować się w dowolnym miejscu, –może w ogóle nie występować w instrukcji switch – wtedy, jeśli wartość wyrażenia nie zgadza się z żadną z wartości przy etykietach case, instrukcja switch nie wykonuje niczego. Instrukcji występujących po etykiecie case nie musi kończyć instrukcja break. Jeśli jej nie umieścimy, to zaczną wykonywać się instrukcje umieszczone pod następną etykietą case.

Instrukcja wyboru switch #include using namespace std; int main() { int a; cout << "Podaj liczbe" << endl; cin >> a; switch (a) { case 1: cout << "Podales liczbe jeden" << endl; break; case 2: cout << "Podales liczbe dwa" << endl; break; default: cout << "Nie podales ani liczby jeden ani dwa" << endl; } Wyrażenie Wartość Polecenia nie są w nawiasie {}

Instrukcja wyboru switch #include using namespace std; int main() { int a; cout << "Podaj liczbe" << endl; cin >> a; switch (a) { case 1: cout << "Podales liczbe jeden" << endl; case 2: cout << "Podales liczbe dwa" << endl; default: cout << "Nie podales ani liczby jeden ani dwa" << endl; }

switch vs if…else W przypadku instrukcji switch obiekt powinien być typu całkowitego W przypadku instrukcji if…else typ obiektu nie ma znaczenia W przypadku instrukcji switch obiekt porównywany jest ze stałą (znaną na etapie kompilacji) W przypadku instrukcji if…else obiekt może być porównywany z wyrażeniem zmiennym

switch vs if…else W przypadku instrukcji switch zwasze sprawdzana jest równość W przypadku instrukcji if…else porównanie może być dowolnym operatorem logicznym

Instrukcja sterująca break Instrukcja sterująca break przerywa natychmiast dzia- łanie innych instrukcji steru- jących: –switch, –for, –while, –do...while. Jeśli instrukcja break wys- tępuje wewnątrz kilku zag- nieżdżonych pętli, to przery- wa działanie tylko tej pętli, w której bezpośrednio tkwi (jest to tak jakby wyjście „o jeden poziom wyżej”). while( wyr ) { instr1; if( wyr_b ) break; instr2; } wyr instr1 Tak Nie wyr_b instr2 TakNie

Instrukcja sterująca break #include using namespace std; int main() { for (int i=1; ;i=i+1) { cout << i << endl; if (i==10) { break; } Pętla nieskończona Wyjście z pętli

Instrukcja sterująca continue Instrukcja sterująca continue stosowana jest w pętlach. Powoduje ona zaniechanie reali- zacji instrukcji będących treścią pętli, jednak (w przeciwieństwie do instrukcji break) sama pętla nie zostaje przerwana. Instrukcja continue przerywa tylko aktualny obieg pętli i zaczyna następny, kontynuując pracę pętli. Po wykonaniu instrukcji continue w pętli for wykony- wana jest i_krok. for(i_init; wyr ; i_krok){ instr1; if( wyr_c ) continue; instr2; } wyr instr1 Tak Nie wyr_c instr2 TakNie i_init i_krok

Instrukcja sterująca continue #include using namespace std; int main() { int n=5; for (int i=1; i<=10; i=i+1) { if (i==n) continue; cout << i << endl; } Przeskok na koniec pętli

Instrukcja skoku goto Po napotkaniu instrukcji skoku goto wykonywanie programu przenosi się do miejsca oznaczonego etykietą. Z instrukcją goto wiąże się zawsze etykieta, do której należy przeskoczyć. Etykieta musi znajdować się w aktualnym zakresie ważności. Etykieta to nazwa, po której następuje dwukropek.... if( war ) goto et1; instr1; instr2; et1: instr3; Używanie instrukcji goto zdradza (zazwyczaj), że jest się złym programistą. Instrukcji goto zawsze da się uniknąć (choć nie zawsze jest to efektywne).

Instrukcja goto #include using namespace std; int main() { for (int i=0; i<3; i=i+1) for (int j=0; j<3; j=j+1) for (int k=0; k<3; k=k+1) { cout<<i<<" "<<j<<" "<<k<<endl; if (i==1 && j==1 && k==1) goto koniec; } koniec: cout<<"KONIEC\n"; } Przeskok do koniec

Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: