05 Instrukcje Sterujaceid 5708

background image

POLITECHNIKA ‘LSKA

w Gliwicach

WYDZIAŠ IN›YNIERII BIOMEDYCZNEJ

LABORATORIUM

J†ZYKÓW PROGRAMOWANIA

Instrukcje steruj ace w C]

Opracowaª: dr in». Piotr Zarychta

background image

1 Cel ¢wiczenia.

2

1 Cel ¢wiczenia.

Celem ¢wiczenia jest przybli»enie podstawowych instrukcji umo»liwiaj¡cych budow¦ p¦tli, a tak»e pokazanie

ich praktycznego wykorzystania w programie.

2 Instrukcje steruj¡ce

2.1 Instrukcja warunkowa if...else

Instrukcje warunkowe s¡ wykorzystywane w momencie, gdy chcemy wykona¢ pewn¡ cz¦±¢ programu ale tylko
wówczas, gdy speªniony jest okre±lony warunek. W C] instrukcja warunkowa przyjmuje nast¦puj¡c¡ posta¢ [1, 2]:

if (warunek)

instrukcja

1

Po sªowie kluczowym if podaje si¦ uj¦ty w nawiasy okr¡gªe warunek, który musi zosta¢ speªniony, aby wy-
konana zostaªa instrukcja

1

. Je±li chcemy, aby po speªnieniu warunku wykonanych zostaªo wi¦cej instrukcji,

a nie tylko jedna, wówczas musimy uj¡¢ caªy blok instrukcji w nawiasy klamrowe [1, 2].

if (warunek)

{
instrukcja

1

;

instrukcja

2

;

instrukcja

N

;

}

Mo»liwy jest tak»e przypadek, w którym wykonanie pewnej instrukcji lub bloku instrukcji uzale»niamy od nie
speªnienia warunku. Nale»y wówczas wykorzysta¢ sªowo kluczowe else. Zatem ogólna posta¢ instrukcji steruj¡cej
wygl¡da nast¦puj¡co [1, 2]:

if (warunek)

{
instrukcja

1

;

instrukcja

2

;

instrukcja

N

;

}

else

{
instrukcja

1

;

instrukcja

2

;

instrukcja

M

;

}

Nale»y pami¦ta¢, »e do sprawdzania warunku, a wi¦c porównywania argumentów sªu»¡ operatory relacji (po-
równania). Wynikiem ich dziaªania mo»e by¢ prawda czyli warto±¢ logiczna true lub faªsz czyli warto±¢ logiczna
false. Zbiór dost¦pnych operatorów relacji podano poni»ej [1, 2]:

a==b - prawda (true) gdy argumenty a i b s¡ równe;

a!=b - prawda (true) gdy argumenty a i b s¡ ró»ne;

background image

2.2 P¦tla for

3

a>b

- prawda (true) gdy argument a jest wi¦kszy od b;

a>=b - prawda (true) gdy argument a jest wi¦kszy lub równy b;

a<b

- prawda (true) gdy argument a jest mniejszy od b;

a<=b - prawda (true) gdy argument a jest mniejszy lub równy b;

Rozwa»my teraz przykªad, w którym sprawdzamy jak¡ liczb¦ (dodatni¡, ujemn¡ lub zero) podaª u»ytkownik.

using System;

class Program{

static void Main(){

Console.WriteLine("Podaj liczb¦:");
string ciagLiczba=Console.ReadLine();
double liczba=Double.Parse(ciagLiczba);
if (liczba>0) Console.WriteLine("Podano liczb¦ dodatni¡!");
if (liczba==0) Console.WriteLine("Podano liczb¦ zero!");
if (liczba<0) Console.WriteLine("Podano liczb¦ ujemn¡");

}

}

Prosz¦ sprawdzi¢, czy poprawna jest podana ni»ej konstrukcja tego samego programu (wykorzystuj¡ca za-
gnie»d»anie instrukcji if...else).

using System;
class Program{

static void Main(){

Console.WriteLine("Podaj liczb¦:");
string ciagLiczba=Console.ReadLine();
double liczba=Double.Parse(ciagLiczba);
if (liczba>0) Console.WriteLine("Podano liczb¦ dodatni¡!");
else if (liczba==0) Console.WriteLine("Podano liczb¦ zero!");

else Console.WriteLine("Podano liczb¦ ujemn¡");

}

}

