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

Podobne dokumenty
Instrukcje sterujące. Programowanie Proceduralne 1

Cw.12 JAVAScript w dokumentach HTML

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

Konstrukcje warunkowe Pętle

1 Podstawy c++ w pigułce.

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

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Zapis algorytmów: schematy blokowe i pseudokod 1

Wykład z Technologii Informacyjnych. Piotr Mika

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Instrukcje sterujące

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Programowanie w języku Python. Grażyna Koba

Pętla for. Wynik działania programu:

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

Podstawy i języki programowania

Programowanie w Turbo Pascal

Materiały do zajęć III

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

1 Podstawy c++ w pigułce.

1 Wprowadzenie do algorytmiki

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

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

Kilka prostych programów

Podstawy programowania obiektowego

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

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

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Programowanie - wykład 4

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Programowanie - instrukcje sterujące

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Programowanie obiektowe - zadania

1 Programowanie w matlabie - skrypty i funkcje

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

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

Podstawy programowania w języku C

Odczyt danych z klawiatury Operatory w Javie

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

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy Programowania C++

JAVAScript w dokumentach HTML (2)

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Bloki anonimowe w PL/SQL

lekcja 8a Gry komputerowe MasterMind

Programowanie strukturalne i obiektowe

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Laboratorium nr 1. i 2.

JAVAScript w dokumentach HTML (1)

Programowanie strukturalne i obiektowe. Funkcje

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie w Scilab

Język ludzki kod maszynowy

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Programowanie w Javie

LibreOffice Calc VBA

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

Algorytmy i struktury danych

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

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

WHILE (wyrażenie) instrukcja;

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

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

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

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Część XV C++ Ćwiczenie 1

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

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

Metody Metody, parametry, zwracanie wartości

Warunki logiczne instrukcja if

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

1 Wielokrotne powtarzanie tych samych operacji

Warsztaty dla nauczycieli

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

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

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

do instrukcja while (wyrażenie);

Język C zajęcia nr 5

Kompilator języka Basic można bezpłatnie pobrać ze strony z zakładki DOWNLOAD.

Rekurencja (rekursja)

Programowanie, algorytmy i struktury danych

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

Programowanie w języku C++ Grażyna Koba

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Transkrypt:

Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw instrukcji Jeżeli warunek jest spełniony (tzn. warunek jest prawdą) to zostanie wykonana instrukcja lub zestaw instrukcji zapisany w klamrach. Jeżeli warunek nie jest spełniony, instrukcja lub zestaw instrukcji nie zostanie wykonany, a komputer przejdzie do wykonywania kolejnej instrukcji na liście programu po instrukcji warunkowej. Uwaga! Za nawiasem kończącym warunek nie należy stawiać średnika obowiązkowy średnik kończący zapis instrukcji warunkowej znajduje się dopiero za klamrą kończącą zestaw instrukcji. Natomiast wewnątrz zestawu instrukcji stosuje się średniki kończące poszczególne instrukcje zestawu, jak w poniższym przykładzie: if (a > 1) brak średnika Console.WriteLine("To jest przykład"); Console.WriteLine("zestawu instrukcji"); a = a + 1; koniec zapisu instrukcji koniec zapisu instrukcji warunkowej Format instrukcji warunkowej Przykład 2. if (warunek) instrukcja_1 albo zestaw_instrukcji_1 else instrukcja_2 albo zestaw_instrukcji_2 Jeżeli warunek jest spełniony (tzn. warunek jest prawdą) to zostanie wykonana instrukcja_1 lub zestaw_instrukcji_1 zapisany w klamrach. W przeciwnym przypadku, tzn. jeżeli warunek nie jest spełniony, zostanie wykonana instrukcja_2 lub zestaw_instrukcji_2 zapisany w klamrach. Uwaga 1! Za nawiasem kończącym warunek nie należy stawiać średnika. Uwaga 2! Za klamrą kończącą zestaw_instrukcji_1 nie należy stawiać średnika, ponieważ obowiązkowy średnik kończący zapis instrukcji warunkowej znajduje się dopiero za klamrą kończącą zestaw_instrukcji_2. Jeżeli przykładowy warunek ma postać (a<1)to warunek przeciwny do tego warunku ma postać (a>=1), tzn. a jest większe lub równe 1.

