Stefan Sokołowski, Podstawy
programowania
LABORATORIUM 2
- Instrukcja
warunkowa if (por. dwa
pierwsze schematy tutaj).
- Operatory relacyjne i logiczne.
- Instrukcja
wyboru switch
(por. schemat po prawej tutaj).
Zadanie 1:
Gra w trzy
pytania:
Żeby ustalić, jaką liczbę wybrano ze zbioru {0,1,2,3,4,5,6,7},
wystarczą 3 odpowiedzi ,,tak'' lub ,,nie'' na
pytania takie jak na poniższym schemacie:

Proszę napisać i uruchomić program, który działa wg tego schematu i
zgaduje wybraną liczbę.
Wskazówka:
Oczywiście należy w programie używać komendy
warunkowej if ... else ... .
Dla wczytania odpowiedzi użytkownika
,,1'' (tak)
lub ,,0'' (nie)
można zastosować komendę
scanf("%i", &odp);
która wczytuje liczbę z klawiatury do zmiennej całkowitej
odp (zadeklarowanej uprzednio jako int
odp; ); jeżeli użytkownik wpisał 1, to po takim
wczytaniu warunek
odp == 1
jest spełniony, w przeciwnym razie jest niespełniony.
Zadanie 2:
Proszę napisać i uruchomić program podobny jak w zadaniu 1, ale
znajdujący liczbę wybraną spośród 32 liczb {0,1,2,...,31}
w 5 pytaniach.
Zadanie 3:
Napisać i uruchomić program, który wczytuje dwie liczby
całkowite n i k, a następnie wyświetla wartości wyrażeń
logicznych
- n > k
- n >= k
- n != k
- n <= k && k < 2*n
- n > k || k >= 2*n
Przetestować program na kilku różnych parach
(n,k). Za każdym razem jeszcze przed uruchomieniem
programu przewidzieć, jaki będzie wynik.
Zadanie 4:
Napisać i uruchomić program, który wczytuje dwie liczby
rzeczywiste x i y, a następnie wyświetla
informację, jaki kolor ma punkt o współrzędnych (x,y) na
poniższym rysunku:
(obszary żółte i niebieskie rozciągają się do nieskończoności).
Zadanie 5:
Tu, pod tym linkiem znajduje się niepełny
program w C — brakuje mu części main. Jego celem
ma być cytowanie na życzenie fraszek J.S.Leca.
W części poprzedzającej main zdefiniowane są funkcje,
których można użyć w części main; tak więc komenda
- spis_tresci(); — powoduje wyświetlenie
spisu tytułów dostępnych fraszek,
- fraszka0(); — powoduje wyświetlenie
fraszki p.t. ,,Pytanie'',
- fraszka1(); — powoduje wyświetlenie
fraszki p.t. ,,Optymistyczna'',
- ... itd. ...,
- fraszka7(); — powoduje wyświetlenie
fraszki p.t. ,,Bliższa koszula ciału''
Proszę wypełnić część main programu w taki sposób, żeby
program
- wyświetlał spis fraszek,
- następnie pytał o numer fraszki do wyświetlenia i wczytywał ten
numer z klawiatury,
- po czym wyświetlał fraszkę o podanym numerze.
W programie proszę nie używać komendy if; zamiast tego
zastosować switch. W przypadku podania przez użytkownika
numeru nie odpowiadającego żadnej fraszce program powinien drukować
komunikat, że jest to błędny numer.
Zadanie 6 domowe:
Poniżej zaprezentowana jest tabliczka mnożenia dla układu
pozycyjnego o podstawie 5. W każdej kratce podane są dwie cyfry:
- przeniesienie, oraz
- kolejna cyfra wyniku:
| | 0 | 1 | 2 | 3 | 4 |
| 0 |
0 0 |
0 0 |
0 0 |
0 0 |
0 0 |
| 1 |
0 0 |
0 1 |
0 2 |
0 3 |
0 4 |
| 2 |
0 0 |
0 2 |
0 4 |
1 1 |
1 3 |
3 |
0 0 |
0 3 |
1 1 |
1 4 |
2 2 |
4 |
0 0 |
0 4 |
1 3 |
2 2 |
3 1 |
Proszę napisać program, który
-
wczyta dwie cyfry 0, 1, 2,
3 lub 4 i
-
wydrukuje przeniesienie oraz cyfrę wyniku wg tabelki.
Jeśli użytkownik poda inne liczby niż 0, 1,
2, 3 i 4, to program powinien zgłosić
błąd.
Wskazówka:
Ostatnia cyfra wyniku to reszta z dzielenia liczby
przez 5. Przeniesieniem jest iloraz całkowity liczby
przez 5.
Do mojej głównej witrynki
Ostatnia modyfikacja: 4 października 2024