2.2 P¦tla for

P¦tle to bardzo wa»ne narz¦dzie w r¦kach programisty, które pozwala na realizacj¦ powtarzaj¡cych si¦ czynno±ci.
Ogóln¡ posta¢ p¦tli for podano poni»ej [1, 2]:

for (wyra»enie pocz¡tkowe ; wyra»enie warunkowe ; wyra»enie modykuj¡ce) instrukcja

1

;

Wyst¦puj¡ce w p¦tli for wyra»enie pocz¡tkowe np. i=1 stosuje si¦ w celu nadania zmiennej steruj¡cej p¦tl¡
pocz¡tkowej warto±ci (inicjalizacja zmiennej steruj¡cej). Warto±¢ ta mo»e by¢ nast¦pnie zmieniana za pomoc¡
wyra»enia modykuj¡cego np. i++. Zmiana ta jest wykonywana, a» do momentu speªnienia warunku poda-
nego w wyra»eniu warunkowym np. i<10. Nale»y pami¦ta¢, »e wyra»enie warunkowe jest obliczane przed
ka»dym wykonaniem tre±ci p¦tli, a tre±¢ p¦tli jest wykonywana tylko w przypadku speªnienia warunku po-
danego w wyra»eniu warunkowym. Nast¦pnie, po wykonaniu kolejnych instrukcji tre±ci p¦tli realizowane jest
wyra»enie modykuj¡ce.

background image

2.3 P¦tla while

4

W przypadku, gdy tre±¢ p¦tli zawiera wi¦cej ni» jedn¡ instrukcj¦, nale»y uj¡¢ caª¡ tre±¢ p¦tli w nawiasy klamrowe.

for (wyra»enie pocz¡tkowe ; wyra»enie warunkowe ; wyra»enie modykuj¡ce)

{
instrukcja

1

;

instrukcja

2

;

instrukcja

M

;

}

Rozwa»my przykªad, w którym program wypisze kolejne liczby od 1..10 pionowo (jedna pod drug¡) i poziomo
(jedna obok drugiej).

using System;

class Program{

static void Main(){
int i,j=10;
for (i=1 ; i<=j ; i++) Console.WriteLine(i);
for (i=1 ; i<=j ; i++) Console.Write(i+ );
}

}

2.3 P¦tla while

P¦tli while mo»na tak»e u»y¢ do realizacji powtarzaj¡cych si¦ czynno±ci. Ró»nica w porównaniu z p¦tl¡ for
polega jednak na tym, »e liczba powtórze« nie jest bli»ej znana. Ogólna posta¢ p¦tli while jest nast¦puj¡ca [1, 2]:

while (wyra»enie warunkowe) instrukcja

1

;

W przypadku p¦tli while instrukcja (b¡d¹ blok instrukcji uj¦ty w nawiasy klamrowe) jest powtarzana tak
dªugo, jak dªugo speªnione jest wyra»enie warunkowe, które jest sprawdzane zawsze przed wykonaniem tre±ci
p¦tli. Mo»liwa jest zatem sytuacja, »e tre±¢ p¦tli nie zostanie wykonana ani razu.
Rozwa»my raz jeszcze przykªad, w którym program wypisze kolejne liczby od 1..10 pionowo (jedna pod drug¡)
i poziomo (jedna obok drugiej). Tym razem do realizacji tak okre±lonego zadania wykorzystamy p¦tl¦ while.

using System;

class Program{

static void Main(){
int i=1,j=10;
while (i<=j) {

Console.WriteLine(i);
i++;
}

i=1;
while (i<=j) {

Console.Write(i+ );
i++;
}

}

}

background image

2.4 P¦tla do..while

5

Prosz¦ zwróci¢ uwag¦, »e w powy»szym programie przed u»yciem p¦tli while musimy przypisa¢ zmiennej i
pocz¡tkow¡ warto±¢ (tu jest to i=1).

2.4 P¦tla do..while

P¦tla ta jest swego rodzaju modykacj¡ p¦tli while. Posta¢ ogólna p¦tli do..while przedstawia si¦ nast¦pu-
j¡co [1, 2]:

do {

instrukcja

1

;

instrukcja

2

;

instrukcja

N

;

}

while(wyra»enie warunkowe);

Ró»nica w porównaniu z p¦tl¡ while jest taka, »e tutaj tre±¢ p¦tli wykona si¦ przynajmniej raz. Niezale»-
nie od tego, czy wyra»enie warunkowe jest speªnione. Natomiast tre±¢ p¦tli wyst¦puj¡ca po sªowie kluczowym
do b¦dzie powtarzana tak dªugo, jak dªugo b¦dzie speªnione wyra»enie warunkowe. Nale»y zwróci¢ tak»e uwag¦
na konieczno±¢ u»ycia ±rednika po sªowie kluczowym while(wyra»enie warunkowe)!
Rozwa»my raz jeszcze przykªad, w którym program wypisze kolejne liczby od 1..10 pionowo (jedna pod drug¡)
i poziomo (jedna obok drugiej). Tym razem do realizacji tak okre±lonego zadania wykorzystamy p¦tl¦ do..while.

using System;

class Program{

static void Main(){
int i=1,j=10;
do {

Console.WriteLine(i);
i++;

}

while (i<=j);
i=1;
do {

Console.Write(i+ );
i++;

}

while (i<=j);
}

}

2.5 P¦tla foreach

P¦tla foreach zostanie szerzej omówiona w ¢wiczeniu po±wi¦conemu operacjom na tablicach.

3 Zadania do samodzielnego wykonania przed ¢wiczeniem

1. Napisa¢ program, który wy±wietli liczby caªkowite z przedziaªu 0..50 z krokiem równym 5 (czyli 0, 5,...,

45, 50) i uczyni to poziomo oraz pionowo.

background image

4 Program ¢wiczenia

6

2. Napisa¢ program pobieraj¡cy od u»ytkownika dwie liczby caªkowite L1 i L2, a nast¦pnie wypisuj¡cy

wszystkie liczby caªkowite z zakresu L1..L2. Uwaga! Liczby L1 i L2 nie musz¡ speªnia¢ zale»no±ci L1<L2.
Je±li L1>L2 nale»y wy±wietli¢ liczby z przedziaªu L2..L1.

3. Napisa¢ program wymuszaj¡cy na u»ytkowniku podanie wªa±ciwej warto±ci liczbowej b¡d¹ okre±lonego

znaku. Na przykªad program prosi u»ytkownika o podanie liczby z przedziaªu 0..2. Podanie przez u»yt-
kownika warto±ci liczbowej nie nale»¡cej do w/w przedziaªu powinno skutkowa¢ ponowieniem pro±by.

4 Program ¢wiczenia

Sugeruje si¦ realizacj¦ przykªadów z pkt.3, wzgl¦dnie zada« utrwalaj¡cych skªadni¦ prezentowanych w ¢wiczeniu
instrukcji steruj¡cych.

Literatura

[1] Lis M., C]. Praktyczny kurs, Helion, Gliwice 2007,

[2] Hejlsberg A., Wiltamuth S., Golde P., Microsoft C] Language Specication, Addison-Wesley, 2004,


Wyszukiwarka

Podobne podstrony:
05 Instrukcje Sterujace
05 Instrukcje warunkoweid 5533 ppt
Lab 06 Instrukcje sterujace id Nieznany
cw 05 instrukcja id 121376 Nieznany
ONESTER 158 01 05 Instrukcja i Schemat
Informa, Wykład 2 Instrukcje sterujące
Informa Instrukcje sterujące
06 Instrukcje sterujące C Pętle
05- INSTRUKCJA BHP PRZY OBSŁUDZE PRASY HYDRAULICZNEJ, Instrukcje BHP, VII - ELEKTRYKA
Sem II Transport, Podstawy Informatyki Wykład XII Object Pascal Instrukcje sterujące
05.Instrukcja rozmrazania i mycia urządzeń, Haccp-Dokumentacja-przykład
05 Instrukcja montażu AW10
Lab 07 Instrukcje sterujace w C
Informa, Instrukcje sterujące
1 Instrukcje sterujace (materia Nieznany (2)

więcej podobnych podstron