Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia

Transkrypt

Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia
1
3/ ZADANIA - ITERACJE
Zad.1. Proszę uzupełnić
PROGRAM (pętla while):
Co będzie wynikiem programu:
#include <stdio.h>
#include <conio.h>
int main(void )
{
int licznik=1;
while (licznik<10) { printf( "-" ); ++licznik; };
getch();
}
SCHEMAT BLOKOWY:
…………………………………………………
…………………………………………………
PROGRAM (pętla for):
#include <stdio.h>
#include <conio.h>
int main(void )
{
……………………………………………
………………………………………………
}
getch();
}
Zad.2. Proszę uzupełnić tabelę („pętle” – przypomnienie):
Instrukcja
cechy
charakterystyczne
while (warunek)
instrukcja;
• zawsze wykona się
conajmniej jeden raz,
Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia.
2
Zad.2. Dany jest program
(źródło - wykład do przedmiotu: http://marek.piasecki.staff.iiar.pwr.wroc.pl/dydaktyka/pp/index.html)
#include <stdio.h> // Program „kalkulator” zawierający proste „menu”
int main( void )
{
char znak;
double a, b, wynik;
printf( "Podaj pierwsza liczbe A =" );// wczytanie dwóch liczb z klawiatury
scanf( "%lf" , &a );
printf( "Podaj druga liczbe B =" );
scanf( "%lf" , &b );
printf( "\n\nMozliwe operacje:" ); // wyswietlenie „menu”
printf( "\n (+) wynik = A + B" );
printf( "\n (-) wynik = A - B" );
printf( "\n (*) wynik = A * B" );
printf( "\n ( / ) wynik = A / B" );
printf( "\n\nPodaj znak operacji: " );
fflush(stdin); // wyczyszczenie wszystkich buforów (tutaj->klawiatury)
znak = getchar( ); // wczytanie znaku wybranej operacji
switch( znak ) // instrukcja wyboru jednej z operacji arytmetycznych
{
case '+' : wynik = a + b; break;
case '-' : wynik = a - b; break;
case '*' : wynik = a * b; break;
case '/ ' : wynik = a / b; break;
default: wynik = 0; printf( "\nBład operatora: podano zły znak operacji" ); break;
}
// wydruk liczb i wyniku z zadana dokladnoscia miejsc po przecinku
printf( "\nWynik obliczen: %.1f %c %.1f = %.2f " ,
a , znak , b , wynik );
printf( "\n\nKoniec programu. Nacisnij dowolny klawisz" );
fflush( stdin ); // wyczyszczenie bufora strumienia <stdin> tzn. klawiatury
getchar( );
}
a) proszę narysować schemat blokowy
b) jaki byłby wynik działania programu,
jeśli A=12, B=10, znak=’-‘, a instrukcja
warunkowa wyglądałaby jak poniŜej
…….
switch( znak ) // instrukcja wyboru jednej z
operacji arytmetycznych
{
case '+' : wynik = a + b; break;
case '-' : wynik = a - b;
case '*' : wynik = a * b; break;
…………
Paweł Skrobanek, p.323 C-3. Podstawy programowania – ćwiczenia.