helion kopia dla: Iwona Kruszynska
|
|
- Władysława Dobrowolska
- 8 lat temu
- Przeglądów:
Transkrypt
1
2 962a78eb15d2230b22be7b0aa45 Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszehnianie ałośi lub fragmentu niniejszej publikaji w jakiejkolwiek postai jest zabronione. Wykonywanie kopii metodą kserografizną, fotografizną, a także kopiowanie książki na nośniku filmowym, magnetyznym lub innym powoduje naruszenie praw autorskih niniejszej publikaji. Wszystkie znaki występująe w tekśie są zastrzeżonymi znakami firmowymi bądź towarowymi ih właśiieli. Autor oraz Wydawnitwo HELION dołożyli wszelkih starań, by zawarte w tej książe informaje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialnośi ani za ih wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowyh lub autorskih. Autor oraz Wydawnitwo HELION nie ponoszą również żadnej odpowiedzialnośi za ewentualne szkody wynikłe z wykorzystania informaji zawartyh w książe. Redaktor prowadząy: Ewelina Burska Projekt okładki: Radosław Zbytniewski Materiały grafizne na okłade zostały wykorzystane za zgodą istokphoto In. Wydawnitwo HELION ul. Kośiuszki 1, GLIWICE tel , helion@helion.pl WWW: (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli hesz oenić tę książkę, zajrzyj pod adres Możesz tam wpisać swoje uwagi, spostrzeżenia, reenzję. Kody wykorzystane w książe można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/ppzad.zip ISBN: Numer katalogowy: 6900 Copyright Helion 2011 Printed in Poland. Poleć książkę na Faebook.om Kup w wersji papierowej Oeń książkę Księgarnia internetowa Lubię to!» Nasza społezność
3 962a78eb15d2230b22be7b0aa45 Spis treśi Od autora 5 Rozdział 1. Proste operaje wejśia-wyjśia 7 Rozdział 2. Podejmujemy deyzje w programie 17 Rozdział 3. Iteraje 29 Rozdział 4. Tablie 57 Tablie jednowymiarowe 57 Tablie dwuwymiarowe 61 Rozdział 5. Podprogramy 79 Rozdział 6. Programowanie obiektowe 97 Rozdział 7. Pliki tekstowe 111
4 962a78eb15d2230b22be7b0aa45 4 C++. Zadania z programowania z przykł adowymi rozwią zaniami
5 962a78eb15d2230b22be7b0aa45 Od autora Trójzbiór Zadania z programowania z rozwiązaniami to pierwszy w Polse zbiór zadań adresowany do wszystkih osób zainteresowanyh programowaniem, które w krótkim zasie, poprzez analizę zaproponowanyh rozwiązań, hiałyby nauzyć się solidnyh podstaw programowania w trzeh językah: Turbo Pasalu, C++ oraz Javie. Składa się on z trzeh zbiorów zadań: Turbo Pasal. Zadania z programowania z przykładowymi rozwiązaniami. C++. Zadania z programowania z przykładowymi rozwiązaniami. Java. Zadania z programowania z przykładowymi rozwiązaniami. Choiaż każdy z tyh zbiorów stanowi odrębną ałość, to zostały one napisane w taki sposób, aby ten sam lub bardzo podobny problem programistyzny (np. napisz program, który obliza pole prostokąta) został rozwiązany w trzeh językah programowania: Turbo Pasalu, C++ i Javie, strukturalnie i obiektowo. Tak skonstruowany trójzbiór Zadania z programowania zyskuje zupełnie nowy wymiar dydaktyzny w naue tyh trzeh języków. Zadania z programowania można również wykorzystać jako uzupełnienie wiedzy zazerpniętej z innyh książek do nauki programowania. Zakres i stopień trudnośi zadań pokrywa się z tradyyjnym proesem nauzania wymienionyh języków. Zbiór ten może też pełnić rolę podręznej pomoy dla pozątkująyh programistów, w której szybko znajdą oni potrzebne im rozwiązanie.
6 962a78eb15d2230b22be7b0aa45 6 C++. Zadania z programowania z przykł adowymi rozwiązaniami Trójzbiór adresowany jest również do maturzystów, studentów, nauzyieli informatyki oraz osób zainteresowanyh programowaniem lub rozpozynająyh naukę programowania w języku C++. Uzniowie tehników informatyznyh mogą zbiory zadań wykorzystać do szybkiej powtórki przed egzaminem zawodowym. W trakie pisania tej książki korzystałem z tzw. aplikaji konsolowyh (ang. onsole appliation) i kompilatora firmy Borland (C++). Mirosław J. Kubiak
7 962a78eb15d2230b22be7b0aa45 1 Proste operaje wejśia-wyjśia W tym rozdziale zamieszzono proste zadania z przykładowymi rozwiązaniami ilustrująe, w jaki sposób komputer komunikuje się z użytkownikiem w języku C++. Każda aplikaja powinna posiadać możliwość komunikowania się z użytkownikiem. Wykorzystują proste przykłady, pokażemy, w jaki sposób program napisany w języku C++ komunikuje się z nim poprzez standardowe operaje wejśia-wyjśia. Plik nagłówkowy z instrukji #inlude <iostream.h> zawiera definije klas 1 umożliwiająyh wykonywanie operaji wejśiawyjśia na strumieniah. Do wyprowadzania danyh na ekran służy standardowy strumień wyjśiowy out, który w języku C++ domyślnie przypisuje ekran do standardowego urządzenia wyjśiowego systemu operayjnego. Aby wyświetlić komunikat lub dane, trzeba do strumienia wyjśiowego out zastosować symbol podwójnego znaku mniejszośi << (operaja wstawiania). Dwa znaki mniejszośi należy wprowadzić z klawiatury. 1 Więej informaji na temat klas zytelnik znajdzie w rozdziale 6.
8 962a78eb15d2230b22be7b0aa45 8 C++. Zadania z programowania z przykł adowymi rozwiązaniami Do wprowadzania danyh do programu służy standardowy strumień wejśiowy in oraz operator >> (dwa znaki większośi, które również wprowadzamy z klawiatury), np. in >> a;. Do formatowania strumienia wyjśiowego będziemy używali flagi formatująej fixed i manipulatora setpreision(n). Flaga fixed używa do lizb zmiennoprzeinkowyh ustalonej kropki dziesiętnej, natomiast manipulator setpreision(n) ustala ih preyzję na n np. zapis out << setpreision(2); oznaza, że lizby zmiennoprzeinkowe będą wyświetlane z dokładnośią dwóh miejs po krope. Zastosowanie manipulatora setpreision(n) wymaga włązenia do programu pliku nagłówkowego: #inlude <iomanip.h> Opisane powyżej podejśie do operaji wejśia-wyjśia nazywa się obiektowym 2. Z A D A N I E 1.1 Napisz program, który obliza pole prostokąta. Wartośi boków a i b wprowadzamy z klawiatury. W programie należy przyjąć, że zmienne a i b oraz pole są typu float (rzezywistego). Przyjmujemy format wyświetlania ih na ekranie z dokładnośią dwóh miejs po krope. Przykładowe rozwiązanie listing 1.1 #inlude <iostream.h> // Zadanie 1.1 #inlude <iomanip.h> #inlude <onio.h> float a, b, pole; out << "Program obliza pole prostokata." << endl; out << "Podaj bok a." << endl; in >> a; out << "Podaj bok b." << endl; in >> b; pole = a*b; 2 Więej informaji na temat obiektowyh operaji wejśia-wyjśia, flag i manipulatorów znajdzie zytelnik na stronah WWW poświęonyh językowi programowania C++ pod adresem
9 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 9 out << fixed; // flaga out << setpreision(2); // ustalenie preyzji out << "Pole prostokata o boku a = " << a << " i boku b = " << b; out << " wynosi " << pole << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Linijka kodu float a, b, pole; umożliwia zadeklarowanie zmiennyh a, b i pole (wszystkie zmienne w programie są typu rzezywistego float). Instrukja out << "Program obliza pole prostokata." << endl; wyświetla na ekranie komputera komunikat Program obliza pole prostokata. Instrukja in >> a; zeka na wprowadzenie z klawiatury komputera lizby, która następnie zostanie przypisana zmiennej a. Pole prostokąta zostaje oblizone w wyrażeniu pole = a*b; Za wyświetlenie wartośi zmiennyh a i b oraz pole wraz z odpowiednim opisem są odpowiedzialne następująe linijki kodu: out << "Pole prostokata o boku a = " << a << " i boku b = " << b; out << " wynosi " << pole << "." << endl; Flaga fixed używa ustalonej kropki dziesiętnej dla lizb zmiennoprzeinkowyh. Zapis out << setpreision(2); oznaza, że lizby te będą wyświetlane na ekranie z dokładnośią dwóh miejs po krope. Natomiast funkja geth(); (ang. get harater wzytaj znak) zeka na wzytanie dowolnego znaku z klawiatury (naiśnięie dowolnego klawisza). Prototyp tej funkji znajduje się w pliku nagłówkowym onio.h. Instrukja endl; (ang. end of line konie linii) przenosi kursor na pozątek następnej linii. Komentarze w programie oznazamy dwoma ukośnikami // to jest komentarz do programu
10 962a78eb15d2230b22be7b0aa45 10 C++. Zadania z programowania z przykł adowymi rozwiązaniami Są one ignorowane w proesie kompilaji. Rezultat działania programu można zobazyć na rysunku 1.1. Program obliza pole prostokata. Podaj bok a. 1 Podaj bok b. 2 Pole prostokata o boku a = 1.00 i boku b = 2.00 wynosi Rysunek 1.1. Efekt działania programu Zadanie 1.1 Z A D A N I E 1.2 Napisz program, który wyświetla na ekranie komputera wartość predefiniowanej stałej π = 3,14 Należy przyjąć format prezentowania tej stałej, oznazanej w języku C++ jako M_PI, z dokładnośią pięiu miejs po krope. Wskazówka Stała M_PI znajduje się w pliku nagłówkowym math.h, który poleeniem #inlude <math.h> należy dołązyć do programu. Przykładowe rozwiązanie listing 1.2 #inlude <iostream.h> // Zadanie 1.2 #inlude <iomanip.h> #inlude <math.h> #inlude <onio.h> out << "Program wyswietla wartos predefiniowanej stalej pi" << endl; out << "z dokladnosia pieiu miejs po krope." << endl; out << "pi = " << fixed << setpreision(5) << M_PI << endl; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 1.2.
11 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 11 Program wyswietla wartos predefiniowanej stalej pi z dokladnosia pieiu miejs po krope. pi = Rysunek 1.2. Efekt działania programu Zadanie 1.2 Z A D A N I E 1.3 Napisz program, który wyświetla na ekranie komputera pierwiastek kwadratowy z wartośi predefiniowanej stałej π = 3,14... Należy przyjąć format wyświetlania tego pierwiastka z dokładnośią dwóh miejs po krope. Wskazówka Pierwiastek kwadratowy ze stałej π oblizamy, korzystają z funkji sqrt(). Funkja ta znajduje się w pliku nagłówkowym math.h. Przykładowe rozwiązanie listing 1.3 #inlude <iostream.h> // Zadanie 1.3 #inlude <iomanip.h> #inlude <math.h> #inlude <onio.h> out << "Program wyswietla pierwiastek kwadratowy z pi"; out << " z dokladnosia dwoh miejs po krope." << endl; out << "Sqrt(pi) = " << fixed << setpreision(2) << sqrt(m_pi) << endl; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 1.3. Program wyswietla pierwiastek kwadratowy z pi z dokladnosia dwoh miejs po krope. Sqrt(pi) = 1.77 Rysunek 1.3. Efekt działania programu Zadanie 1.3
12 962a78eb15d2230b22be7b0aa45 12 C++. Zadania z programowania z przykł adowymi rozwiązaniami Z A D A N I E 1.4 Napisz program, który obliza objętość kuli o promieniu r. Wartość promienia wprowadzamy z klawiatury. W programie należy przyjąć, że r jest typu float (rzezywistego). Dla zmiennyh r oraz objetos należy przyjąć format wyświetlania ih na ekranie z dokładnośią dwóh miejs po krope. Przykładowe rozwiązanie listing 1.4 #inlude <iostream.h> // Zadanie 1.4 #inlude <iomanip.h> #inlude <math.h> #inlude <onio.h> float r, objetos; out << "Program obliza objetos kuli o promieniu r." << endl; out << "Podaj promien r." << endl; in >> r; objetos = 4*M_PI*r*r*r/3; out << fixed; out << setpreision(2); out << "Objetos kuli o promieniu r = " << r << " wynosi "; out << objetos << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Objętość kuli o promieniu r obliza linijka kodu objetos = 4*M_PI*r*r*r/3; gdzie potęgowanie zamieniono na mnożenie. Rezultat działania programu można zobazyć na rysunku 1.4. Program obliza objetos kuli o promieniu r. Podaj promien r. 1 Objetos kuli o promieniu r = 1.00 wynosi Rysunek 1.4. Efekt działania programu Zadanie 1.4
13 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 13 Z A D A N I E 1.5 Napisz program, który obliza wynik dzielenia ałkowitego bez reszty dla dwóh lizb ałkowityh a = 37 i b = 11. Wskazówka W języku C++ w przypadku zastosowania operatora dzielenia / dla lizb ałkowityh reszta wyniku jest pomijana 3. Przykładowe rozwiązanie listing 1.5 #inlude <iostream.h> // Zadanie 1.5 #inlude <onio.h> int a = 37; int b = 11; out << "Program obliza wynik dzielenia alkowitego" << endl; out << "dla dwoh lizb alkowityh." << endl; out << "Dla lizb a = " << a << " i b = " << b << endl; out << a << "/" << b << " = " << a/b << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 1.5. Program obliza wynik dzielenia alkowitego dla dwoh lizb alkowityh. Dla lizb a = 37 i b = 11 37/11 = 3. Rysunek 1.5. Efekt działania programu Zadanie W języku Turbo Pasal należy zastosować operator dzielenia ałkowitego bez reszty div.
14 962a78eb15d2230b22be7b0aa45 14 C++. Zadania z programowania z przykł adowymi rozwiązaniami Z A D A N I E 1.6 Napisz program, który obliza resztę z dzielenia ałkowitego dla dwóh lizb ałkowityh a = 37 i b = 11. Wskazówka Należy zastosować operator reszty z dzielenia ałkowitego modulo, który oznazamy w języku C++ symbolem %. Operator ten umożliwia uzyskanie tylko reszty z dzielenia, natomiast ałkowita wartość lizbowa jest odrzuana. Przykładowe rozwiązanie listing 1.6 #inlude <iostream.h> // Zadanie 1.6 #inlude <onio.h> int a = 37; int b = 11; out << "Program obliza reszte z dzielenia alkowitego"; out << " dwoh lizb alkowityh." << endl; out << "Dla lizb a = " << a << " i b = " << b << endl; out << a << "%" << b << " = " << a%b << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 1.6. Program obliza reszte z dzielenia alkowitego dwoh lizb alkowityh. Dla lizb a = 37 i b = 11 37%11 = 4. Rysunek 1.6. Efekt działania programu Zadanie 1.6
15 962a78eb15d2230b22be7b0aa45 Rozdział 1. Proste operaje wejś ia-wyjś ia 15 Z A D A N I E 1.7 Napisz program, który obliza sumę, różnię, ilozyn i iloraz dla dwóh lizb x i y wprowadzanyh z klawiatury. W programie przyjmujemy, że lizby x i y są typu float (rzezywistego). Dla zmiennyh x, y, suma, roznia, ilozyn i iloraz należy przyjąć format wyświetlania ih na ekranie z dokładnośią dwóh miejs po krope. Przykładowe rozwiązanie listing 1.7 #inlude <iostream.h> // Zadanie 1.7 #inlude <iomanip.h> #inlude <onio.h> float x, y, suma, roznia, ilozyn, iloraz; out << "Program obliza sume, roznie, ilozyn i iloraz" << endl; out << "dla dwoh lizb x i y wprowadzanyh z klawiatury." << endl; out << endl; out << "Podaj x." << endl; in >> x; out << "Podaj y." << endl; in >> y; suma = x+y; roznia = x-y; ilozyn = x*y; iloraz = x/y; out << fixed; out << setpreision (2); out << "Dla x = " << x << " i y = " << y << endl; out << endl; // wydruk pustej linii out << "suma = " << suma << "," << endl; out << "roznia = " << roznia << "," << endl; out << "ilozyn = " << ilozyn << "," << endl; out << "iloraz = " << iloraz << "."; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 1.7.
16 962a78eb15d2230b22be7b0aa45 16 C++. Zadania z programowania z przykł adowymi rozwiązaniami Program obliza sume, roznie, ilozyn i iloraz dla dwoh lizb x i y wprowadzanyh z klawiatury. Podaj x. 1 Podaj y. 2 Dla x = 1.00 i y = 2.00 suma = 3.00, roznia = -1.00, ilozyn = 2.00, iloraz = Rysunek 1.7. Efekt działania programu Zadanie 1.7
17 962a78eb15d2230b22be7b0aa45 2 Podejmujemy deyzje w programie W tym rozdziale przedstawimy typowe zadania wraz z przykładowymi rozwiązaniami z wykorzystaniem instrukji warunkowyh. W języku C++ istnieją dwie instrukje warunkowe: instrukja warunkowa if... else, instrukja wyboru swith... ase. Instrukja warunkowa if... else służy do sprawdzania poprawnośi wyrażenia warunkowego i w zależnośi od tego, zy dany warunek jest prawdziwy, zy nie, pozwala na wykonanie różnyh bloków programu. Jej ogólna postać jest następująa: if (warunek) // instrukje do wykonania, kiedy warunek jest prawdziwy else // instrukje do wykonania, kiedy warunek jest fałszywy
18 962a78eb15d2230b22be7b0aa45 18 C++. Zadania z programowania z przykł adowymi rozwiązaniami Blok else jest opjonalny i instrukja warunkowa w wersji skróonej ma postać if (warunek) // instrukje do wykonania, kiedy warunek jest prawdziwy Jeżeli warunek nie jest prawdziwy, to instrukja warunkowa if nie zostanie wykonana. Instrukja wyboru swith... ase pozwala w wygodny i przejrzysty sposób sprawdzić iąg warunków i wykonywać kod w zależnośi od tego, zy są one prawdziwe, zy fałszywe. Jej ogólna postać jest następująa: swith (wyrażenie) ase wartość_1 : instrukje_1; break; ase wartość_2 : instrukje_2; break;... ase wartość_n : instrukje_n; break; default : instrukje; Instrukja break przerywa wykonywanie ałego bloku ase. UWAGA: jej brak może doprowadzić do nieozekiwanyh wyników i błędów w programie. Z A D A N I E 2.1 Napisz program, który dla trzeh boków trójkąta a, b i wprowadzonyh z klawiatury sprawdza, zy tworzą one trójkąt prostokątny (zakładamy, że a > 0, b > 0, > 0). Przykładowe rozwiązanie listing 2.1 #inlude <iostream.h> // Zadanie 2.1 #inlude <onio.h> int a, b, ; out << "Program sprawdza, zy boki a, b oraz tworza trojkat prostokatny." << endl;
19 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 19 out << "Podaj bok a." << endl; in >> a; out << "Podaj bok b." << endl; in >> b; out << "Podaj bok." << endl; in >> ; if ((a*a+b*b) == (*)) out << "Boki a = " << a << ", b = " << b << " i = " << ; out << " tworza trojkat prostokatny." << endl; else out << "Boki a = " << a << ", b = " << b << " i = " << ; out << " nie tworza trojkata prostokatnego." << endl; geth(); // zeka na naisnieie dowolnego klawisza Sprawdzenie twierdzenia Pitagorasa dla wzytanyh boków a, b i zostało zawarte w następująyh linijkah kodu: if ((a*a+b*b) == (*)) out << "Boki a = " << a << ", b = " << b << " i = " << ; out << " tworza trojkat prostokatny." << endl; else out << "Boki a = " << a << ", b = " << b << " i = " << ; out << " nie tworza trojkata prostokatnego." << endl; Łatwo sprawdzić, że boki a = 3, b = 4, = 5 tworzą trójkąt prostokątny (lizby te spełniają twierdzenie Pitagorasa), i na ekranie pojawi się komunikat Boki tworza trojkat prostokatny, natomiast boki a = 1, b = 2, = 3 nie tworzą trójkąta prostokątnego (lizby te nie spełniają twierdzenia Pitagorasa), wię na ekranie zostanie wyświetlony komunikat Boki nie tworza trojkata prostokatnego. Rezultat działania programu dla a = 1, b = 2, = 3 można zobazyć na rysunku 2.1.
20 962a78eb15d2230b22be7b0aa45 20 C++. Zadania z programowania z przykł adowymi rozwiązaniami Program sprawdza, zy boki a, b oraz tworza trojkat prostokatny. Podaj bok a. 1 Podaj bok b. 2 Podaj bok. 3 Boki a = 1, b = 2 i = 3 nie tworza trojkata prostokatnego. Rysunek 2.1. Efekt działania programu Zadanie 2.1 Z A D A N I E 2.2 Napisz program, który z wykorzystaniem instrukji warunkowej if obliza pierwiastki równania kwadratowego ax 2 +bx+ = 0, gdzie zmienne a, b, to lizby rzezywiste wprowadzane z klawiatury. Dla zmiennyh a, b,, x1 oraz x2 należy przyjąć format wyświetlania ih z dokładnośią dwóh miejs po krope. Przykładowe rozwiązanie listing 2.2 #inlude <iostream.h> // Zadanie 2.2 #inlude <iomanip.h> #inlude <math.h> #inlude <onio.h> float a, b,, delta, x1, x2; out << "Program obliza pierwiastki rownania kwadratowego"; out << " dla dowolnyh wspolzynnikow a, b,." << endl; out << "Podaj a." << endl; in >> a; if (a == 0) out << "Niedozwolona wartos wspolzynnika a. Naisnij dowolny klawisz."; else out << "Podaj b." << endl; in >> b; out << "Podaj." << endl; in >> ; out << fixed; out << setpreision(2);
21 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 21 out << "Dla wprowadzonyh lizb:" << endl; out << "a = " << a << "," << endl; out << "b = " << b << "," << endl; out << " = " << << "," << endl; delta = b*b-4*a*; if (delta < 0) out << "brak pierwiastkow rzezywistyh." << endl; else if (delta == 0) x1 = -b/(2*a); out << "trojmian ma jeden pierwiastek podwojny x1 = " << x1 << "." << endl; else x1 = (-b-sqrt(delta))/(2*a); x2 = (-b+sqrt(delta))/(2*a); out << "trojmian ma dwa pierwiastki:" << endl; out << "x1 = " << x1 << "," << endl; out << "x2 = " << x2 << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza W pierwszej zęśi programu sprawdzamy, zy wartość współzynnika a jest równa zero. Ilustrują to następująe linijki kodu: if (a == 0) out << "Niedozwolona wartos wspolzynnika a. Naisnij dowolny klawisz."; else Jeśli a = 0, to zostanie wyświetlony komunikat Niedozwolona wartos wspolzynnika a i program zostanie zakońzony. Dla a różnego od zera program będzie ozekiwał na wprowadzenie wartośi b i. Po ih wpisaniu zostanie oblizona delta według wzoru
22 962a78eb15d2230b22be7b0aa45 22 C++. Zadania z programowania z przykł adowymi rozwiązaniami delta = b*b-4*a*; Jeśli delta < 0, to zostanie wyświetlony komunikat brak pierwiastkow rzezywistyh. W przypadku gdy delta = 0, równanie kwadratowe ma jeden pierwiastek podwójny, który oblizymy ze wzoru x1 = -b/(2*a); Jeśli delta > 0 równanie ma dwa pierwiastki, które zostaną oblizone przy użyiu wzorów x1 = (-b-sqrt(delta))/(2*a); x2 = (-b+sqrt(delta))/(2*a); Przykładowo dla a = 1, b = 5 i = 4 wartośi pierwiastków równania wynoszą odpowiednio x1 = -4 i x2 = -1. Dla a = 1, b = 4 i = 4 trójmian ma z kolei jeden pierwiastek podwójny x1 = -2. Dla a = 1, b = 2 oraz = 3 trójmian nie ma pierwiastków rzezywistyh. Rezultat działania programu dla a = 1, b = 5, = 4 można zobazyć na rysunku 2.2. Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,. Podaj a. 1 Podaj b. 5 Podaj. 4 Dla wprowadzonyh lizb: a = 1.00, b = 5.00, = 4.00, trojmian ma dwa pierwiastki: x1 = -4.00, x2 = Rysunek 2.2. Efekt działania programu Zadanie 2.2
23 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 23 Z A D A N I E 2.3 Napisz program, który z wykorzystaniem instrukji wyboru swith obliza pierwiastki równania kwadratowego ax 2 +bx+ = 0, gdzie zmienne a, b, to lizby rzezywiste wprowadzane z klawiatury. Dla zmiennyh a, b,, x1 oraz x2 należy przyjąć format wyświetlania ih na ekranie z dokładnośią dwóh miejs po krope. Wskazówka Należy wprowadzić do programu zmienną pomonizą lizba_pierwiastkow. Przykładowe rozwiązanie listing 2.3 #inlude <iostream.h> // Zadanie 2.3 #inlude <iomanip.h> #inlude <math.h> #inlude <onio.h> float a, b,, delta, x1, x2; har lizba_pierwiastkow; out << "Program obliza pierwiastki rownania kwadratowego"; out << " dla dowolnyh wspolzynnikow a, b,." << endl; out << "Podaj a." << endl; in >> a; if (a == 0) out << "Niedozwolona wartos wspolzynnika a. Naisnij dowolny klawisz."; else out << "Podaj b." << endl; in >> b; out << "Podaj." << endl; in >> ; out << fixed; out << setpreision(2); out << "Dla wprowadzonyh lizb:" << endl; out << "a = " << a << "," << endl; out << "b = " << b << "," << endl; out << " = " << << "," << endl; delta = b*b-4*a*;
24 962a78eb15d2230b22be7b0aa45 24 C++. Zadania z programowania z przykł adowymi rozwiązaniami if (delta < 0) lizba_pierwiastkow = 0; if (delta == 0) lizba_pierwiastkow = 1; if (delta > 0) lizba_pierwiastkow = 2; swith (lizba_pierwiastkow) ase 0 : out << "brak pierwiastkow rzezywistyh." << endl; break; ase 1 : x1 = -b/(2*a); out << "trojmian ma jeden pierwiastek podwojny"; out << " x1 = " << x1 << "." << endl; break; ase 2 : x1 = (-b-sqrt(delta))/(2*a); x2 = (-b+sqrt(delta))/(2*a); out << "trojmian ma dwa pierwiastki:" << endl; out << "x1 = " << x1 << "," << endl; out << "x2 = " << x2 << "." << endl; break; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu dla a = 1, b = 4, = 4 można zobazyć na rysunku 2.3. Program obliza pierwiastki rownania kwadratowego dla dowolnyh wspolzynnikow a, b,. Podaj a. 1 Podaj b. 4 Podaj. 4 Dla wprowadzonyh lizb: a = 1.00, b = 4.00, = 4.00, trojmian ma jeden pierwiastek podwojny x1 = Rysunek 2.3. Efekt działania programu Zadanie 2.3
25 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 25 Z A D A N I E 2.4 Napisz program, który obliza wartość x z równania ax+b =. Wartośi a, b i należą do zbioru lizb rzezywistyh i są wprowadzane z klawiatury. Dodatkowo należy zabezpiezyć program na wypadek sytuaji, kiedy wprowadzona wartość a jest równa zero. Dla zmiennyh a, b, oraz x należy przyjąć format wyświetlania ih z dokładnośią dwóh miejs po krope. Przykładowe rozwiązanie listing 2.4 #inlude <iostream.h> // Zadanie 2.4 #inlude <iomanip.h> #inlude <onio.h> float a, b,, x; out << "Program obliza wartos x z rownania liniowego ax+b =." << endl; out << "Podaj a." << endl; in >> a; if (a == 0) out << "Niedozwolona wartos wspolzynnika. Naisnij dowolny klawisz."; else out << "Podaj b." << endl; in >> b; out << "Podaj." << endl; in >> ; x = (-b)/a; out << fixed; out << setpreision(2); out << "Dla a = " << a << ", b = " << b << ", = " << ; out << " wartos x = " << x << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza
26 962a78eb15d2230b22be7b0aa45 26 C++. Zadania z programowania z przykł adowymi rozwiązaniami Rezultat działania programu można zobazyć na rysunku 2.4. Program obliza wartos x z rownania liniowego ax+b =. Podaj a. 1 Podaj b. 2 Podaj. 3 Dla a = 1.00, b = 2.00, = 3.00 wartos x = Rysunek 2.4. Efekt działania programu Zadanie 2.4 Z A D A N I E 2.5 Napisz program, w którym użytkownik zgaduje lizbę losową z przedziału od 0 do 9 generowaną przez komputer. Wskazówka W programie należy zastosować instrukję (makro) random(). Przykładowe rozwiązanie listing 2.5 #inlude <iostream.h> // Zadanie 2.5 #inlude <math.h> #inlude <onio.h> int losuj_lizbe, zgadnij_lizbe; out << "Program losuje lizbe od 0 do 9. Zgadnij ja." << endl; randomize(); losuj_lizbe = random(10); in >> zgadnij_lizbe; if (zgadnij_lizbe == losuj_lizbe) out << "Gratulaje! Zgadles lizbe!" << endl; else
27 962a78eb15d2230b22be7b0aa45 Rozdział 2. Podejmujemy deyzje w programie 27 out << "Bardzo mi przykro, ale wylosowana lizba to: " << losuj_lizbe << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Za losowanie lizby przez komputer odpowiadają w programie następująe linijki kodu: randomize(); losuj_lizbe = random(10); Instrukja (makro) random(10) zwraa lizbę pseudolosową z zakresu od 0 do 9 (tj. 10 1). Instrukja (makro) randomize() inijalizuje generator lizb pseudolosowyh (tzn. ustala jego wartość pozątkową). Rezultat działania programu można zobazyć na rysunku 2.5. Program losuje lizbe od 0 do 9. Zgadnij ja. 1 Bardzo mi przykro, ale wylosowana lizba to: 4. Rysunek 2.5. Efekt działania programu Zadanie 2.5
28 962a78eb15d2230b22be7b0aa45 28 C++. Zadania z programowania z przykł adowymi rozwiązaniami
29 962a78eb15d2230b22be7b0aa45 3 Iteraje W tym rozdziale przedstawimy typowe zadania wraz z przykładowymi rozwiązaniami z wykorzystaniem iteraji, zyli popularnyh pętli. O ile młodzi programiśi nie mają problemu z programami, w któryh wykorzystano instrukję for, to zamiana jej na do... while oraz while powoduje pewne trudnośi. Proste przykłady z użyiem instrukji for zostały wię rozwiązane zarówno z instrukją do... while, jak i while. Iteraja (ła. iteratio powtarzanie) to zynność powtarzania (najzęśiej wielokrotnego) tej samej albo wielu różnyh instrukji w pętli. W języku C++ istnieją trzy instrukje iterayjne: for (dla), do... while (powtarzaj), while (dopóki). Pętlę for stosujemy w sytuaji, kiedy dokładnie wiemy, ile razy ma ona zostać wykonana. Istnieje wiele wariantów tej pętli, ale zawsze możemy wyróżnić trzy główne zęśi. 1. Inijalizaja to zwykle instrukja przypisania stosowana do ustawienia pozątkowej wartośi zmiennej sterująej pętlą. 2. Warunek jest wyrażeniem relayjnym określająym moment zakońzenia wykonywania pętli. 3. Inkrementaja (zwiększanie) lub dekrementaja (zmniejszanie) definiuje sposób modyfikaji zmiennej sterująej pętlą po zakońzeniu każdego przebiegu (powtórzenia).
30 962a78eb15d2230b22be7b0aa45 30 C++. Zadania z programowania z przykł adowymi rozwiązaniami Te trzy główne składowe oddzielone są od siebie średnikami. Pętla for wykonywana jest tak długo, dopóki wartość warunku wynosi true. Gdy warunek osiągnie wartość false, działanie programu jest kontynuowane od pierwszej instrukji znajdująej się za pętlą. W przeiwieństwie do Turbo Pasala w języku C++ zmienna sterująa pętlą for nie musi być typu ałkowitego, znakowego lub logiznego. Może być ona np. typu float. Pętla ta może być wykonywana tyle razy, ile wartośi znajduje się w przedziale lub inijalizaja; warunek; zwiększanie inijalizaja; warunek; zmniejszanie Ogólna postać tej instrukji jest następująa: lub for (inijalizaja; warunek; zwiększanie) // instrukje for (inijalizaja; warunek; zmniejszanie) // instrukje W języku C++ jest możliwa zmiana przyrostu zmiennej sterująej pętlą. Kolejną instrukją iterayjną jest do... while. Jej ogólna postać jest następująa: do // instrukje while (warunek); Cehą harakterystyzną instrukji iterayjnej do... while jest to, że bez względu na wartość zmiennej warunek pętla musi zostać wykonana o najmniej jeden raz. Program po napotkaniu instrukji do... while whodzi do pętli i wykonuje instrukje znajdująe się w nawiasah klamrowyh, a następnie sprawdza, zy warunek jest spełniony.
31 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 31 Jeśli tak, wraa na pozątek pętli, natomiast jeśli warunek osiągnie wartość false (nieprawda), pętla się zakońzy. Ostatnią instrukją iterayjną jest while. Jej ogólna postać jest następująa: while (warunek) // instrukje Cehą harakterystyzną tej instrukji jest sprawdzenie warunku jeszze przed jej wykonaniem. W szzególnym przypadku pętla może nie zostać wale wykonana. Instrukja while powoduje wykonywanie instrukji tak długo, dopóki warunek jest prawdziwy. Z A D A N I E 3.1 Napisz program, który za pomoą instrukji for dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x. Przykładowe rozwiązanie listing 3.1 #inlude <iostream.h> // Zadanie 3.1 #inlude <onio.h> int x, y; out << "Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10." << endl; for (x = 0; x <= 10; x++) y = 3*x; out << "x = " << x << '\t' << "y = " << y << endl; geth(); // zeka na naisnieie dowolnego klawisza W pętli for (x = 0; x <= 10; x++)
32 962a78eb15d2230b22be7b0aa45 32 C++. Zadania z programowania z przykł adowymi rozwiązaniami kolejne wartośi x, zmieniająe się automatyznie od 0 (inijalizaja) do 10 (warunek) z krokiem 1 (zwiększanie), będą podstawiane do wzoru y = 3*x; a następnie zostaną wyświetlone na ekranie. Znak '\t' oznaza przejśie do następnej pozyji w tabulaji linii. Rezultat działania programu można zobazyć na rysunku 3.1. Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10. x = 0 y = 0 x = 1 y = 3 x = 2 y = 6 x = 3 y = 9 x = 4 y = 12 x = 5 y = 15 x = 6 y = 18 x = 7 y = 21 x = 8 y = 24 x = 9 y = 27 x = 10 y = 30 Rysunek 3.1. Efekt działania programu Zadanie 3.1 Z A D A N I E 3.2 Napisz program, który za pomoą instrukji do... while dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x. Przykładowe rozwiązanie listing 3.2 #inlude <iostream.h> // Zadanie 3.2 #inlude <onio.h> int x = 0, y = 0; out << "Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10." << endl;
33 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 33 do y = 3*x; out << "x = " << x << '\t' << "y = " << y << endl; x++; while (x <= 10); geth(); // zeka na naisnieie dowolnego klawisza Pętla do... while do y = 3*x; out << "x = " << x << '\t' << "y = " << y << endl; x++; while (x <= 10); nie posiada wbudowanego mehanizmu zmiany sterująej nią zmiennej, dlatego musimy do niej ten mehanizm dobudować. Rolę zmiennej sterująej pełni tutaj x. Zmienną tą powinniśmy przed pętlą wyzerować, stąd zapis x = 0; Następnie x należy zwiększać o krok, który w naszym przypadku wynosi 1. Ilustruje to następująa linijka kodu: x++; Pętla będzie powtarzana tak długo, aż zostanie spełniona zależność x <= 10. Zwróćmy uwagę, że warunek sprawdzająy zakońzenie działania pętli, tzn. while (x <= 10), znajduje się na jej końu. Z A D A N I E 3.3 Napisz program, który za pomoą instrukji while dla danyh wartośi x zmieniająyh się od 0 do 10 obliza wartość funkji y = 3x. Przykładowe rozwiązanie listing 3.3 #inlude <iostream.h> // Zadanie 3.3 #inlude <onio.h>
34 962a78eb15d2230b22be7b0aa45 34 C++. Zadania z programowania z przykł adowymi rozwiązaniami int x = 0, y = 0; out << "Program obliza wartos funkji y = 3x dla x zmieniajaego sie od 0 do 10." << endl; while (x <= 10) y = 3*x; out << "x = " << x << '\t' << "y = " << y << endl; x++; geth(); // zeka na naisnieie dowolnego klawisza Pętla while, podobnie jak do... while, nie posiada wbudowanego mehanizmu zmiany sterująej nią zmiennej, musimy wię do niej ten mehanizm dobudować. Rolę zmiennej sterująej pełni tutaj zmienna x. while (x <= 10) y = 3*x; out << "x = " << x << '\t' << "y = " << y << endl; x++; Zmienną x powinniśmy przed pętlą wyzerować, zatem x = 0; Następnie należy ją zwiększać o krok, który w naszym przypadku wynosi 1. Ilustruje to następująa linijka kodu: x++; Pętla będzie powtarzana tak długo, aż stanie się prawdziwa zależność x <= 10. Zwróćmy uwagę, że warunek sprawdzająy zakońzenie działania pętli, tzn. while (x <= 10), znajduje się na jej pozątku. Z A D A N I E 3.4 Napisz program, który za pomoą instrukji for wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.4 #inlude <iostream.h> // Zadanie 3.4 #inlude <onio.h>
35 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 35 int i; out << "Program wyswietla lizby alkowite od 1 do 20." << endl; for (i = 1; i <= 20; i++) if (i < 20) out << i << ", "; else out << i << "."; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 3.2. Program wyswietla lizby alkowite od 1 do 20. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20. Rysunek 3.2. Efekt działania programu Zadanie 3.4 Z A D A N I E 3.5 Napisz program, który za pomoą instrukji do... while wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.5 #inlude <iostream.h> // Zadanie 3.5 #inlude <onio.h> int i = 1; // ustalenie wartosi pozatkowej out << "Program wyswietla lizby alkowite od 1 do 20." << endl; do if (i < 20)
36 962a78eb15d2230b22be7b0aa45 36 C++. Zadania z programowania z przykł adowymi rozwiązaniami out << i << ", "; else out << i << "."; i++; while (i <= 20); geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.6 Napisz program, który za pomoą instrukji while wyświetla lizby ałkowite od 1 do 20. Przykładowe rozwiązanie listing 3.6 #inlude <iostream.h> // Zadanie 3.6 #inlude <onio.h> int i = 1; // ustalenie wartosi pozatkowej out << "Program wyswietla lizby alkowite od 1 do 20." << endl; while (i <= 20) if (i < 20) out << i << ", "; else out << i << "."; i++; geth(); // zeka na naisnieie dowolnego klawisza
37 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 37 Z A D A N I E 3.7 Napisz program, który za pomoą instrukji for sumuje lizby ałkowite od 1 do 100. Przykładowe rozwiązanie listing 3.7 #inlude <iostream.h> // Zadanie 3.7 #inlude <onio.h> int i, suma = 0; out << "Program sumuje lizby alkowite od 1 do 100." << endl; for (i = 1; i <= 100; i++) suma = suma+i; out << "Suma lizb alkowityh od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Za sumowanie lizb ałkowityh od 1 do 100 odpowiedzialne są następująe linijki kodu: for (i = 1; i <= 100; i++) suma = suma+i; Ozywiśie przed pętlą zmienna suma musi zostać wyzerowana, stąd zapis suma = 0; Rezultat działania programu można zobazyć na rysunku 3.3. Program sumuje lizby alkowite od 1 do 100. Suma lizb alkowityh od 1 do 100 wynosi Rysunek 3.3. Efekt działania programu Zadanie 3.7
38 962a78eb15d2230b22be7b0aa45 38 C++. Zadania z programowania z przykł adowymi rozwiązaniami Z A D A N I E 3.8 Napisz program, który za pomoą instrukji do... while sumuje lizby ałkowite od 1 do 100. Przykładowe rozwiązanie listing 3.8 #inlude <iostream.h> // Zadanie 3.8 #inlude <onio.h> int i = 1, suma = 0; // ustalenie wartosi pozatkowyh out << "Program sumuje lizby alkowite od 1 do 100." << endl; do suma = suma+i; i++; while (i <= 100); out << "Suma lizb alkowityh od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.9 Napisz program, który za pomoą instrukji while sumuje lizby ałkowite od 1 do 100. Przykładowe rozwiązanie listing 3.9 #inlude <iostream.h> // Zadanie 3.9 #inlude <onio.h> int i = 1, suma = 0; // ustalenie wartosi pozatkowyh out << "Program sumuje lizby alkowite od 1 do 100." << endl; while (i <= 100) suma = suma+i;
39 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 39 i++; out << "Suma lizb alkowityh od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.10 Napisz program, który za pomoą instrukji for sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo %. Przykładowe rozwiązanie listing 3.10 #inlude <iostream.h> // Zadanie 3.10 #inlude <onio.h> int i, suma = 0; out << "Program sumuje lizby parzyste w przedziale od 1 do 100." << endl; for (i = 1; i <= 100; i++) if (i%2 == 0) suma = suma+i; out << "Suma lizb parzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Za sumowanie lizb parzystyh z przedziału od 1 do 100 odpowiedzialne są następująe linijki kodu: for (i = 1; i <= 100; i++) if (i%2 == 0) suma = suma+i;
40 962a78eb15d2230b22be7b0aa45 40 C++. Zadania z programowania z przykł adowymi rozwiązaniami Do wyodrębnienia lizb parzystyh wykorzystaliśmy właśiwośi operatora modulo oznazonego symbolem %. Użyliśmy w tym elu zapisu i%2 == 0 jeśli reszta z dzielenia ałkowitego zmiennej i%2 wynosi zero, to mamy do zynienia z lizbą parzystą, którą dodajemy do zmiennej suma. Rezultat działania programu można zobazyć na rysunku 3.4. Program sumuje lizby parzyste w przedziale od 1 do 100. Suma lizb parzystyh z przedzialu od 1 do 100 wynosi Rysunek 3.4. Efekt działania programu Zadanie 3.10 Z A D A N I E 3.11 Napisz program, który za pomoą instrukji do... while sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo %. Przykładowe rozwiązanie listing 3.11 #inlude <iostream.h> // Zadanie 3.11 #inlude <onio.h> int i, suma = 0; out << "Program sumuje lizby parzyste w przedziale od 1 do 100." << endl; do if (i%2 == 0) suma = suma+i; i++; while (i <= 100); out << "Suma lizb parzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza
41 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 41 Z A D A N I E 3.12 Napisz program, który za pomoą instrukji while sumuje lizby parzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo %. Przykładowe rozwiązanie listing 3.12 #inlude <iostream.h> // Zadanie 3.12 #inlude <onio.h> int i, suma = 0; out << "Program sumuje lizby parzyste w przedziale od 1 do 100." << endl; while (i <= 100) if (i%2 == 0) suma = suma+i; i++; out << "Suma lizb parzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.13 Napisz program, który za pomoą instrukji for sumuje lizby nieparzyste z przedzialu od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo % i oznazonego symbolem! operatora negaji. Przykładowe rozwiązanie listing 3.13 #inlude <iostream.h> // Zadanie 3.13 #inlude <onio.h>
42 962a78eb15d2230b22be7b0aa45 42 C++. Zadania z programowania z przykł adowymi rozwiązaniami int i, suma = 0; out << "Program sumuje lizby nieparzyste w przedziale od 1 do 100." << endl; for (i = 1; i <= 100; i++) if (!(i%2 == 0)) suma = suma+i; out << "Suma lizb nieparzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Za sumowanie lizb nieparzystyh od 1 do 100 odpowiedzialne są następująe linijki kodu: for (i = 1; i <= 100; i++) if (!(i%2 == 0)) suma = suma+i; Do wyodrębnienia lizb nieparzystyh wykorzystaliśmy właśiwośi operatora modulo oznazonego symbolem % oraz właśiwośi oznazonego znakiem! operatora negaji. Drugi z nih przekształa warunek prawdziwy w fałszywy, a fałszywy w prawdziwy. Zapis (!(i%2 == 0)) oznaza, że reszta z dzielenia ałkowitego zmiennej i%2 jest różna od zera, a wię mamy do zynienia z lizbą nieparzystą, którą dodajemy do zmiennej suma. Rezultat działania programu można zobazyć na rysunku 3.5. Program sumuje lizby nieparzyste w przedziale od 1 do 100. Suma lizb nieparzystyh z przedzialu od 1 do 100 wynosi Rysunek 3.5. Efekt działania programu Zadanie 3.13
43 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 43 Z A D A N I E 3.14 Napisz program, który za pomoą instrukji do... while sumuje lizby nieparzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo % i operatora negaji!. Przykładowe rozwiązanie listing 3.14 #inlude <iostream.h> // Zadanie 3.14 #inlude <onio.h> int i, suma = 0; out << "Program sumuje lizby nieparzyste w przedziale od 1 do 100." << endl; do if (!(i%2 == 0)) suma = suma+i; i++; while (i <= 100); out << "Suma lizb nieparzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.15 Napisz program, który za pomoą instrukji while sumuje lizby nieparzyste w przedziale od 1 do 100. Wskazówka Należy skorzystać z właśiwośi operatora modulo % i operatora negaji!. Przykładowe rozwiązanie listing 3.15 #inlude <iostream.h> // Zadanie 3.15 #inlude <onio.h>
44 962a78eb15d2230b22be7b0aa45 44 C++. Zadania z programowania z przykł adowymi rozwiązaniami int i, suma = 0; out << "Program sumuje lizby nieparzyste w przedziale od 1 do 100." << endl; while (i <= 100) if (!(i%2 == 0)) suma = suma+i; i++; out << "Suma lizb nieparzystyh z przedzialu od 1 do 100 wynosi " << suma << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.16 Napisz program, który za pomoą instrukji for znajduje największą i najmniejszą lizbę ze zbioru n lizb losowyh z przedziału od 0 do 99 oraz obliza ih średnią (w zadaniu n = 5). Przykładowe rozwiązanie listing 3.16 #inlude <iostream.h> // Zadanie 3.16 #inlude <math.h> #inlude <iomanip.h> #inlude <onio.h> onst ilos_lizb = 5; int i; float lizba, suma, min, max; out << "Program losuje " << ilos_lizb << " lizb z przedzialu od 0 do 99," << endl; out << "a nastepnie znajduje najmniejsza i najwieksza oraz" << endl; out << "obliza srednia ze wszystkih wylosowanyh lizb." << endl; suma = 0; randomize();
45 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 45 min = random(100); out << endl; out << "Wylosowano lizby: " << min << ", "; max = min; suma = suma+max; for (i = 1; i <= ilos_lizb-1; i++) lizba = random(100); if (i <= ilos_lizb-2) out << lizba << ", "; else out << lizba << "."; if (max < lizba) max = lizba; if (lizba < min) min = lizba; suma = suma+lizba; out << endl; out << "Najwieksza lizba to " << max << "." << endl; out << "Najmniejsza lizba to " << min << "." << endl; out << "Srednia wynosi " << fixed << setpreision(2) << suma/ilos_lizb << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza W pierwszej kolejnośi w programie losujemy lizbę i przypisujemy jej wartość min. min = random(100); W kolejnym kroku wartośi max nadajemy wartość min. max = min; Następnie w pętli pomniejszonej o 1 (for (i = 1; i <= ilos_lizb-1; i++)) sprawdzamy, zy następna wylosowana lizba jest większa od poprzedniej. Jeśli tak, to staje się ona największą lizbą (max); w przeiwnym wypadku przypisujemy jest wartość min. Ilustrują to poniższe linijki:
46 962a78eb15d2230b22be7b0aa45 46 C++. Zadania z programowania z przykł adowymi rozwiązaniami if (max < lizba) max = lizba; if (lizba < min) min = lizba; Sumę wszystkih wylosowanyh lizb wylizają następująe linijki kodu: suma = suma+max (przed pętlą) i suma = suma+lizba (w pętli). Średnia ze wszystkih lizb jest natomiast oblizana i wyświetlana na ekranie przez taki fragment kodu: out << "Srednia wynosi " << fixed << setpreision(2) << suma/ilos_lizb << "." << endl; Rezultat działania programu dla pięiu wylosowanyh lizb można zobazyć na rysunku 3.6. Program losuje 5 lizb z przedzialu od 0 do 99, a nastepnie znajduje najmniejsza i najwieksza oraz obliza srednia ze wszystkih wylosowanyh lizb. Wylosowano lizby: 93, 76, 61, 12, 23. Najwieksza lizba to 93. Najmniejsza lizba to 12. Srednia wynosi Rysunek 3.6. Efekt działania programu Zadanie 3.16 Z A D A N I E 3.17 Napisz program, który za pomoą instrukji do... while znajduje największą i najmniejszą lizbę ze zbioru n lizb losowyh z przedziału od 0 do 99 oraz obliza ih średnią (w zadaniu n = 5). Przykładowe rozwiązanie listing 3.17 #inlude <iostream.h> // Zadanie 3.17 #inlude <math.h> #inlude <iomanip.h> #inlude <onio.h> onst ilos_lizb = 5; int i = 1; float lizba, suma, min, max;
47 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 47 out << "Program losuje " << ilos_lizb << " lizb z przedzialu od 0 do 99," << endl; out << "a nastepnie znajduje najmniejsza i najwieksza oraz" << endl; out << "obliza srednia ze wszystkih wylosowanyh lizb." << endl; suma = 0; randomize(); min = random(100); out << endl; out << "Wylosowano lizby: " << min << ", "; max = min; suma = suma+max; do lizba = random(100); if (i <= ilos_lizb-2) out << lizba << ", "; else out << lizba << "."; if (max < lizba) max = lizba; if (lizba < min) min = lizba; suma = suma+lizba; i++; while (i <= ilos_lizb-1); out << endl; out << "Najwieksza lizba to " << max << "." << endl; out << "Najmniejsza lizba to " << min << "." << endl; out << "Srednia wynosi " << fixed << setpreision(2) << suma/ilos_lizb << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.18 Napisz program, który za pomoą instrukji while znajduje największą i najmniejszą lizbę ze zbioru n lizb losowyh z przedziału od 0 do 99 oraz obliza ih średnią (w zadaniu n = 5).
48 962a78eb15d2230b22be7b0aa45 48 C++. Zadania z programowania z przykł adowymi rozwiązaniami Przykładowe rozwiązanie listing 3.18 #inlude <iostream.h> // Zadanie 3.18 #inlude <math.h> #inlude <iomanip.h> #inlude <onio.h> onst ilos_lizb = 5; int i = 1; float lizba, suma, min, max; out << "Program losuje " << ilos_lizb << " lizb z przedzialu od 0 do 99," << endl; out << "a nastepnie znajduje najmniejsza i najwieksza oraz" << endl; out << "obliza srednia ze wszystkih wylosowanyh lizb." << endl; suma = 0; randomize(); min = random(100); out << endl; out << "Wylosowano lizby: " << min << ", "; max = min; suma = suma+max; while (i <= ilos_lizb-1) lizba = random(100); if (i <= ilos_lizb-2) out << lizba << ", "; else out << lizba << "."; if (max < lizba) max = lizba; if (lizba < min) min = lizba; suma = suma+lizba; i++;
49 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 49 out << endl; out << "Maksymalna lizba to " << max << "." << endl; out << "Minimalna lizba to " << min << "." << endl; out << "Srednia wynosi " << fixed << setpreision(2) << suma/ ilos_lizb << "." << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.19 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli for. Przykładowe rozwiązanie listing 3.19 #inlude <iostream.h> // Zadanie 3.19 #inlude <iomanip.h> #inlude <onio.h> onst n = 10; int wiersze, kolumny; out << "Program wyswietla tablizke mnozenia dla lizb od 1 do 100." << endl; out << endl; for (wiersze = 1; wiersze <= n; wiersze++) for (kolumny = 1; kolumny <= n; kolumny++) out << wiersze*kolumny << '\t'; out << endl; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 3.7.
50 962a78eb15d2230b22be7b0aa45 50 C++. Zadania z programowania z przykł adowymi rozwiązaniami Program wyswietla tablizke mnozenia dla lizb od 1 do Rysunek 3.7. Efekt działania programu Zadanie 3.19 Z A D A N I E 3.20 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli do... while. Przykładowe rozwiązanie listing 3.20 #inlude <iostream.h> // Zadanie 3.20 #inlude <iomanip.h> #inlude <onio.h> onst n = 10; int wiersze, kolumny;
51 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 51 out << "Program wyswietla tablizke mnozenia dla lizb od 1 do 100." << endl; out << endl; wiersze = 1; do kolumny = 1; do out << wiersze*kolumny << '\t'; kolumny++; while (kolumny <= n); wiersze++; out << endl; while (wiersze <= n); geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.21 Napisz program wyświetlająy tablizkę mnożenia dla lizb od 1 do 100 z wykorzystaniem podwójnej pętli while. Przykładowe rozwiązanie listing 3.21 #inlude <iostream.h> // Zadanie 3.21 #inlude <iomanip.h> #inlude <onio.h> onst n = 10; int wiersze, kolumny; out << "Program wyswietla tablizke mnozenia dla lizb od 1 do 100." << endl; out << endl; wiersze = 1; while (wiersze <= n) kolumny = 1; while (kolumny <= n)
52 962a78eb15d2230b22be7b0aa45 52 C++. Zadania z programowania z przykł adowymi rozwiązaniami out << wiersze*kolumny << '\t'; kolumny++; wiersze++; out << endl; geth(); // zeka na naisnieie dowolnego klawisza Z A D A N I E 3.22 Napisz program, który wyświetla duże litery alfabetu od A do Z i od Z do A, z wykorzystaniem pętli for. Przykładowe rozwiązanie listing 3.22 #inlude <iostream.h> // Zadanie 3.22 #inlude <iomanip.h> #inlude <onio.h> har znak; out << "Program wyswietla duze litery alfabetu od A do Z i od Z do A." << endl; out << endl; for (znak = 'A'; znak <= 'Z'; znak++) if (znak < 'Z') out << znak << ", "; else out << znak << "."; out << endl; for (znak = 'Z'; znak >= 'A'; znak--) if (znak > 'A') out << znak << ", ";
53 962a78eb15d2230b22be7b0aa45 Rozdział 3. Iteraje 53 else out << znak << "."; geth(); // zeka na naisnieie dowolnego klawisza Rezultat działania programu można zobazyć na rysunku 3.8. Program wyswietla duze litery alfabetu od A do Z i od Z do A. A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z. Z, Y, X, W, V, U, T, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A. Rysunek 3.8. Efekt działania programu Zadanie 3.22 Z A D A N I E 3.23 Napisz program, który wyświetla duże litery alfabetu od A do Z i od Z do A, z wykorzystaniem pętli do... while. Przykładowe rozwiązanie listing 3.23 #inlude <iostream.h> // Zadanie 3.23 #inlude <iomanip.h> #inlude <onio.h> har znak; out << "Program wyswietla duze litery alfabetu od A do Z i od Z do A." << endl; out << endl; znak = 'A'; do if (znak < 'Z')
helion kopia dla: Iwona Kruszynska
962a78eb15d2230b22be7b0aa45 Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszehnianie ałośi lub fragmentu niniejszej publikaji w jakiejkolwiek postai jest zabronione. Wykonywanie kopii metodą kserografizną,
z programowania z przykładowymi rozwiązaniami
Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
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
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,
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:
FUNKCJA KWADRATOWA. Poziom podstawowy
FUNKCJA KWADRATOWA Poziom podstawowy Zadanie ( pkt) Wykres funkji y = ax + bx+ przehodzi przez punkty: A = (, ), B= (, ), C = (,) a) Wyznaz współzynniki a, b, (6 pkt) b) Zapisz wzór funkji w postai kanoniznej
Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami
Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
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
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,
Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach
Programowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
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
lekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e
Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012
Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; if (warunek) instrukcja1; else if (warunek2)
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ć
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
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Laboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
LXIV Olimpiada Matematyczna
LXIV Olimpiada Matematyzna Rozwiązania zadań konkursowyh zawodów stopnia drugiego 22 lutego 203 r. (pierwszy dzień zawodów) Zadanie. Dane są lizby ałkowite b i oraz trójmian f(x) = x 2 +bx+. Udowodnić,
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
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ć
Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem
Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego
Odczyt danych z klawiatury Operatory w Javie
Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje
Pzetestuj działanie pętli while i do...while na poniższym przykładzie:
Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza
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
Metody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
JAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
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
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
PROGRAMOWANIE W C++ ZADANIA
PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz
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
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
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
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
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
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Liczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi. nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
Autorstwo: Paulina Mechło (rozdziały 1-4), Jolanta Grzelka (rozdziały 1-4). Wszelkie Autorstwo: prawa Paulina zastrzeżone. Mechło (rozdziały Nieautoryzowane 1-4), Jolanta rozpowszechnianie Grzelka (rozdziały
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
JAVAScript w dokumentach HTML - przypomnienie
Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
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
for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Programowanie, algorytmy i struktury danych
1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania
KURS C/C++ WYKŁAD 1. Pierwszy program
KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji
Warsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
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
Podstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory
1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=
Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu
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
3. Instrukcje warunkowe
. Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
PHP w-3. Sterowanie w PHP
PHP w-3 Sterowanie w PHP 1 INSTRUKCE STERUJĄCE W PHP podobnie jak w innych językach programowania wykorzystuje się instrukcje sterujące: 1. Instrukcja warunkowa If-else 2. Instrukcja wyboru Switch 3. Pętla
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
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
przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,
Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja
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
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
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Program nauczania przeznaczony dla IV etapu edukacyjnego.
Program nauczania przeznaczony dla IV etapu edukacyjnego. Program nauczania dostosowany do nowej podstawy programowej zgodnie z rozporządzeniem Ministra Edukacji Narodowej z dnia 23 grudnia 2008 r. w sprawie
1 Wielokrotne powtarzanie tych samych operacji
1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie
for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Programowanie 3 - Funkcje, pliki i klasy
Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;
PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie
PASCAL Język programowania wysokiego poziomu Opracowany przez Mikołaja Wirtha na początku lat 70 XX wieku Prosty, z silną kontrolą poprawności Stosowany prawie wyłącznie na uczelniach do nauki programowania
#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,... ) ;
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Wstęp do Programowania Lista 1
Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.
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 +
JAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
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ęść
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;
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.
Wprowadzenie komentarzy do programu
Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze
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
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
MATEMATYKA WYDZIAŁ MATEMATYKI - TEST 1
Wszelkie prawa zastrzeżone. Rozpowszechnianie, wypożyczanie i powielanie niniejszych testów w jakiejkolwiek formie surowo zabronione. W przypadku złamania zakazu mają zastosowanie przepisy dotyczące naruszenia
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ść
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,... ) ;
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
Maxima i Visual Basic w Excelu
12 marca 2013 Maxima - zapoznanie z programem Maxima to program - system algebry komputerowej. Podstawowa różnica w stosunku do klasycznych programów obliczeniowych jest możliwość wykonywania obliczeń
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,
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
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
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
Warunki logiczne instrukcja if
Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y