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



Podobne dokumenty
dr inż. Jarosław Forenc

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

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

dr inż. Jarosław Forenc

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

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

Spis treści JĘZYK C - INSTRUKCJE ITERACYJNE FOR, WHILE I DO WHILE, ZAGNIEŻDŻANIE PĘTLI FOR, INSTRUKCJE CONTINUE, BREAK, I GOTO.

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

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Politechnika Białostocka

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

Pętla for. Wynik działania programu:

BHP JĘZYK C - INSTRUKCJE ITERACYJNE

Programowanie strukturalne i obiektowe

Instrukcje sterujące. Programowanie Proceduralne 1

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

Język C zajęcia nr 5

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

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

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Część XV C++ Ćwiczenie 1

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY, INSTRUKCJA SWITCH, OPERATORY BITOWE, INSTRUKCJA ITERACYJNA FOR.

Programowanie - instrukcje sterujące

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

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

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

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

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

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

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

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

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

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

APLIKACJE INTERNETOWE 5 PHP W P R O W A D Z E N I E D O P R O G R A M O W A N I A

Podstawy Programowania C++

INSTRUKCJE REPETYCYJNE PĘTLE

do instrukcja while (wyrażenie);

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 4

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

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

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

if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; a > b - a większe od b if (warunek) instrukcja1; a <= b - a mniejsze lub równe b

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Wykład 3. Instrukcje powtarzające

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

Podstawy programowania w języku C

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

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

1 Podstawy c++ w pigułce.

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

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

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

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

Wstęp do programowania

Java Podstawy. Michał Bereta

1 Podstawy c++ w pigułce.

Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05Z

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

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

tablica: dane_liczbowe

KURS C/C++ WYKŁAD 1. Pierwszy program

13 JĘZYK C - OPERATOR WARUNKOWY,

dr inż. Jarosław Forenc

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26.

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

Programowanie skryptów powłoki

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

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

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

INSTRUKCJE REPETYCYJNE PĘTLE

2 Przygotował: mgr inż. Maciej Lasota

Programowanie w elektronice: Podstawy C

Podstawy programowania (1)

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

7. Pętle for. Przykłady

Wprowadzenie do programowania w języku C

Warszawa dnia 2 stycznia 2011 r. Zbiór zadań z programowania w języku C do samodzielnego wykonania

Podstawy programowania - 1

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

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

Kontrola przebiegu programu

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

1 Wielokrotne powtarzanie tych samych operacji

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

Wstęp do wskaźników w języku ANSI C

Podstawy programowania w języku C i C++

Programowanie - wykład 4

dr inż. Jarosław Forenc

Język C zajęcia nr 7. Uwagi dotyczące stylu programowania

Część 4 pętla FOR. Instrukcja pętli iteracyjnej FOR. Postać pętli for jest następująca: a)dla jednej instrukcji wykonywanej przez pętlę.

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

Transkrypt:

Rok akademicki 2014/2015, Pracownia nr 5 2/36 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2014/2015 Pracownia nr 5 (17/19.04.2015) dr inż. Jarosław Forenc Pętla for for (i=0; i<10; i=i+1) zostanie wykonana 10 razy for (inicjalizacja; ; aktualizacja) inicjalizacja aktualizacja Rok akademicki 2014/2015, Pracownia nr 5 3/36 Rok akademicki 2014/2015, Pracownia nr 5 4/36 Przykład - wyświetlenie tekstu Przykład - wyświetlenie tekstu int i; int i; for (i=0; i<5; i=i+1) printf("\n"); for (i=0; i<5; i=i+1) printf("\n");

Rok akademicki 2014/2015, Pracownia nr 5 5/36 Rok akademicki 2014/2015, Pracownia nr 5 6/36 Pętla for Pętla for for (i=0; i<10; i=i+1) 0 1 2 3 4 5 6 7 8 9 for (i=1; i<=10; i=i+2) 1 3 5 7 9 for (i=0; i<10; i=i+1) printf("%d ",i+1); 1 2 3 4 5 6 7 8 9 10 for (i=10; i>0; i=i-1) 10 9 8 7 6 5 4 3 2 1 for (i=1; i<=10; i=i+1) 1 2 3 4 5 6 7 8 9 10 for (i=-9; i<=9; i=i+3) -9-6 -3 0 3 6 9 Rok akademicki 2014/2015, Pracownia nr 5 7/36 Rok akademicki 2014/2015, Pracownia nr 5 8/36 Przykład - suma liczb 1+2+ +10 #define N 10 int i, suma=0; for (i=1; i<=n; i=i+1) suma = suma + i; Suma 10 liczb to 55 printf("suma %d liczb to %d\n", N, suma); Przykład - suma liczb 1+2+ +1000 #define N 1000 int i, suma=0; for (i=1; i<=n; i++) suma += i; Suma 1000 liczb to 500500 printf("suma %d liczb to %d\n", N, suma);

Rok akademicki 2014/2015, Pracownia nr 5 9/36 Rok akademicki 2014/2015, Pracownia nr 5 10/36 Operator inkrementacji (++) Operator inkrementacji (++) ++x lub x++ zwiększa wartość zmiennej o 1 ++x x++ - operator preinkrementacji - operator postinkrementacji ++x; x++; x = x + 1; operator jednoargumentowy może być stosowany tylko zmiennych (nie wolno stosować wyrażeń) int x = 1, y; int x = 1, y; y = 2 * ++x; ++x x = 2 y = 2 * x++; 2 * x 2 * 1 2 * ++x 2 * 2 y = 2 * x y = 2 y = 2 * ++x y = 4 x++ x = 2 x = 2, y = 4 x = 2, y = 2 Rok akademicki 2014/2015, Pracownia nr 5 11/36 Rok akademicki 2014/2015, Pracownia nr 5 12/36 Operator dekrementacji (--) --x x-- - operator predekrementacji - operator postdekrementacji zmniejsza wartość zmiennej o 1 --x; x--; x = x - 1; Pętla for - złożona wykonanie w pętli for więcej niż jednej instrukcji wymaga umieszczenia ich w datkowych nawiasach klamrowych for (wyr1; wyr2; wyr3) 1; 2;...

Rok akademicki 2014/2015, Pracownia nr 5 13/36 Rok akademicki 2014/2015, Pracownia nr 5 14/36 Pętla for - błędy średnik na końcu pętli for: Pętla for - błędy błędny warunek - brak wykonania instrukcji: for (i=0; i<10; i++) ; 10 for (i=0; i>10; i++) przecinki zamiast średników w pętli for: błędny warunek - pętla nieskończona: for (i=0, i<10, i++) błąd kompilacji for (i=1; i>0; i++) 1 2 3 4 5 6 7 8 9 Rok akademicki 2014/2015, Pracownia nr 5 15/36 Rok akademicki 2014/2015, Pracownia nr 5 16/36 Pętla for - pętla niekończona Instrukcja break for (wyr1; wyr2; wyr3) wszystkie wyrażenia w pętli for są opcjonalne for ( ; ; ) - pętla nieskończona break - przerywa wykonywanie pętli for for (i=1; i<10; i++) if (i%5==0) break; w przypadku braku wyr2 przyjmuje się, że jest ono prawdziwe

Rok akademicki 2014/2015, Pracownia nr 5 17/36 Rok akademicki 2014/2015, Pracownia nr 5 18/36 Instrukcja continue continue - przerywa bieżącą iterację i przechodzi kolejnej Instrukcja goto goto - bezwarunkowy skok etykiety stosowanie tej instrukcji nie jest zalecane for (i=1; i<10; i++) if (i%3==0) continue; for (i=1; i<10; i++) if (i%5==0) goto dalej; dalej: printf( koniec\n ); - można skoczyć wolnego miejsca w programie - etykieta musi poprzedzać instrukcję Rok akademicki 2014/2015, Pracownia nr 5 19/36 Rok akademicki 2014/2015, Pracownia nr 5 20/36 Zagnieżdżanie pętli for jako występuje kolejna pętla for for (i=1; i<=3; i++) for (j=1; j<=2; j++) printf( i=%d, j=%d\n,i,j); dla i = 1 for (j=1; j<=2; j++) printf( i=%d, j=%d\n,i,j); dla i = 2 for (j=1; j<=2; j++) printf( i=%d, j=%d\n,i,j); dla i = 3 for (j=1; j<=2; j++) printf( i=%d, j=%d\n,i,j); - pętla zewnętrzna - pętla wewnętrzna i=1, j=1 i=1, j=2 i=2, j=1 i=2, j=2 i=3, j=1 i=3, j=2 Przykład - tabliczka mnożenia int i, j; for (i=1; i<11; i++) for (j=1; j<11; j++) printf("%2d ", i*j); printf("\n");

Rok akademicki 2014/2015, Pracownia nr 5 21/36 Rok akademicki 2014/2015, Pracownia nr 5 22/36 Przykład - tabliczka mnożenia 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 int i, j; 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 for (i=1; i<11; 7 i++) 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 for (j=1;j<11;j++) 9 18 27 36 45 54 63 72 81 90 printf("%2d 10 20 ",i*j); 30 40 50 60 70 80 90 100 printf("\n"); Pętla while while () int i=0; while (i<10) i++; póki prawdziwy wykonuj instrukcję Rok akademicki 2014/2015, Pracownia nr 5 23/36 Rok akademicki 2014/2015, Pracownia nr 5 24/36 Pętla while - złożona wykonanie w pętli while więcej niż jednej instrukcji wymaga umieszczenia ich w datkowych nawiasach klamrowych while () 1; 2;... Przykład - 1 + 2 + +? < 100 int suma = 0, n = 0; Ilosc liczb: 13 Suma liczb: 91 while (suma < 100) n++; suma = suma + n; suma = suma - n; n--; printf("ilosc liczb: %d\nsuma liczb: %d\n",n,suma);

Rok akademicki 2014/2015, Pracownia nr 5 25/36 Rok akademicki 2014/2015, Pracownia nr 5 26/36 Pętla while - błędy średnik na końcu while - pętla nieskończona: i = 0; while (i < 10) ; printf("%d ",i++); brak aktualizacji i pętla nieskończona: i = 0; while (i < 10) 0 0 0 0 0 0 0 0 0 Pętla while - pętla nieskończona w pewnych sytuacjach celowo stosuje się pętlę nieskończoną: while (1) 1; 2; Rok akademicki 2014/2015, Pracownia nr 5 27/36 Rok akademicki 2014/2015, Pracownia nr 5 28/36 Pętla while - break i continue Pętla while int i=0; while (i<10) i++; if (i%2==0) continue; if (i%5==0) break; - continue przerywa bieżącą iterację - break przerywa wykonywanie pętli while (); int i=0; i++; while (i<10); wykonuj instrukcję póki prawdziwy

Rok akademicki 2014/2015, Pracownia nr 5 29/36 Rok akademicki 2014/2015, Pracownia nr 5 30/36 Pętla while - złożona Pętla while - break i continue wykonanie w pętli while więcej niż jednej instrukcji wymaga umieszczenia ich w datkowych nawiasach klamrowych 1; 2; while (); int i=0; i++; if (i%5==0) break; if (i%2==0) continue; while (i<10); - break przerywa wykonywanie pętli - continue przerywa bieżącą iterację Rok akademicki 2014/2015, Pracownia nr 5 31/36 Rok akademicki 2014/2015, Pracownia nr 5 32/36 Porównanie pętli while i while Przykład - klawiatura while () while (); Program sprawdzający rodzaj wciśniętego znaku na klawiaturze: litera, cyfra, znak odstępu, inny znak. Wprowadzaj znaki bez echa na ekranie - getch(). Wyświetl rodzaj znaku, sam znak i jego kod ASCII. Wyjście z programu powinno nastąpić po wciśnięciu litery q lub Q. Przykłady: Litera: k kod: 107 Cyfra: 7 kod: 55 Inny znak: * kod: 42

Rok akademicki 2014/2015, Pracownia nr 5 33/36 Rok akademicki 2014/2015, Pracownia nr 5 34/36 Przykład - klawiatura (ctype.h ctype.h) Zawiera funkcje zwracające wartość niezerową jeśli argument (znak) należy określonej kategorii: isalnum(znak) - litera lub cyfra isalpha(znak) - litera isdigit(znak) - cyfra isgraph (znak) znak drukowalny islower(znak) - mała litera isspace(znak) znak niedrukowalny (whitespace) isupper(znak) - wielka litera Przykład - klawiatura #include <conio.h> #include <ctype.h> int key; key = getch(); while (key!='q' && key!='q') if (isalpha(key)!=0) printf("litera: %c kod: %d\n",key,key); Rok akademicki 2014/2015, Pracownia nr 5 35/36 Rok akademicki 2014/2015, Pracownia nr 5 36/36 Przykład - klawiatura Przykład - klawiatura if (isdigit(key)!=0) printf("cyfra: %c kod: %d\n",key,key); if (isspace(key)!=0) printf("znak odstepu: %c kod: %d\n",key,key); if (isalpha(key)==0 && isdigit(key)==0 && isspace(key)==0) printf("inny znak: %c kod: %d\n",key,key); key = getch(); if (isdigit(key)!=0) Litera: d kod: 100 printf("cyfra: %c kod: Cyfra: %d\n",key,key); 7 kod: 55 if (isspace(key)!=0) Litera: K kod: 75 printf("znak odstepu: %c Inny kod: znak: %d\n",key,key); \ kod: 92 if (isalpha(key)==0 && isdigit(key)==0 Znak odstepu: && isspace(key)==0) kod: 32 printf("inny znak: %c Inny kod: %d\n",key,key); znak: kod: 0 key = getch(); Inny znak: ; kod: 59 Inny znak: Ó kod: 224 Inny znak: ć kod: 134