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



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

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

WHILE (wyrażenie) instrukcja;

Podstawy Programowania C++

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

Konstrukcje warunkowe Pętle

WHILE (wyrażenie) instrukcja;

Język C zajęcia nr 5

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

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

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

Pętla for. Wynik działania programu:

1 Podstawy c++ w pigułce.

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

4. Funkcje. Przykłady

Instrukcje sterujące

Programowanie - wykład 4

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

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

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

Kontrola przebiegu programu

if (wyrażenie ) instrukcja

Instrukcje sterujące. Programowanie Proceduralne 1

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

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

Programowanie w Turbo Pascal

do instrukcja while (wyrażenie);

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

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

Java Podstawy. Michał Bereta

Wstęp do Programowania, laboratorium 02

Wstęp do programowania

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

Podstawy programowania obiektowego

Programowanie - instrukcje sterujące

BHP JĘZYK C - INSTRUKCJE ITERACYJNE

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

Materiały do zajęć III

Pętle instrukcje powtórzeo

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

PHP w-3. Sterowanie w PHP

Proste programy w C++ zadania

1 Podstawy c++ w pigułce.

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

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

WYKŁAD 3 (13 MARZEC 2014) LICZBY CAŁKOWITE I RZECZYWISTE. Bartosz Łakomy i Dariusz Dobiesz

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

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

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

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

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Algorytm. a programowanie -

Wstęp do Informatyki

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

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

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

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

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

Programowanie, algorytmy i struktury danych

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

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

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Struktura pliku projektu Console Application

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

Algorytmy i struktury danych. Wykład 4

Podstawy Programowania 1 Instrukcje sterujące. Plan. Instrukcje sterujące. Blok instrukcji. Notatki. Notatki. Notatki. Notatki.

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

. Podstawy Programowania 1. Instrukcje sterujące. Arkadiusz Chrobot. 21 października 2015

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

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

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

Języki i metody programowania

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

1 Wprowadzenie do algorytmiki

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

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Programowanie strukturalne i obiektowe

PROGRAMOWANIE W C++ ZADANIA

Wprowadzenie do programowania w języku C

Dokonaj analizy poniŝszego kodu i na jego podstawie wyświetl w oknie przeglądarki swoje Imię oraz Nazwisko przy uŝyciu instrukcji echo i print

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

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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

2.8. Algorytmy, schematy, programy

Wstęp do programowania

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

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

Bloki anonimowe w PL/SQL

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

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

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

Algorytm i złożoność obliczeniowa algorytmu

Transkrypt:

Język C część 2 Podejmowanie decyzji w programie if else Instrukcja warunkowa umożliwia wykonanie pewnej instrukcji w zależności od wartości wyrażenia. Wszystkie wartości różne od 0, są w języku C traktowane jako prawda, równe 0, jako fałsz. Wyrażenia logiczne są liczone tylko do momentu, w którym można określid jego wartośd. if (wyrażenie) instrukcja; lub if (wyrażenie) instrukcja1; else instrukcja2; W pierwszym przypadku instrukcja wykonuje się, jeśli wartośd wyrażenia jest różna od 0. W drugim wykonuje się jedna z dwóch podanych instrukcji (nigdy obie), pierwsza gdy wartośd wyrażenia jest różna od 0, druga gdy wartośd wyrażenia jest równa 0. switch Instrukcja switch służy do wybierania jednego przypadku z wielu. Instrukcja case określa punkt wejścia do ciągu następnych instrukcji. Program wykonuje się od instrukcji po tym case, dla którego wartośd wyrażenia stałego jest równa wartości wyrażenia w instrukcji switch. Chcąc wyjśd z instrukcji switch należy użyd rozkazu break. Instrukcja default określa punkt wejścia w przypadku, gdy wyrażenie nie zostało dopasowane do żadnego wyrażenia stałego. switch (wyrażenie) case przypadek1 : instrukcje1; case przypadek2 : instrukcje2;... default : instrukcje; Język C, Daniel Pociecha, danpoc@agh.edu.pl 8

Przykład 4 /* Program oblicza pierwiastki rzeczywiste trójmianu kwadratowego */ #include<math.h> float a, b, c, delta, x1, x2; printf("podaj współczynniki trójmianu\n"); printf("a = "); scanf("%f", &a); printf("b = "); scanf("%f", &b); printf("c = "); scanf("%f", &c); delta = b * b - 4.0 * a * c; if (delta >= 0.0) x1 = (-b - sqrt(delta))/(2.0 * a); x2 = (-b + sqrt(delta))/(2.0 * a); printf("pierwiastkami są liczby %.2f, %.2f\n", x1, x2); else printf("trójmian nie ma pierwiastków rzeczywistych\n"); Przykład 5 /* Program wyświetla słowną reprezentację oceny */ int ocena; printf("podaj ocenę (1 do 6)\n"); printf("ocena = "); scanf("%d", &ocena); Język C, Daniel Pociecha, danpoc@agh.edu.pl 9

switch(ocena) case 6: printf("celujący\n"); case 5: printf("bardzo dobry\n"); case 4: printf("dobry\n"); case 3: printf("dostateczny\n"); case 2: printf("mierny\n"); case 1: printf("niedostateczny\n"); default: printf("błąd danych\n"); ZADANIE 4. Przekształd przykład 4 tak by w przypadku, gdy delta = 0 program liczył i wyświetlał tylko jeden pierwiastek równania ZADANIE 5. Przekształd przykład 5 tak by użytkownik miał możliwośd wprowadzenia imienia ucznia i ocen z trzech jego przedmiotów. Następnie program liczy średnią z ocen ucznia, zaokrągla do wartości całkowitej a na koocu wyświetla słowną reprezentację oceny ZADANIE 6. Uporządkuj trzy wczytane od najmniejszej do największej ZADANIE 7. Sprawdź, czy dana liczba całkowita jest parzysta ZADANIE 8. Sprawdź, czy w ciągu 3 liczb występują liczby ujemne Język C, Daniel Pociecha, danpoc@agh.edu.pl 10

Obliczenia cykliczne while Pętla while jest wykonywana tak długo aż wartośd wyrażenia jest prawdą (różne od 0). Warunek jest sprawdzany przed wejściem do pętli, stąd instrukcja; może nie zostad nigdy wykonana, jeżeli przy pierwszym sprawdzeniu wartośd wyrażenia jest równa 0. while (wyrażenie) instrukcja; do while Pętla do while różni się w działaniu od pętli while jedynie tym, że najpierw jest wykonywana instrukcja;, a następnie sprawdzana wartośd wyrażenia. W pętli tej, instrukcja; zawsze wykona się przynajmniej raz. do instrukcja; while (wyrażenie); Przykład 6 /* Program oblicza silnię podanej liczby */ int liczba, silnia, i; printf("proszę podać l. nat.: "); printf("liczba = "); scanf("%d", &liczba); i = 1; silnia = 1; while (i < liczba) i++; silnia *= i; printf("silnia liczby: %d, to: %d\n", liczba, silnia); Język C, Daniel Pociecha, danpoc@agh.edu.pl 11

Przykład 7 /* Program oblicza średnią podanych liczb różnych od zera */ float suma, a; int i; printf("podaj liczby, 0 - koniec!\n"); suma = 0.0; i = 0; do printf("a = "); scanf("%f", &a); if(a) suma += a; i++; while (a); printf("średnia: %.2f\n", suma/i); for Wszystkie wyrażenia są opcjonalne. instr_0 jest wykonana przed wejściem do pętli (tylko raz!). Następnie oblicza się warunek i sprawdza czy jest on różny od 0. Jeśli tak, wykonywana jest instrukcja i instr_krok. Następnie sprawdzana jest wartośd warunku itd. Pętla jest wykonywana do momentu, gdy warunek będzie równy 0. Instrukcja for(;;) instrukcja;, jest to bezwarunkowa pętla nieskooczona. Instrukcja w pętli for może nie wykonad się ani razu, jeżeli warunek będzie od razu równy 0. Pętla for może byd pętlą nieskooczoną, jeżeli warunek nigdy nie przyjmie wartości 0. for (instr_0; warunek; instr_krok) instrukcja; Język C, Daniel Pociecha, danpoc@agh.edu.pl 12

Przykład 8 /* Program oblicza silnię podanej liczby */ int liczba, silnia, i; printf("proszę podać l. nat.: "); printf("liczba = "); scanf("%d", &liczba); silnia = 1; for(i = 2; i <= liczba; i++) silnia *= i; printf("silnia liczby: %d, to: %d\n", liczba, silnia); break i continue Instrukcja break pozwala na opuszczenie aktualnie wykonywanej pętli for, while oraz do i przejście do instrukcji znajdującej się bezpośrednio po zakooczonej pętli. Instrukcja continue powoduje zakooczenie bieżącej iteracji aktualnie wykonywanej pętli for, while oraz do. Dla instrukcji for jest obliczane wyrażenie, którego wartośd decyduje o wykonaniu następnej iteracji. Natomiast dla instrukcji while oraz do jest obliczana wartośd wyrażenia sterującego pętlą. Przykład 9 /* break i continue */ int liczba, i; printf("podaj liczbę od 0 do 10: "); printf("liczba = "); scanf("%d", &liczba); Język C, Daniel Pociecha, danpoc@agh.edu.pl 13

for(i = 0; i <= 10; i++) if(i == liczba) /* if(i == liczba) continue; */ printf("licznik: %d\n", i); ZADANIE 9. Wyprowadź kwadraty i sześciany liczb od jednego do stu ZADANIE 10. Znajdź największy podzielnik liczby wprowadzonej z klawiatury ZADANIE 11. Znajdź wszystkie liczby, będące podzielnikami liczby wprowadzonej z klawiatury ZADANIE 12. Wyznacz NWD (Największy Wspólny Dzielnik) liczb a i b wprowadzonych z klawiatury wykorzystując algorytm Euklidesa. Zasada działania algorytmu jest następująca. Dopóki a i b są różne od siebie, od większej z liczb należy odjąd mniejszą, i tak do momentu aż a i b będą sobie równe. ZADANIE 13. Wyprowadź na ekran monitora wszystkie cyfry danej liczby Język C, Daniel Pociecha, danpoc@agh.edu.pl 14