Format instrukcji warunkowej Przykład 3. if ((warunek_1) & (warunek_2)) instrukcja albo zestaw instrukcji Jeżeli warunek_1 jest spełniony i jednocześnie warunek _2 jest spełniony to zostanie wykonana instrukcja lub zestaw instrukcji. Uwaga! Zapis głównego warunku funkcji warunkowej jest zapisany w nawiasie (nadrzędnym). Poszczególne warunki składowe (warunek_1 oraz warunek_2) zostały zapisane w dodatkowych nawiasach. Przykłady operatorów: < - mniejszy > - większy <= - mniejszy lub równy >= - większy lub równy == - równy!= - różny & - i (koniunkcja) ^ - lub (alternatywa) Tworzenie algorytmu Polecenie 1: Na osobnej kartce papieru zapisz (np. słownie) algorytm obliczania (kolejność wykonywania czynności) przy wyznaczaniu pierwiastków x 0, x 1, x 2, równania kwadratowego y=ax 2 +bx+c. Wypisz nazwy (symbole) wszystkich zmiennych i parametrów wykorzystywanych w ramach tego algorytmu. Wskaż które zmienne mają charakter danych wejściowych, danych wyjściowych oraz danych pomocniczych (o ile występują) w ramach całego procesu obliczeniowego. Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia. Polecenie 2: Napisz program obliczający pierwiastki równania kwadratowego. Użytkownik programu powinien definiować postać funkcji poprzez wprowadzenie z klawiatury wartości współczynników a, b, c. Program powinien uwzględniać różne możliwości rozwiązań (jedno, dwa lub zero miejsc zerowych) i wyświetlać pierwiastki z dokładnością do 3 miejsc po przecinku. Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia.

Instrukcja wyboru switch..case Format instrukcji wyboru: switch (wyrażenie) case wartosc_1: instrukcja_1 albo zestaw_instrukcji_1 case wartosc_2: instrukcja_2 albo zestaw_instrukcji_2 default: instrukcja_3 albo zestaw_instrukcji_3 Jeżeli wyrażenie (zmienna) ma wartość_1 to zostanie wykonana instrukcja_1 (zestaw_instrukcji_1) zapisana w klamrach. Jeżeli wyrażenie (zmienna) ma wartość_2 to zostanie wykonana instrukcja_2 (zestaw_instrukcji_2) zapisana w klamrach. Jeżeli wyrażenie (zmienna) ma jakąkolwiek inną wartość to zostanie wykonana instrukcja_3 (zestaw_instrukcji_3) zapisana w klamrach. Polecenie 3: Przetestuj działanie programu, którego listing zapisano poniżej: Int32 a; Console.WriteLine("Podaj liczbę"); a = Int32.Parse(Console.ReadLine()); switch (a) case 0: Console.WriteLine("Zero"); case 1: Console.WriteLine("Jeden"); case 2: Console.WriteLine("Dwa"); default: Console.WriteLine("Nie wiem");

Polecenie 4: Napisz program obliczający pierwiastki równania kwadratowego. W celu identyfikacji liczby pierwiastków równania wykorzystaj instrukcję warunkową if, natomiast operacje i obliczenia związane z konkretną liczbą pierwiastków wykonaj korzystając z instrukcji wyboru switch case. Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia. Instrukcje iteracyjne (pętle) Prawidłowe użycie instrukcji iteracyjnej wymaga zdefiniowania czterech podstawowych elementów: 1. Wartość początkowa zmiennej sterującej pętlą, 2. Warunek kontynuacji (zakończenia) realizacji pętli, 3. Inkrementacja (lub dekrementacja) wartości zmiennej sterującej pętlą, 4. Zestaw instrukcji do wykonania w ramach działania pętli. Pętla FOR Format pętli for: for (wartosc_poczatkowa; warunek_kontynuacji; inkrementacja) Instrukcja albo zestaw_instrukcji; Instrukcja albo zestaw_instrukcji zostanie wykonany wielokrotnie, począwszy od wartości zmiennej sterującej równej wartosc_poczatkowa do momentu, w którym spełniony jest warunek_kontunuacji. Każdorazowo po wykonaniu instrukcji lub zestawu_instrukcji wartość zmiennej sterującej pętlą wzrasta (lub maleje) zgodnie z zapisem inkrementacji (dekrementacji). Przykładowy zapis: for (a = 0; a <= 10; a++) W podanym przykładzie, instrukcja wyświetlająca wartość zmiennej a zostanie wykonana w sumie 11 razy, tzn. dla kolejnych wartości zmiennej a od 0 do 10 włącznie. Polecenie 5: Napisz program, który za pomocą instrukcji FOR dla danych wartości x zmieniających się w przedziale od 1 do 20 obliczy wartości funkcji y=2x+1. Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia.

Pętla DO WHILE Format pętli do while: wartosc_poczatkowa; do Instrukcja albo zestaw_instrukcji; Inkrementacja; while (warunek_kontynuacji); Uwaga 1! Zwróć uwagę, że średnik kończący zapis pętli znajduje się dopiero za nawiasem kończącym zapis warunku kontynuacji pętli. Uwaga 2! Zwróć uwagę, że zapis wartości początkowej zmiennej sterującej znajduje się poza formalnym zapisem pętli. Przykładowy zapis: a = 0; do a++; while (a <= 10); W podanym przykładzie, instrukcja wyświetlająca wartość zmiennej a zostanie wykonana w sumie 11 razy, tzn. dla kolejnych wartości zmiennej a od 0 do 10 włącznie. Polecenie 6: Napisz program, który za pomocą instrukcji DO WHILE dla danych wartości x zmieniających się w przedziale od 1 do 20 obliczy wartości funkcji y=2x+1. Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia. Polecenie 7: Korzystając z programu opracowanego w ramach Polecenia 6 przenieś zapis inkrementacji z końca na początek zestawu_instrukcji. Czy lokalizacja zapisu inkrementacji ma wpływ na działanie pętli? Pętla WHILE Format pętli while: wartosc_poczatkowa; while (warunek_kontynuacji) Instrukcja albo zestaw_instrukcji; Inkrementacja;

