. Podstawy Programowania 1. Instrukcje sterujące. Arkadiusz Chrobot. 21 października 2015

Wielkość: px
Rozpocząć pokaz od strony:

Download ". Podstawy Programowania 1. Instrukcje sterujące. Arkadiusz Chrobot. 21 października 2015"

Transkrypt

1 .. Podstawy Programowania 1 Instrukcje sterujące Arkadiusz Chrobot Zakład Informatyki 21 października / 55

2 Plan.1 Instrukcje sterujące.2 Blok instrukcji.3 Instrukcja warunkowa.4 Instrukcja wielokrotnego wyboru.5 Instrukcje iteracyjne Pętla for Pętla while Pętla do while.6 Słowa kluczowe break i continue.7 2 / 55

3 Instrukcje sterujące Instrukcje sterujące Instrukcje sterujące lub instrukcje zmieniające przepływ sterowania w programie stanowią niezbędny element każdego języka programowania. Pozwalają one na wykonywanie lub wielokrotne wykonanie określonych instrukcji przetwarzania danych lub grup takich instrukcji, w zależności od wartości określonych warunków. Umożliwiają one zatem realizację złożonych algorytmów w programach komputerowych. 3 / 55

4 Blok instrukcji Blok instrukcji Blok instrukcji pozwala zgrupować instrukcje, które mają być przez program wykonane łącznie, jakby były pojedynczą instrukcją. Blok rozpoczyna znak {, a kończy znak. Zastosowanie bloku widzieliśmy na przykładzie definicji funkcji main(), jednakże jest on używany także w innych elementach programów, również razem z instrukcjami sterującymi. 4 / 55

5 Instrukcja warunkowa Opis Instrukcja warunkowa Instrukcja warunkowa jest instrukcją decyzyjną, która steruje wykonaniem innych instrukcji lub grup instrukcji w zależności od wartości zawartego w niej warunku. Schemat instrukcji warunkowej jest następujący: if(warunek) instrukcja; else instrukcja_alternatywna; Jeśli spełniony jest warunek to wykonywana jest instrukcja w przeciwnym przypadku instrukcja_alternatywna. Zarówno instrukcja, jaki i instrukcja_alternatywna mogą być pojedynczymi instrukcjami lub blokami instrukcji. Słowo kluczowe else może zostać pominięte wraz z instrukcją alternatywną. Warunek w instrukcji warunkowej może być dowolnym wyrażeniem. 5 / 55

6 Instrukcja warunkowa Uwagi Instrukcja warunkowa Język C pozwala pominąć nie tylko słowo kluczowe else i instrukcję alternatywną, ale również instrukcję znajdującą się tuż za warunkiem, poprzez postawienie średnika za zamykającym nawiasem okrągłym. Taki zapis ma niewielkie zastosowanie praktyczne. Jednym z najczęściej spotykanych błędów jest pomylenie w warunku instrukcji przypisania (=) z operatorem ==. Zapis warunku z operatorem przypisania jest uznawany przez kompilator 1 za prawidłowy i w pewnych sytuacjach może być celowo i poprawnie wykorzystany przez programistę. 1 Kompilator jedynie generuje ostrzeżenie domagając się, by programista umieścił taki warunek w dodatkowej parze nawiasów okrągłych 6 / 55

7 Instrukcja warunkowa Przykład Instrukcja warunkowa if(a==b) a=5; else b=5; Część programistów zaleca, aby stosować blok (umieszczać instrukcje w nawiasach klamrowych) nawet wtedy, gdy po warunku i/lub słowie kluczowym else występują tylko pojedyncze instrukcje: if(a==b) { a=5; else { b=5; 7 / 55

8 Instrukcja warunkowa Instrukcja warunkowa Zagnieżdżanie instrukcji warunkowych Instrukcję warunkową można umieścić w innej instrukcji warunkowej. Taką czynność nazywa się zagnieżdżaniem, a instrukcję znajdującą się wewnątrz innej - instrukcją zagnieżdżoną: if(a==3) { if(b==4) c=5; Ta technika pisania programu, może sprawić, że powstały kod będzie nieczytelny. Lepiej w takiej sytuacji zastosować warunek złożony: if(a==3 && b==4) c=5; Należy jednak pamiętać o tym, że w języku C stosowane jest skracanie obliczania warunków logicznych. 8 / 55

9 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru pozwala wykonać zbiór instrukcji w zależności od wartości zmiennej typu int lub char lub typów od nich pochodnych. Schemat tej instrukcji jest następujący: switch(zmienna) { case wartość_1: instrukcja_1; break; case wartość_n: instrukcja_n; break; default: instrukcja; Liczba przypadków (case) jest ograniczona jedynie zakresem wartości przyjmowanych przez zmienną. 9 / 55

10 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru Uwagi Przypadek w instrukcji wielokrotnego wyboru może obejmować więcej niż jedną instrukcję. W takim wypadku wszystkie one muszą znajdować się przed słowem kluczowym break, które kończy zapis przypadku a podczas wykonania programu działanie instrukcji switch. Jeśli słowo break zostanie pominięte, to program przystąpi do realizacji następnego w kolejności przypadku, nie sprawdzając dla jakiej wartości zmiennej powinien on być wykonany. Czasem jest to przez programistów celowo wykorzystywane, lecz dosyć często stanowi błąd. Jeśli zmienna nie ma żadnej z wartości określonych w przypadkach, to zostaje wykonany przypadek domyślny oznaczony słowem kluczowym default. Ten przypadek może być całkowicie pominięty w zapisie instrukcji wielokrotnego wyboru. 10 / 55

11 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru Przykład switch(a) { case 1: puts("jeden"); break; case 2: puts("dwa"); break; case 3: puts("trzy"); break; default: puts("inna wartość"); Jeśli zmienna a będzie miała wartość 1, to program wypisze na ekran wyraz Jeden, jeśli 2, to na ekranie pojawi się napis Dwa. Podobnie program zachowa się, gdy zmienna a będzie miała wartość 3. Jeśli zmienna będzie miała inną wartość, niż trzy wyżej wymienione, to na ekranie pojawi się napis Inna wartość. 11 / 55

12 Instrukcje iteracyjne Instrukcje iteracyjne Instrukcje iteracyjne, nazywane krótko pętlami, pozwalają na powtarzanie określonej instrukcji lub grup instrukcji określoną (czasem nieskończoną) liczbę razy. Powtórzenie pętli nazywane jest w informatyce iteracją lub po prostu powtórzeniem. Zazwyczaj wynik każdej iteracji jest różny od wyniku jej poprzedniczki. W niektórych sytuacjach mogą one być takie same. 12 / 55

13 Pętla for Instrukcje iteracyjne Pętla for Pętla for służy do powtarzania instrukcji lub bloku instrukcji określoną, z góry zadaną liczbę razy. Z tą pętlą najczęściej jest związana co najmniej jedna zmienna nazywana licznikiem pętli lub zmienną sterującą. Schemat tej pętli jest następujący: for(inicjacja;warunek_kontynuacji;krok) instrukcja;,gdzie inicjacja oznacza nadanie licznikowi lub licznikom pętli wartości początkowej, warunek_kontynuacji oznacza warunek, który musi spełniać wartość licznika lub liczników pętli, aby się ona wykonywała, natomiast krok określa zmianę wartości tego liczników lub licznika pętli. Umieszczona w pętli instrukcja może być pojedynczą instrukcją lub blokiem instrukcji. W obu przypadkach ta część instrukcji iteracyjnej nazywa się ciałem pętli. Licznikiem (licznikami) pętli for może być zmienna dowolnego z przedstawionych na wykładzie pierwszym typów. Najczęściej te zmienne mają jednoliterowe nazwy, choć zdarzają się wyjątki do tej reguły. Pętle for można zagnieżdżać. 13 / 55

14 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { for(a=0;a<5;a++) printf("%d\n",a); return 0; 14 / 55

15 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { for(a=0;a<5;a++) { printf("%d\n",a); return 0; 15 / 55

16 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { for(a=1;a<=5;a++) printf("%d\n",a); return 0; 16 / 55

17 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { for(a=0;a<7;a+=2) printf("%d\n",a); return 0; 17 / 55

18 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { a=1; for(;a<=5;) { printf("%d\n",a); a++; return 0; 18 / 55

19 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a; int main(void) { for(a=7;a>0;a--) printf("%d\n",a); return 0; 19 / 55

20 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int i,j; int main(void) { for(i=7,j=0;i>j;j++,i--) printf("%d %d\n",i,j); return 0; 20 / 55

21 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> double x; int main(void) { for(x=0.0;x<0.5;x+=0.01) printf("%.10lf\n",x); return 0; 21 / 55

22 Pętla for Instrukcje iteracyjne Pętla for #include<stdio.h> int a,i; int main(void) { for(i=0;i<5;i++) { a+=i; printf("%d\n",a); return 0; 22 / 55

23 Pętla for Instrukcje iteracyjne Pętla for int a; int main(void) { for(a=0;a<5;a++) ; return 0; 23 / 55

24 Pętla while Instrukcje iteracyjne Pętla while Pętla while powtarza wykonanie objętych nią instrukcji tak długo, jak długo spełniony jest zawarty w niej warunek. Schemat takiej pętli jest następujący: while(warunek_kontynuacji) instrukcja; Podobnie, jak w przypadku pętli for, ciało pętli while może być pojedynczą instrukcją, blokiem instrukcji lub nawet być puste. Liczba powtórzeń takiej pętli nie jest z góry zadana, dlatego musi w niej być zawarte wyrażenie lub grupa wyrażeń, które spowodują, że po skończonej liczbie iteracji ta pętla się zakończy. Pętle while można zagnieżdżać. 24 / 55

25 Pętla while Instrukcje iteracyjne Pętla while #include<stdio.h> char a; int main(void) { while(a!='q') scanf(" %c",&a); return 0; 25 / 55

26 Pętla while Instrukcje iteracyjne Pętla while #include<stdio.h> char a; int main(void) { while(a!='q') { scanf(" %c",&a); return 0; 26 / 55

27 Pętla while Instrukcje iteracyjne Pętla while #include<stdio.h> int x,y; int main(void) { while(y>=0) { scanf("%d",&y); x+=y; return 0; 27 / 55

28 Pętla do while Instrukcje iteracyjne Pętla do while Pętla do while jest podobna do pętli while nie tylko w zapisie, również w działaniu. Podstawowa różnica między nimi polega na tym, że ciało w tej pierwszej zawsze wykona się co najmniej raz, ponieważ warunek jest w niej sprawdzany na końcu. Schemat tej pętli jest następujący: do ciało while(warunek);,gdzie, podobnie jak w przypadku innych pętli ciało może być pojedynczą instrukcją, blokiem instrukcji lub może być puste. 28 / 55

29 Pętla do while Instrukcje iteracyjne Pętla do while #include<stdio.h> char a; int main(void) { do scanf(" %c",&a); while(a!='q'); return 0; 29 / 55

30 Pętla do while Instrukcje iteracyjne Pętla do while #include<stdio.h> char a; int main(void) { do { scanf(" %c",&a); while(a!='q'); return 0; 30 / 55

31 Pętla do while Instrukcje iteracyjne Pętla do while #include<stdio.h> int x,y=1; int main(void) { do { x+=1; y*=x; while(x!=10); return 0; 31 / 55

32 Słowa kluczowe break i continue Słowo kluczowe break Słowo kluczowe break oprócz instrukcji wielokrotnego wyboru może być także użyte wewnątrz dowolnej pętli. Zazwyczaj jest ono wtedy umieszczone także w instrukcji warunkowej. Jeśli dojdzie do jego wykonania, to przerwie ono działanie pętli, kończąc ją tym samym wcześniej niż wynikałoby to z jej warunku kontynuacji. 32 / 55

33 Słowa kluczowe break i continue Słowo kluczowe continue Słowo kluczowe continue jest używane wyłącznie wewnątrz dowolnego rodzaju pętli. Podobnie jak break występuje ono wówczas w instrukcji warunkowej. Nie przerywa ono jednak całości wykonania pętli, a jedynie jej bieżące powtórzenie (iterację). 33 / 55

34 Słowa kluczowe break i continue Słowo kluczowe continue Przykład #include <stdio.h> int i; int main(void) { for(i=-5;i<=5;i++) { if(i==0) continue; printf("wynik dzielenia 5 przez %d: %lf\n",i,5.0/i); return 0; 34 / 55

35 Słowa kluczowe break i continue Słowo kluczowe goto Słowo kluczowe (instrukcja) goto (zlepek dwóch angielski słów go i to) powoduje przeniesie sterowania do wskazanego etykietą miejsca w programie. Ta etykieta może być znajdować się zarówno powyżej jak i poniżej wystąpienia instrukcji goto, a nawet wskazywać na miejsce jej wystąpienia. Choć początkowo ta instrukcja wydaje się bardzo użyteczna, to jej stosowanie w nowoczesnych językach programowania pociąga za sobą wiele problemów. W początkach techniki komputerowej była ona nadużywana, co prowadziło do powstawania nieczytelnych programów komputerowych. Doprowadziło to do tak dramatycznej sytuacji, że jeden z pionierów informatyki, Edsger Dijkstra zdecydował się publicznie zabronić jej używania. W języku C goto używana jest zazwyczaj do obsługi sytuacji wyjątkowych i (przez doświadczonych programistów) do usprawniania działania programów. Należy za wszelką cenę unikać jej używania w innych, nieuzasadnionych przypadkach. 35 / 55

36 Słowa kluczowe break i continue Słowo kluczowe goto Przykład #include <stdio.h> int i; int main(void) { label_1: i++; printf("%d\n",i); if(i==15) goto label_2; goto label_1; label_2: return 0; 36 / 55

37 Silnia Opis Silnia jest działaniem matematycznym na liczbach naturalnych, które zdefiniowane jest następująco: 0! = 1 1! = 1 n! = (n 1) n Program na następnym slajdzie realizuje to działanie za pomocą pojedynczej pętli for. Jej licznik (zmienna i) służy także do przechowywania kolejnych liczb naturalnych, które mnożne są przez siebie. Proszę zwrócić uwagę, na użycie zmiennej factorial, która służy nie tylko do zapamiętania wyniku końcowego, ale także wyników częściowych. Pętla do while służy do ograniczenia użytkownikowi możliwości zlecenia programowi policzenia silni dla liczby większej niż 20. Wynik byłby większy niż może pomieścić typ long long int. Proszę zwrócić uwagę, że program działa poprawnie także wtedy, gdy każemy mu liczyć silnię z zera. Pętla for się wprawdzie nie wykona ani razu, ale prawidłowy wynik od początku będzie w zmiennej factorial. 37 / 55

38 Silnia Kod #include <stdio.h> unsigned long long int factorial = 1; unsigned char i,number; int main(void) { do { printf("podaj liczbę naturalną mniejszą niż 21, "); printf("dla której chcesz obliczyć silnię:\n"); scanf("%hhu",&number); while(number>20); for(i=1;i<=number;i++) factorial*=i; printf("silnia z %hhu to %llu\n",number,factorial); return 0; 38 / 55

39 Silnia Kod - inny zapis #include <stdio.h> unsigned long long int factorial = 1; unsigned char i,number; int main(void) { do { printf("podaj liczbę naturalną mniejszą niż 21, "); printf("dla której chcesz obliczyć silnię:\n"); scanf("%hhu",&number); while(number>20); for(i=1;i<=number;factorial*=i,i++) ; printf("silnia z %hhu to %llu\n",number,factorial); return 0; 39 / 55

40 Największy wspólny dzielnik Opis Kolejny przykład, to program, który liczy Największy Wspólny Dzielnik (ang. Greatest Common Divider - gcd. Jest on implementacją algorytmu z wykładu pierwszego, ale nie do końca wierną. Wprawdzie nazwy zmiennych zostały zachowane, ale ze względu na czytelność zapisu zdecydowałem, że lepiej będzie dopuścić do wykonania przypisań m = n i n = r, nawet po tym, jak obliczanie reszty da w wyniku zero.powoduje to jeszcze jedną rozbieżność. Wynik końcowy nie jest zapisany w zmiennej n, lecz w m. 40 / 55

41 Największy wspólny dzielnik Kod #include <stdio.h> unsigned int r, n, m; int main(void) { puts("podaj dwie liczby naturalne większe od zera"); scanf("%d",&m); scanf("%d",&n); do { r=m%n; m=n; n=r; while(r!=0); printf("największym wspólnym dzielnikiem podanych liczb jest %d\n",m); return 0; 41 / 55

42 Równianie kwadratowe Opis Kolejny program liczy pierwiastki równania kwadratowego, ale używając wzorów, które są odporne na akumulację błędów zaokrąglenia, które charakterystyczne są dla typów zmiennoprzecinkowych i które dają się zaobserwować dla przypadku gdy a c b i gdy używamy typu float. Te wzory to: q [b+sgn(b) ], 1 2 x 1 = q a oraz x 2 = c q, gdzie sgn to funkcja signum, która daje wartość 1, gdy b 0 lub 1 w przeciwnym przypadku. Proszę zwrócić uwagę, że program nie rozróżnia przypadku kiedy równanie ma tylko jeden pierwiastek. Zachowuje się on wówczas jakby istniały dwa pierwiastki o takiej samej wartości. Tę wadę można stosunkowo łatwo poprawić. Funkcję signum zrealizowano w nim za pomocą operatora trójargumentowego. Program jest zabezpieczony na wypadek, gdyby użytkownik wprowadził zero jako wartość współczynnika a. Użyta w programie funkcja sqrt() pochodzi z biblioteki matematycznej włączanej za pomocą nagłówka math.h i liczy pierwiastek kwadratowy z podanej liczby. 42 / 55

43 Równianie kwadratowe Kod #include<stdio.h> #include<math.h> float a,b,c,delta,q; int main(void) { puts("podaj współczynniki równania kwadratowego"); do { printf("a= "); scanf("%f",&a); if(a==0.0) puts("wartość współczynnika 'a' nie może wynosić 0! Wprowadź go jescze raz."); while(a==0.0); printf("b= "); scanf("%f",&b); printf("c= "); scanf("%f",&c); delta = b*b-4*a*c; if(delta>=0) { q= (b<0)? -0.5*(b-sqrt(delta)) : -0.5*(b+sqrt(delta)); printf("x1=%f x2=%f\n",q/a,c/q); else puts("brak rozwiązań w dziedzinie liczby rzeczywistych."); return 0; 43 / 55

44 Kod dwójkowy Opis Czasem występuje potrzeba wypisania na ekranie reprezentacji dwójkowej liczby dziesiętnej. Niestety, standard C99 języka C nie przewiduje specjalnego ciągu formatującego dla funkcji printf(), który umożliwiłby zrobienie tego w prosty sposób. Na szczęście problem staje się prostszy jeśli przypomnimy sobie, że każda liczba jest w sposób dwójkowy zapisana w pamięci komputera. Trzeba tylko ten zapis wyciągnąć na ekran. Robi to następny przykładowy program. Wypisuje on na ekran ośmiobitową wartość zmiennej typu char za pomocą pojedynczej pętli for. W tej pętli wartości kolejnych bitów (począwszy od najstarszego) zmiennej number wyznaczane są w operacji maskowania (iloczynu bitowego). Drugim argumentem tej operacji jest wartość stałej mask (jedynka na najstarszym bicie, pozostałe są równe zero), przesunięta w lewo o zadaną licznikiem pętli liczbę miejsc. 44 / 55

45 Kod dwójkowy Kod #include <stdio.h> #define MASK 128 // int i; char number; int main(void) { puts("podaj liczbę, którą chcesz wpisać w postaci binarnej"); scanf("%hhi",&number); for(i=0;i<8*sizeof(number);i++) printf("%d",number&(mask>>i)?1:0); return 0; 45 / 55

46 Liczby pierwsze Opis Liczby pierwsze, to takie liczby naturalne większe od jeden, które dzielą się bez reszty wyłącznie przez jeden i przez siebie. Znajdywanie takich liczb jest na tyle skomplikowane, że mają duże liczby pierwsze mają zastosowanie w kryptografii. Kolejny program szuka takich liczb w przedziale od 3 do maksymalnej liczby mieszczącej się w typie unsigned long long int. Niestety, algorytm, który on stosuje jest mało efektywny. W najprostszej formie polega on na generowaniu kolejnych liczby naturalnych, które są dzielone przez wszystkie liczby, naturalne większe od jeden i mniejsze od niej samej. Program stosuje trochę udoskonaloną jego wersję. Liczby do sprawdzenia generowane są zewnętrznej pętli for, ale są to wyłącznie liczby nieparzyste. Wewnętrzna pętla for dzieli je przez wszystkie liczby naturalne począwszy od 2, a skończywszy na części całkowitej pierwiastka z tej liczby, powiększonego o jeden. Jeśli liczba nie podzieli się bez reszty w trakcie takiego sprawdzania, to znaczy, że jest pierwsza. Proszę zwrócić uwagę na użycie w programie zmiennej typu bool oraz instrukcji break. 46 / 55

47 Liczby pierwsze Kod #include <stdio.h> #include <limits.h> #include <math.h> #include <stdbool.h> unsigned long long int candidate, divider; bool prime; int main() { puts("liczby pierwsze od 3"); for(candidate=3;candidate<=ullong_max;candidate+=2) { prime=true; for(divider=2;divider<sqrt(candidate)+1;divider++) if(candidate%divider==0) { prime = false; break; if(prime) printf("%llu ",candidate); return 0; 47 / 55

48 Kosinus Opis W bibliotece matematycznej języka C dostępna jest funkcja cos(), która wyznacza kosinus kąta podanego w radianach. Warto jednak wiedzieć jak wartość takiej funkcji trygonometrycznej wyznaczyć bez pomocy biblioteki matematycznej. Jedną z metod jest użycie szeregu MacLaurina, który dla funkcji cos(x) przyjmuje następującą postać: cos(x) = 1 x2 2! + x4 4! x6 6! ( 1)k x 2k (2k)! +... Jeśli podzielimy kilka pierwszych wyrazów tego szeregu parami przez siebie, to dojdziemy do wniosku, że każdy następny różni się od następnego o czynnik x2, gdzie i określa pozycję wyrazu w szeregu, przy czym i = 1 (2i)(2i 1) ma wyraz x2 2!. 48 / 55

49 Kosinus Opis - ciąg dalszy Program na następnym slajdzie liczy wartość kosinusa dla kąta równego π/3 radianów. W pętli while wartości kolejnych wyrazów są wyliczane i zapamiętywane w zmiennej term, zmienna cosinus zapamiętuje sumę wszystkich dotychczas obliczonych w pętli wyrazów szeregu, a i wyznacza numer pozycji kolejnego wyrazu. Pętla zatrzymuje się wtedy, gdy wartość wyliczonego z szeregu kosinusa będzie równa wartości zwróconej przez funkcję cos(). Tych wartości nie możemy jednak porównywać bezpośrednio, jedynie z pewną dokładnością. Tę dokładność definiuje w programie stała epsilon - jedenaście miejsc po przecinku. Porównujemy jej wartość z błędem bezwzględnym przybliżenia wartości kosinusa, czyli wartością bezwzględną z różnicy obliczonej wartości kosinusa i podanej przez funkcję cos(). Wartość bezwzględna liczona jest za pomocą funkcji fabs(), również dostępnej w bibliotece matematycznej. 49 / 55

50 Kosinus Kod #include<stdio.h> #include<math.h> #define EPSILON 1e-11 double cosinus = 1, term = 1, i = 1; const double x = M_PI/3; int main(void) { while(fabs(cos(x)-cosinus)>epsilon) { term *= -1.0*x*x/((2*i-1)*(2*i)); cosinus += term; i++; printf("wartość kosinusa dla kąta %lf wynosi %lf\n",x,cosinus); return 0; 50 / 55

51 Funkcja eksponencjalna Opis Podobnie jak w przypadku kosinusa możemy policzyć wartość funkcji eksponencjalnej. Dla niej szereg MacLaurina przyjmuje następującą postać: e x = 1 + x 1! + x2 2! + x3 3! xk k! +... Postępując podobnie jak poprzednio ustalimy, że każdy następny wyraz szeregu różni się od poprzedniego o czynnik x i, gdzie i > 0 jest numerem pozycji wyrazu w szeregu. Program na następnym slajdzie liczy wartość eksponenty dla podanego przez użytkownika wykładnika w analogiczny sposób, jak liczył kosinusa program z poprzedniego slajdu. Główna różnica w konstrukcji pętli while polega na tym, że sprawdzany jest błąd względny wyliczonej z szeregu wartości i wartości funkcji exp() (również z biblioteki matematycznej), zamiast błędu bezwzględnego. Można w tym programie zastosować pierwszą z wymienionych metod, gdyż wartość zmiennej exponent nigdy nie jest równa zero. 51 / 55

52 Funkcja eksponencjalna Kod #include<stdio.h> #include<math.h> #define EPSILON 1e-1 double exponent = 1.0, x, i=1, term = 1; int main(void) { puts("podaj wykładnik potęgi, do której chcesz podnieść liczbę e"); scanf("%lf",&x); while(fabs((exp(x)-exponent)/exponent)>epsilon) { term *= (x/i); exponent += term; i++; printf("wartość e^x wynosi %lf\n",exponent); return 0; 52 / 55

53 Podziękowania W prezentacji wykorzystałem materiały udostępnione przez dra inż. Grzegorza Łukawskiego oraz mgra inż. Leszka Ciopińskiego. 53 / 55

54 Pytania? 54 / 55

55 koniec Dziękuję Państwu za uwagę! 55 / 55

Podstawy Programowania 1 Instrukcje sterujące. Plan. Instrukcje sterujące. Blok instrukcji. Notatki. Notatki. Notatki. Notatki.

Podstawy Programowania 1 Instrukcje sterujące. Plan. Instrukcje sterujące. Blok instrukcji. Notatki. Notatki. Notatki. Notatki. Podstawy Programowania 1 Instrukcje sterujące Arkadiusz Chrobot Zakład Informatyki 17 października 2016 1 / 55 Plan Instrukcje sterujące Blok instrukcji Instrukcja warunkowa Instrukcja wielokrotnego wyboru

Bardziej szczegółowo

Laboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 2: Pętle i instrukcje warunkowe. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 2: Pętle i instrukcje warunkowe mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 17 października 2015 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu

Bardziej szczegółowo

Język C zajęcia nr 5

Język C zajęcia nr 5 Język C zajęcia nr 5 Instrukcja wyboru switch switch ( wyr ) inst Głównym przeznaczeniem instrukcji switch jest rozgałęzianie wykonania programu na wiele różnych ścieżek w zależności od wartości pewnego

Bardziej szczegółowo

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Język C część 2. Podejmowanie decyzji w programie. if else. switch Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane

Bardziej szczegółowo

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne

Bardziej szczegółowo

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,

Bardziej szczegółowo

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja Pętle W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. Instrukcja for ma następującą postać: for (w1;w2;w3) instrukcja w1, w2, w3 są wyrażeniami Schemat blokowy

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Instrukcje sterujące. Programowanie Proceduralne 1

Instrukcje sterujące. Programowanie Proceduralne 1 Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +

Bardziej szczegółowo

Wykład 3. Instrukcje powtarzające

Wykład 3. Instrukcje powtarzające Wykład 3. Instrukcje powtarzające 3_. Instrukcja while Graf działania instrukcji while POCZĄTEK 0 wyrażenie relacyjne.... KONIEC Składnia (zapis) instrukcji while: while (wyrażenie_relacyjne) // ------

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Język C, instrukcje sterujące (laboratorium)

Język C, instrukcje sterujące (laboratorium) Język C, instrukcje sterujące (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Na podstawie http://pl.wikibooks.org/wiki/c Wstęp Instrukcja warunkowa Instrukcja if/if-else pozwala na warunkowe

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53: Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

Instrukcje sterujące

Instrukcje sterujące Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:

Bardziej szczegółowo

Proste algorytmy w języku C

Proste algorytmy w języku C Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2016-12-01 Outline Język C Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdowanie największego

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 4. Podstawowe biblioteki. Pętle. Operatory inkrementacji, dekrementacji, przypisania. Instrukcje goto, continue, break. Operacje na plikach.

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracje Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony. Iteracja inaczej zwana jest pętlą i oznacza wielokrotne wykonywanie instrukcji. Iteracje

Bardziej szczegółowo

Proste algorytmy w języku C

Proste algorytmy w języku C Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-10-17 Outline Język C i Matlab Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdywanie największego

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

do instrukcja while(wyrażenie);

do instrukcja while(wyrażenie); emat zajęć: Operatory i instrukcje w języku C - 3 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Język C oferuje kilka instrukcji cyklu (pętli). Oprócz wprowadzonej wcześniej

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

JAVAScript w dokumentach HTML (2)

JAVAScript w dokumentach HTML (2) Informatyka ćw.6 JAVAScript w dokumentach HTML (2) Interakcyjne wprowadzanie danych Jednym ze sposobów jest stosowanie metody prompt dla wbudowanego obiektu window: zmienna= prompt("tekst zachęty, np.

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 4 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Pętle wykonujące się podaną liczbę razy Jeśli chcemy wykonać pewien fragment programu określoną liczbę razy, możemy użyć

Bardziej szczegółowo

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2018/2019 Wykład nr 7 (12.04.2019) Rok akademicki 2018/2019, Wykład

Bardziej szczegółowo

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

6. Pętle while. Przykłady

6. Pętle while. Przykłady 6. Pętle while Przykłady 6.1. Napisz program, który, bez użycia rekurencji, wypisze na ekran liczby naturalne od pewnego danego n do 0 włącznie, w kolejności malejącej, po jednej liczbie na linię. Uwaga!

Bardziej szczegółowo

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 5 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Zadanie o kotach z poprzedniego wykładu # include < iostream > using namespace std ; int main (){ int rozmiar_ rodzinki,

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 3 - operatory oraz instrukcje warunkowe i wyboru mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 19 października 2018 1 / 35 mgr inż. Krzysztof

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 3 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru switch umożliwia podejmowanie decyzji na podstawie wartości

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Podstawowe elementy programowania strukturalnego. Wbudowane typy danych w C++

Podstawowe elementy programowania strukturalnego. Wbudowane typy danych w C++ Dane znakowe. Podstawowe elementy programowania strukturalnego. Wbudowane typy danych w C++ Wartością danej typu znakowego char mogą być pojedyncze litery, cyfry oraz inne znaki. W pamięci z reguły zajmują

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne.

Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne. Podstawy Programowania Wykład trzeci: Instrukcje warunkowe i iteracyjne. 1. Instrukcja warunkowa Jeśli w programie wykonanie określonych instrukcji jest zależne od pewnych warunków to możemy skorzystać

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013 Funkcje i tablice Elwira Wachowicz elwira@ifd.uni.wroc.pl 23 maja 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Funkcje i tablice 23 maja 2013 1 / 22 Największy wspólny dzielnik: algorytm Euklidesa Problem:

Bardziej szczegółowo

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 1: Podstawy języka c dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 12 października 2017 1. Wprowadzenie Instrukcja zawiera informacje o podstawowych konstrukcjach w języku c. Część pierwsza

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium, EE1-DI)

Język C, tablice i funkcje (laboratorium, EE1-DI) Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo