WHILE (wyrażenie) instrukcja;

Podobne dokumenty
WHILE (wyrażenie) instrukcja;

PROGRAMOWANIE W C++ ZADANIA

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

do instrukcja while (wyrażenie);

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Instrukcje sterujące

Wstęp do informatyki- wykład 7

if (wyrażenie ) instrukcja

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

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Pętla for. Wynik działania programu:

Warunki logiczne instrukcja if

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

Proste programy w C++ zadania

Wstęp do informatyki- wykład 6

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

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

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

KURS MATURA ROZSZERZONA część 1

LISTA 5. C++ PETLE for, while, do while

Programowanie - wykład 4

Konstrukcje warunkowe Pętle

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

Algorytm. a programowanie -

Język C zajęcia nr 5

6. Pętle while. Przykłady

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

BHP JĘZYK C - INSTRUKCJE ITERACYJNE

2.8. Algorytmy, schematy, programy

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

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

Algorytmy i struktury danych. Wykład 4

1 Wprowadzenie do algorytmiki

I) Reszta z dzielenia

6. Liczby wymierne i niewymierne. Niewymierność pierwiastków i logarytmów (c.d.).

4. Funkcje. Przykłady

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

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

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

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

Wstęp do Informatyki

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

Programowanie - instrukcje sterujące

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

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

WIELOMIANY I FUNKCJE WYMIERNE

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

WYRAŻENIA ALGEBRAICZNE

Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

Napisz program, który dla podanej na standardowym wejściu temperatury w stopniach Fahrenheita wypisze temperaturę w stopniach Celsjusza.

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

WYMAGANIA NA POSZCZEGÓLNE OCENY MATEMATYKA KL.VII

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Jarosław Wróblewski Matematyka Elementarna, zima 2015/16

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

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

Wstęp do programowania

Matematyka z kluczem. Szkoła podstawowa nr 18 w Sosnowcu. Przedmiotowe zasady oceniania klasa 7

KURS MATURA ROZSZERZONA część 1

Podstawy Programowania C++

Programowanie komputerowe. Zajęcia 1

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

Liczby. Wymagania programowe kl. VII. Dział

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13

Wymagania edukacyjne z matematyki w klasie VII szkoły podstawowej

Zestaw 1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb)!!! trójki sąsiednich elementów tablicy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

Wprowadzenie komentarzy do programu

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

Wstęp do programowania

1 Podstawy c++ w pigułce.

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

Algorytmy i struktury danych

Kryteria ocen z matematyki w klasie IV

Czas pracy: 60 minut

INSTRUKCJE ITERACYJNE

Pętle instrukcje powtórzeo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny.

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VII

1 Podstawy c++ w pigułce.

Jarosław Wróblewski Matematyka Elementarna, lato 2014/15

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Laboratorium nr 1. i 2.

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Programowanie w języku Python. Grażyna Koba

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI DLA UCZNIÓW KLAS IV-VI

Ćwiczenia podstawowe, zestaw 5, część 1

Katarzyna Bereźnicka Zastosowanie arkusza kalkulacyjnego w zadaniach matematycznych. Opiekun stypendystki: mgr Jerzy Mil

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

... (środowisko) minut

EGZAMIN MATURALNY Z INFORMATYKI 11 MAJA 2018 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

ALGORYTMY I STRUKTURY DANYCH

Transkrypt:

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 pozwala wykonywać daną instrukcję aż do chwili osiągnięcia kreślonego skutku, test wykonuje się przed każdym wykonaniem instrukcji. Dlatego dana instrukcja może nie być wykonana albo zostać wykonana jeden raz lub wiele razy. Składnia instrukcji WHILE: WHILE (wyrażenie) instrukcja; Instrukcja iteracyjna DO WHILE pozwala wykonywać instrukcję programu aż do momentu osiągnięcia określonego skutku, ale test robi się dopiero po każdym wykonaniu danej instrukcji. Dlatego ta instrukcja iteracyjna wykonywana jest co najmniej jeden raz

INSTRUKCJA WARTOŚĆ WYRAŻENIA TESTUJĄCEGO RÓŻNA OD zera NIE TAK Składnia instrukcji DO WHILE: do instrukcja WHILE (wyrażenie); Najpierw wykonuje się jeden raz instrukcję pętli, następnie testuje się wyrażenie. Jeśli wartość wyrażenia jest różna od 0, to ponownie wykonuje się instrukcję, a po jej wykonaniu ponowny test. Natomiast jeżeli wartość wyrażenia jest równa 0, to nie jest wykonywana instrukcja, następuje przerwanie iteracji (wyjście z pętli). Wyrażenie testujące zawsze podaje się w nawiasach. Reasumując: Ogólna postać instrukcji "dopóki" (while): while (wyrażenie-warunkowe); { instrukcja/e } instrukcja/e jest wykonywana do momentu, kiedy wyrażenie-warunkowe osiągnie wartość 0 (fałsz), czyli instrukcję while można by przetłumaczyć: dopóki wyrażenie-warunkowe ma wartość oznaczającą prawdę (różne od zera), wykonuj instrukcja/e. Instrukcja "wykonuj dopóki" (do..while) Ogólna postać instrukcji "wykonuj dopóki" (do.. while) przedstawia się następująco:

do instrukcja while (wyrażenie-warunkowe); Instrukcja instrukcja jest wykonywana do momentu, gdy wyrażenie-warunkowe osiągnie wartość 0 (fałsz). Instrukcję do... while można więc przetłumaczyć jako: wykonuj instrukcję instrukcja, i wartość wyrażenia-warunkowego oznacza prawdę. Instrukcję tę stosujemy zamiast instrukcji while wówczas, gdy zależy nam, aby wykonana została przynajmniej jedna iteracja. 1) Co zostanie wydrukowane po wykonaniu pętli: a = 1; b = 3; while (a < b) { a = 5 * a 1; b = 2 * b + 1; } cout << a << endl << b; 2) Co zostanie wydrukowane po wykonaniu pętli: a = 21; b = 3; while (a!= b) { a = a 1; b = b + 1; } //--a //++b cout << a << endl << b; Przykładowe programy:

Algorytm ten polega na doprowadzeniu do równości wprowadzonych liczb a i b przez iteracyjne odejmowanie od liczby większej liczby mniejszej. Wynikiem jest jedna z liczb, gdyż obie są równe po zakończeniu działania algorytmu. Wprowadzone liczby mogą być równe. Wynikiem wprost jest jedna z liczb. while (a!=b) if (a>b) a-=b; else b-=a; Program działa poprawnie dla prawidłowych danych, to jest dla liczb a i b całkowitych i większych od 0. Ta wersja algorytmu jest mało efektywna, co można stwierdzić doświadczalnie, wprowadzając jedną dużą a drugą małą liczbę, np. 10 9 i 2. Wtedy należy wykonać aż 5 10 8 odejmowań, co dla komputera jest poważnym obciążeniem i wymaga dłuższego czasu pracy procesora. Efektywniejszy jest algorytm Euklidesa w wersji z dzieleniem (reszta z dzielenia). Istota działania tego algorytmu polega na zastępowaniu liczby większej resztą z dzielenia liczby większej przez mniejszą. Powtarza się tę czynność do uzyskania reszty zerowej. Wynikiem jest wtedy liczba niezerowa. Wykonać należy co najmniej jedno dzielenie. Algorytm wymaga także poprawnych danych (liczb całkowitych większych od 0).

Innym przykładem zastosowania iteracji może być odwracanie kolejności cyfr w liczbie całkowitej metodą arytmetyczną liczba 987 po odwróceniu cyfr staje się liczbą 789. W języku C++ ten algorytm zastąpimy jedną linijką programu While (n) m=10*m + n%10, n/=10;

Ćwiczenia: 1. Napisz program, który obliczy sumę cyfr wprowadzonej liczby n, maksymalnie 18-cyfrowej. Na przykład dla n = 56783 suma wynosi 29. 2. Napisz program obliczający najmniejszą wspólną wielokrotność dwóch liczb całkowitych, według następującego algorytmu: krok pierwszy - jeśli dane liczby są równe, to wynikiem jest jedna z nich; jeśli nie - przejdź do kroku drugiego; krok drugi - do liczby mniejszej dodaj początkową wartość tej liczby mniejszej, przejdź do kroku pierwszego. 3. Napisz program dokonujący rozkładu danej liczby naturalnej n na czynniki pierwsze. Na przykład dla n = 24 są to czynniki 2 2 2 3. 4. Napisz program obliczający tzw. jednocyfrową sumę cyfr liczby n. Na początku oblicza się sumę cyfr liczby n; jeśli wynikiem jest liczba wielocyfrowa, to znowu oblicza się sumę cyfr tej poprzedniej sumy i tak powtarza (iteruje), aż do uzyskania liczby jednocyfrowej, która jest wynikiem końcowym. Na przykład dla n =48 suma jednocyfrowa wynosi 3. Zadania 1. Napisz program stwierdzający, czy zadana liczba n jest pierwsza. 2. Napisz program obliczający sumę wprowadzanych z klawiatury liczb rzeczywistych nie większych od 50 3. Napisz program wyznaczający sumę n początkowych liczb parzystych. Liczbę n należy pobrać od użytkownika. 4. Napisz program wczytujący z klawiatury liczbę całkowitą. Program powinien przyjmować jedynie liczbę dodatnią. Jeśli użytkownik poda liczbę ujemną, to powinien zostać poinformowany, że wymagana jest liczba dodatnia i poproszony o kolejną liczbę. Próbę wczytywania liczby powtarzamy dopóty, dopóki użytkownik nie poda liczby poprawnej (dodatniej). Taki sposób zapewnienia poprawności wczytywanych danych nazywać będziemy pętlą zaporową.

5. Wykorzystując pętlę zaporową napisz program, wyznaczający pole dowolnej figury. Program jako dane (długości boków figury) powinien przyjmować wyłącznie liczby dodatnie. 6. Wykorzystując pętlę zaporową napisz program, wyznaczający objętość dowolnej bryły. Program jako dane (długości boków bryły) powinien przyjmować wyłącznie liczby dodatnie. 7. Napisz program wyznaczający wartość pierwiastka kwadratowego z liczby. Wprowadzane dane zabezpiecz pętlą zaporową.