1 Wielokrotne powtarzanie tych samych operacji



Podobne dokumenty
do instrukcja while (wyrażenie);

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

Instrukcje sterujące

Pętla for. Wynik działania programu:

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

Konstrukcje warunkowe Pętle

Część 4 życie programu

Język C zajęcia nr 5

1 Podstawy c++ w pigułce.

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

I - Microsoft Visual Studio C++

lekcja 8a Gry komputerowe MasterMind

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

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

Podstawy Programowania C++

1 Podstawy c++ w pigułce.

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Programowanie - instrukcje sterujące

Wstęp do programowania

Podstawy programowania w języku C i C++

Programowanie komputerowe. Zajęcia 1

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

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

7. Pętle for. Przykłady

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

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

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

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

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

Programowanie - wykład 4

Struktura pliku projektu Console Application

Programowanie komputerowe. Zajęcia 2

Język C++ zajęcia nr 2

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Wykład 2 Składnia języka C# (cz. 1)

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

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

Akademia ETI Marcin Jurkiewicz

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

4. Funkcje. Przykłady

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

PROGRAMOWANIE W C++ ZADANIA

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

Proste programy w C++ zadania

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

INSTRUKCJE REPETYCYJNE PĘTLE

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja;

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

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

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

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

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

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); }

tablica: dane_liczbowe

#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 ); }

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

Programowanie komputerowe. Zajęcia 3

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

Podstawy programowania w języku C

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

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

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

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

Warunki i pętle. Instrukcja warunkowa if. Przykład zastosowania.

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

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

Programowanie proceduralne w języku C++ Pętle, tablice

Pliki wykład 2. Dorota Pylak

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

6. Pętle while. Przykłady

Instrukcje sterujące. Programowanie Proceduralne 1

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

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

Wstęp do programowania

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Zmienne i struktury dynamiczne

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Cw.12 JAVAScript w dokumentach HTML

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

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

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

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

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

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

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

3. Instrukcje warunkowe

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Kontrola przebiegu programu

Pytania sprawdzające wiedzę z programowania C++

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

I. Podstawy języka C powtórka

Inicjacja tablicy jednowymiarowej

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

Transkrypt:

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 grupy instrukcji określoną liczbę razy(tutaj 7 razy): rzykład 1. for (int i = 0; i <7;++i) oniżej, w przykładzie 2 wykorzystano równoważny zapis z użyciem pętli while. Jest on bardziej rozwlekły i dlatego zwykle w tej sytuacji używamy for. rzykład 2. int i = 0; while (i<7) ++i; Nic nie stoi na przykładzie, aby zastosować odliczanie do zera, jest to bardziej naturalne dla pętli while. Zapis taki może być wygodny, gdy liczba powtórzeń jest wartością pochodzącą z wcześniejszych obliczeń, nie musimy wtedy deklarować kolejnego licznika. rzykład 3. int i = 7; while (i>0) i ; 1 KAIMSLAB2013QHRTFC5

Dekrementację licznika można przenieść do warunku: rzykład 4. int i = 7; while (i >0) Kolejne przykłady zawierają niezalecane elementy. rzykład 5. int i = 7; while (i ) // brzydko, // zapis i>0 lepiej // oddaje intencję programisty // brak nawiasów zmniejsza czytelność // i sprzyja powstawaniu błędów // przy późniejszych modyfikacjach Liczba całkowita interpretowana jest jako wartość logiczna. Dlatego w przykładzie 5 pętla będzie się wykonywać tak długo jak wartość zmiennej i pozostanie niezerowa. Jednak użycie operatora porównania logicznego > poprawia czytelność programu. rzykład 6. for (int i = 7; i >0; i ) 2 KAIMSLAB2013QHRTFC5

W przykładzie 6 licznik zmniejsza swoją wartość. Jest to dopuszczalny zapis równieżwpętlifor,jednakwtymprzypadkuwyglądadziwnie,boniematożadnego uzasadnienia, a jedynie budzi wątpliwości co do intencji programisty. W przykładzie 7 nietypowe jest przeniesienie instrukcji inkrementacji licznika, do warunku, co pogarsza czytelność. rzykład 7. for (int i = 7; i >0; ) Ostatni przykład pokazuje bardzo zwarty zapis, który również nie jest typowy. Nie jest również czytelny, a dodatkowo prowokuje trudny do znalezienia błąd, gdy nie napiszemy średnika(kompilator tego błędu nie zauważy, po prostu wykona w pętli kolejną instrukcję). rzykład 8. for (int i = 7; i >0; cout << Witaj przyjacielu << endl); Zadanie 2. Napisz program, który wypisuje liczby parzyste z zakresu od 2 do 76. Zadanie3. rzeanalizujponiższyprzykład,napiszprogram,którywyświetlazadaną liczbę w postaci sumy potęg liczby 2. rzykład 9. int main() int x; cin >> x; int exp = 0; int rem=x; while (rem%2== 0) rem>>=1; exp++; if (exp>0) cout << x << = << 2ˆ << exp; if (rem>1) cout << <<rem; 3 KAIMSLAB2013QHRTFC5