Uwaga 1! Zwróć uwagę, że średnik kończący zapis pętli znajduje się dopiero za klamrą kończącą zapis zestawu instrukcji. Uwaga 2! Zwróć uwagę, że zapis warunku początkowego znajduje się poza formalnym zapisem pętli. Przykładowy zapis: a = 0; while (a <= 10) a++; W podanym przykładzie, instrukcja wyświetlająca wartość zmiennej a zostanie wykonana w sumie 11 razy, tzn. dla kolejnych wartości zmiennej a od 0 do 10 włącznie. Polecenie 8: Napisz program, który za pomocą instrukcji WHILE dla danych wartości x zmieniających się w przedziale od 1 do 20 obliczy wartości funkcji y=2x+1. Na czym polega różnica w użyciu pętli DO WHILE oraz WHILE? Zgłoś Prowadzącemu zajęcia zakończenie realizacji tego polecenia. Uruchamianie programów w trybie debugowania Debugger oferuje funkcję uruchomienia tworzonego programu w trybie pracy krokowej, przejście do pracy ciągłej i z powrotem do pracy krokowej, zatrzymanie warunkowe bądź bezwarunkowe działania programu, sprawdzenie (podgląd) wartości zmiennych, stosu wywołań, stan wyjątków, etc. Głównym elementem Debuggera są punkty zatrzymania działania programu - tzw. Breakpointy. Pod pojęciem Breakpointu należy rozumieć specjalnie oznaczoną przez programistę linijkę kodu, która spowoduje zatrzymanie przed nią wykonywania programu i przejście w tryb pracy krokowej. W celu uruchomienia tworzonego programu w trybie debugowania należy: 1. Umieścić kursor w linii kodu, w której ma nastąpić zatrzymanie działania programu, 2. Ustawić w tym miejscu Breakpoint menu Debug -> Toggle Breakpoint, 3. Uruchomić program menu Debug -> Start Debugging, Uwaga! W celu uruchomienia programu od początku w trybie krokowym bez zaznaczania Breakpointu - menu Debug -> Step Into Program zatrzymuje swoje działanie w Breakpoincie i działa w trybie krokowym. Użytkownik w tym trybie ma możliwość między innymi zadania polecenia: wykonania kolejnej linii kodu - menu Debug -> Step Over wykonania kolejnej linii kodu z wchodzeniem do wnętrza wszystkich metod/funkcji/procedur (o ile występują w kodzie programu) - menu Debug -> Step In kontunuowania działania programu do kolejnego ustawionego Breakpointu - menu Debug -> Continue całkowitego zatrzymania działania programu - menu Debug -> Stop Debugging

Polecenie 9: Napisz program, który będzie wyświetlał na ekranie imię użytkownika programu zdefiniowaną liczbę razy. Program powinien umożliwiać wprowadzenie ciągu znaków reprezentujących imię oraz liczbę wyświetleń. Działanie programu przetestuj w trybie ciągłym (normalnym) oraz w trybie krokowym. Generator liczb losowych Przydatnym narzędziem na potrzeby realizacji programów jest wbudowany w język programowania C# generator liczb losowych oferowany za pomocą klasy: Random liczba = new Random(); Przypisanie wartości wylosowanej do przykładowej zmiennej liczbowej jest realizowane np. przy pomocy polecenia: a = liczba.next(min,max); gdzie min oraz max reprezentują granice przedziału losowania, przy czym przedział min-max jest domknięty z lewej oraz otwarty z prawej strony przedziału. Polecenie 10: Przetestuj działanie programu, którego listing zapisano poniżej. Sprawdź wpływ zmian położenia granic losowania na uzyskiwane rezultaty działania programu. Random liczba = new Random(); Int32 a, b; for (b = 0; b <= 20; b++) a = liczba.next(10,20); Console.ReadKey(); Polecenie 11: Wykorzystując poznaną w tym ćwiczeniu wiedzę napisz program, którego działanie polega na odgadnięciu przez użytkownika liczby wylosowanej przez komputer. Losowana liczba mieści się w przedziale 0-100, a użytkownik ma w sumie 6 prób na odgadnięcie liczby. Po nieudanej próbie komputer powinien podpowiedzieć czy wylosowana liczba jest mniejsza/większa od podanej przez użytkownika. Program powinien wyświetlać nr próby oraz wymienione wyżej podpowiedzi. Program powinien zakończyć działanie, jeżeli użytkownik odgadnie liczbę, albo gdy wyczerpie liczbę prób. W konstrukcji programu można wykorzystać instrukcje warunkowe oraz iteracyjne omówione w ćwiczeniu, natomiast nie należy stosować dodatkowych elementów w postaci procedur, funkcji, etykiet, funkcji skoku etc.