Praca domowa nr 1 1) Napisz kod w języku C obliczający wartość poniższych wyrażeń; załóż, że każda litera oznacza pojedynczą zmienną typu int: a bc ; a b c ; bc a a b a b ; b c d e f g ; a b c d e d ef c a bc d ef gh 2) Napisz kod sprawdzający poniższe warunki sformułowane w języku naturalnym: (a) a nie jest równe b (b) a jest liczbą nieparzystą (c) a jest mniejsze od b ale jest większe od c (d) a jest mniejsze od iloczynu liczb c i d ale jest większe od ich sumy (e) reszta z dzielenia a przez sumę liczb b i c jest liczbą parzystą (f) a jest różne od iloczynu liczb b i c (g) a jest równe jednej z liczb a, b lub c (h) a jest liczbą podzielną przez 3 i przez 5 (i) a jest liczbą podzielną przez 7 lub przez 11 (j) a jest liczbą podzielną przez 13 i przez 17 ale nie jest wielokrotnością liczby 7 3) Napisz kod sprawdzający poniższe warunki sformułowane w języku matematyki: (a) x [a,b ) (b) x (c, d ] (c) x [a,+ ) (d) x (,b ) 4) Napisz program, który wczytuje liczbę wspólny mnożnik w uproszczonej tabliczce mnożenia; np. po podaniu wartości 7 program wypisze 10 elegancko sformatowanych wierszy: 1 x 7 = 7 2 x 7 = 14 3 x 7 = 21... 10 x 7 = 70
Praca domowa nr 2 1) Napisz program, który wczytuje liczbę określającą długość boku poniższych figur, kreślonych przy pomocy gwiazdek; ich wielkość zależy od podanej liczby, np. jeśli podano 5: nr 1 nr 2 nr 3 nr 4 nr 5 ***** ***** ***** * * ***** **** **** ** ** ***** *** *** *** *** ***** ** ** **** **** ***** * * ***** ***** Operator powinien móc wskazać, którą figurę chce obejrzeć podając jej numer. 2) Napisz program w języku C, który wczytuje liczbę całkowitą. Zadaniem programu jest wydrukowanie wszystkich dzielników wczytanej liczby. 20: 1, 2, 4, 5, 10, 20 21: 1, 3, 7, 21 22: 1, 2, 11, 22 23: 1, 23 24: 1, 2, 3, 4, 6, 8, 12, 24 3) Napisz program w języku C, który wczytuje dwie liczby całkowite (mc, dz) oznaczające: mc numer miesiąca, dz numer dnia w miesiącu. Program ma obliczyć numer kolejny dnia w bieżącym roku wyznaczony przez tę datę. mc=1, dz=1 to 1-szy dzień roku mc=1, dz=31 to 31-szy dzień roku mc=2, dz=1 to 32-gi dzień roku mc=12, dz=31 to 366-ty dzień roku 4) Napisz program w języku C, który wczytuje liczbę całkowitą oznaczającą ile sekund upłynęło od północy. Program ma obliczyć trójkę HH:MM:SS klasyczne zwyczajowe określenie czasu. 36600: 10:10:00 36900: 10:15:00 55200: 15:20:00 63920: 17:45:20
Praca domowa nr 3 1) Napisz funkcję w języku C o nazwie slownie100, która dla przekazanej jako parametr wołania wartości kwota typu int z zakresu [0, 100) wypisze słownie wartość przekazanej kwoty. działania funkcji w zależności od przekazanej wartości parametru: 0: <<== puste, nic nie wypisze 1: jeden 2: dwa 33: trzydziesci trzy 78: siedemdziesiat osiem Wskazówka: Być może znajdą Państwo jako użyteczną pomocniczą funkcję slownie10, która działa analogicznie jak slownie100, ale dla zakresu wartości parametru [0, 10). 2) Napisz funkcję o nazwie czywzajemniepierwsze, która dla podanych jako parametry wołania dwóch liczb całkowitych sprawdzi, czy liczby te są wzajemnie pierwsze. Liczby są wzajemnie pierwsze, gdy żaden z dzielników jednej liczby nie jest dzielnikiem drugiej liczby. działania, w zależności od przesłanych parametrów: 20, 21 Prawda <<== liczby są wzajemnie pierwsze 21, 22 Prawda 21, 33 Fałsz <<== liczba 3 jest wspólnym dzielnikiem 21, 35 Fałsz <<== liczba 7 jest wspólnym dzielnikiem 3) Napisz funkcję o nazwie czypitagorejskie, która dla podanych jako parametry wołania trzech liczb całkowitych sprawdzi, czy liczby te są tzw. trójkami pitagorejskimi, czyli liczbami całkowitymi spełniającymi równanie Pitagorasa: x 2 y 2 =z 2 działania: 1, 2, 3 Fałsz 2, 1, 3 Fałsz 2, 3, 4 Fałsz 3, 4, 5 Prawda 5, 4, 3 Prawda 4) Napisz program, który wczytuje tablicę znaków (napis), który w założeniu jest kodem PESEL. Zadanie programu to określenie, czy podany kod jest poprawny, czy niepoprawny. Wskazówka: Kod wczytany zostanie do tablicy znaków: powinno zostać wczytanych 11 cyfr; układ kodu (jaki znak na jakiej pozycji) pokaże poniższy fragment kodu: int i; char kod[100]; /* bufor na kod PESEL */ printf( "Podaj kod PESEL=" ); gets( kod ); for ( i=0; kod[i]!= 0; i++ ) printf( "kod znaku na pozycji [%2d] = %3d\n", i, kod[i] ); Przydatne źródło potrzebnych informacji: http://pl.wikipedia.org/wiki/pesel
Praca domowa nr 4 1) Napisz program, który wczytuje trzy liczby w założeniu będące długościami boków pewnego trójkąta; wykonaj następujące obliczenia: sprawdź, czy podane liczby wyznaczają legalny trójkąt; oblicz w stopniach kąty trójkąta; oblicz pole powierzchni trójkąta; oblicz promień okręgu wpisanego w trójkąt; oblicz promień okręgu opisanego na trójkącie. Przydatne źródło informacji: http://pl.wikipedia.org/wiki/tr%c3%b3jk%c4%85t 2) Napisz program, który będzie przeliczał kąty z miary łukowej w radianach na miarę w stopniach (minutach, sekundach), i odwrotnie. Zastanów się jak zorganizować dialog z operatorem programu, aby umożliwić mu wskazanie pożądanego wariantu konwersji. Wskazówka: 360º = 2π radianów 3) Napisz program, który będzie przeliczał wzrost podany w centymetrach na wzrost podany w stopniach i calach, i odwrotnie. Zastanów się jak zorganizować dialog z operatorem programu, aby umożliwić mu wskazanie pożądanego wariantu konwersji. Wskazówka: 1 stopa = 12 cali; 1 cal = 2.54 cm 4) Napisz program, który wczytuje liczbę rzeczywistą część całkowita to złote, część ułamkowa to grosze; zadanie programu to wyliczenie ile trzeba użyć będących w obiegu nominałów pieniężnych (banknotów i monet) aby móc wypłacić podaną kwotę. : 8.23: 1 5zł, 1 2zł, 1 1zł, 1 20gr, 1 2gr, 1 1gr 49.75: 2 20zł, 1 5zł, 2 2zł, 1 50gr, 1 20gr, 1 5gr 612.37: 6 100zł, 1 10zł, 1 2zł, 1 20gr, 1 10gr, 1 5gr, 1 2gr
Praca domowa nr 5 1) Napisz program, który symuluje losowanie Lotto: generowanych jest sześć różnych liczb z zakresu od 1 do 49. Wskazówka: Przyjrzyj się uważnie operacji wyznaczania reszty z dzielenia. 2) Napisz funkcję, do której jako parametry wysyłasz adres tablicy liczb rzeczywistych double i liczbę elementów tej tablicy. Funkcja ma przesunąć cyklicznie elementy w kierunku końca tablicy o jedną pozycję. Napisz program, który zademonstruje funkcję w działaniu. Przykład działania funkcji Tablica przed operacją: 34 5 92 8 70 323 661 25 254 18 Tablica po operacji: 18 34 5 92 8 70 323 661 25 254 3) Napisz funkcję, do której jako parametry wysyłasz adres tablicy liczb rzeczywistych double i liczbę elementów tej tablicy. Funkcja ma określić dwa wyniki: pozycję w tablicy (indeks) liczby o największej i o najmniejszej wartości. Napisz program, który zademonstruje funkcję w działaniu. Przykład 34 5 92 8 70 323 661 25 254 18 W powyższej tablicy wartość minimalna jest na pozycji nr 1, maksymalna na apozycji nr 6.