else cout << x << to liczba nieparzysta << endl; 2 Wybórwielowariantowy Zadanie 4. rzeanalizuj poniższy przykład, uzupełnij program o zliczanie znaków interpunkcyjnych:.,:; rzykład 10. int samogloski = 0; int biale = 0; int inne = 0; int cyfry = 0; char z; while(cin >> noskipws >> z) switch (z) case a : case e : case i : case o : case u : case y : case A : case E : case I : case O : case U : case Y : samogloski++; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : cyfry++; case : case \t : case \n : biale++; default: inne++; cout << Wczytano << endl; cout << samoglosek : << samogloski << endl; cout << cyfr : << cyfry << endl; cout << bialych znakow : << biale << endl; cout << pozostalych : << inne << endl; cout << << endl; 4 KAIMSLAB2013QHRTFC5

rzykład 11. int samogloski = 0; int biale = 0; int inne = 0; int cyfry = 0; char z; while(cin >> noskipws >> z) switch (z) case a : case e : case i : case o : case u : case y : case A : case E : case I : case O : case U : case Y : samogloski++; case : case \t : case \n : biale++; default: if (z>= 0 &&z<= 9 ) cyfry++; else inne++; cout << Wczytano << endl; cout << samoglosek : << samogloski << endl; cout << cyfr : << cyfry << endl; cout << bialych znakow : << biale << endl; cout << pozostalych : << inne << endl; cout << << endl; Zadanie 5. W przykładzie 11 zastąpiono 10 instrukcji case jedną instrukcją warunkową. Było to możliwe, gdyż kody ASCII cyfr są kolejnymi liczbami. odobnie jest dla liter. Wykorzystaj ten fakt i uzupełnij rozwiązanie zadania 4 o zliczanie spółgłosek. Zadanie6. Napiszprogram,którywczytazapisdodawaniadwóchliczbzapisanych trzynastkowo(cyfryodpowiadająceliczbom10,11i12będązapisanejakoa,bic) wykona działanie i wypisze wynik dziesiętnie. Na przykład dla danych: 1A045 + CA76 wypisze 50623. Zadanie7. Czterechgraczy:G 1,G 2,G 3 ig 4 uczestniczywpewnejgrzeplanszowej. Graczenaprzemianrzucająkostkądogry,naktórejwypada:1,2,3,4,5albo6oczy. Zaczyna gracz G1. Każdy z graczy ma jeden pionek stojący początkowo na polu startowym. Wyrzucenie 1 i w następnym ruchu 6 pozwala graczowi wystartować. Liczba oczy uzyskana w kolejnych rzutach oznacza liczbę pól, o które gracz przemieszcza swój pionek. Na planszy, oprócz pola startowego jest X pól. Osiągnięcie ostatniego pola oznacza koniec gry i zwycięstwo gracza, którego pionek osiągnął ostatnie pole. Mając dane rozmiar planszy i wyniki rzutów kostką. rzeprowadź symulację gry. 5 KAIMSLAB2013QHRTFC5

Format danych wejściowych: Najpierw X- rozmiar planszy a następnie w kolejnych wierszach litera M, odstęp i wartość kolejnego rzutu albo litera - żądanie wyświetlania stanu gry. Format danych wyjściowych: DlakażdejliniizawierającejwypisznumerypólzajmowanychprzezgraczyG 1,G 2, G 3 ig 4 oddzielonychodstępami.jeślinastąpikoniecgry,przestańprzetwarzaćdanei wyświetl komunikat: END OF GAME. rzykład Dla danych wejściowych: 5 M5 M6 M2 M3 Odpowiednie dane wyjściowe: 0000 0000 3000 Zadanie8. Danajestgratakajakwzadaniu7,aledodatkowokażdyzgraczyma przypisanedwiediody.dodas i sygnalizuje,czygraczijużwystartował,adiodaw i sygnalizuje, że gracz i przebywa na polu o nieparzystym numerze. Zapamiętaj ich stan wz-zmiennejtypuunsignedcharwporządkus 1 W 1 S 2 W 2 S 3 W 3 S 4 W 4.Doustawiania odpowiednichbitówwzużyjoperatorówbitowych&i. W danych wyjściowych, dla każdej komendy dodatkowo wyświetl binarnie stan rejestru z. rzykład Dla danych wejściowych: 5 6 KAIMSLAB2013QHRTFC5

M5 M6 M2 M3 Odpowiednie dane wyjściowe: 000000000000 000010000000 300011000000 Zadanie9. Danajestgratakajakwzadaniu8,aledodatkowokażdyruch,którykończy się na zajętym polu powoduje, że stojący tam wcześniej pionek trafia z powrotem na pole startowe i dopiero po uzyskaniu sekwencji startowej może się znowu poruszać. 7 KAIMSLAB2013QHRTFC5