• Nie Znaleziono Wyników

Zadania z Języka C dla grup 7. i 9.

N/A
N/A
Protected

Academic year: 2021

Share "Zadania z Języka C dla grup 7. i 9."

Copied!
1
0
0

Pełen tekst

(1)

Zadania z Języka C dla grup 7. i 9.

Zestaw I - październik 2016

Dla początkujących w Języku C (zaawansowani mogą zacząć od Zestawu II):

1. Napisać program, który czyta ciąg liczb ze standardowego wejścia aż do wystąpie- nia znaku końca pliku (kombinacja klawiszy Ctrl–D na klawiaturze), a następnie oblicza średnią arytmetyczną i odchylenie standardowe, po czym wyprowa- dza wyniki na standardowe wyjście. W pierwszej wersji programu, dane mogą być przechowywane w jednowymiarowej tablicy liczb zmiennoprzecinkowych o usta- lonym rozmiarze maksymalnym (np. Nmax = 1000) zadeklarowanym jako stała całkowita. Proszę poeksperymentować z typami wprowadzanych danych (float i double) oraz formatami wprowadzanych i wyprowadzanych danych. Gotowy pro- gram proszę wykorzystać do czytania danych z pliku, z wykorzystaniem mechani- zmu potoków unixowych (np. ./srednia.out < moje_dane.dat).

Dodatkowo, można zastanowić się i spróbować napisać identycznie działający (przy- najmniej z punktu widzenia użytkownika) program, który nie korzysta z tablic licz- bowych i nie zakłada z góry ograniczenia na liczbę danych. (Czy to w ogóle jest możliwe?) Jakie będą zalety a jakie wady takiej wersji programu?

2. Napisać program znajdujący pierwiastki równania kwadratowego o współ- czynnikach czytanych ze standardowego wejścia w drodze interaktywnych pytań i odpowiedzi użytkownika. Należy przy tym zadbać o przekazywanie odpowiednich komunikatów użytkownikowi (współczynnik przy x2 nie może być równy 0 itp.) Osoby bieglej znające język C mogą także uwzględnić rozwiązań zespolone (plik nagłówkowy complex.h,

por. https://en.wikibooks.org/wiki/C_Programming/C_Reference/complex.h).

3. Mnożenie dużych liczb naturalnych. Napisać program wczytujący z klawia- tury dwie duże liczby naturalne (jako tablice znakowe) i drukujący ich iloczyn na ekran. Przez “duże” rozumiemy liczby przekraczające zakresy standardowych typów całkowitych.

4. Sito Erastotenesa. Poszukać informacji na temat algorytmu sita Erastotenesa i napisać program znajdujący wszystkie liczby pierwsze mniejsze od zadanej war- tości N .

5. Algorytm Euklidesa. Największy wspólny dzielnik (NWD) liczb naturalnych m i n (bez straty ogólności przyjmujemy m > n) zdefiniowany jest warunkami:

Jeśli n = 0, NWD(m, n) = m.

Jeśli n > 0, NWD(m, n) = NWD(n, m mod n).

Napisz prosty (tzn. jednopętlowy) program obliczający iteracyjnie NWD(m, n) dla m i n wprowadzanych z klawiatury. (Rekurencyjna wersja tego programu będzie rozważana nieco później.)

Cytaty

Powiązane dokumenty

Pokazać, że izometrie trójkąta równobocznego wraz z działaniem składania odwzorowań tworzą grupę.. Ułożyć tabelkę działania w

Dopisać z prawej strony liczby 523 takie trzy cyfry, aby otrzymana liczba sześciocyfrowa była podzielna przez 7, 8 i

[r]

Pokaza´c, ˙ze det A jest liczb ˛a całkowit ˛a... Zastosowa´c indukcj˛e wzgl˛edem stopnia

wykorzystywany będzie plik konfiguracyjny solwera iteracyjnego o nazwie mkb.datoraz plik konfiguracyjny solwera bezpośredniego pardiso.dat) W trakcie dzisiejszych zajęć zapoznacie

Proszę napisać funkcje, która mnoży dwie liczby typu unsigned (albo unsigned long), a wynik zapamiętuje w dwóch innych zmiennych, z których jedna przechowuje najmłodsze bity

W przypadku funkcji generującej liczby losowe metodą Boxa-Mullera, można zadbać o to, aby przy nieparzystym wywołaniu była wykonywana cała pro- cedura począwszy od losowania liczb x

, n−1, dla każdej permutacji określa liczbę punktów stałych k, oraz wylicza, ile razy w ciągu N permutacji mamy k = 0.. Ułamek N/N k=0 stanowi oszacowanie