Lista 5
Zadanie 1
Wypróbować programy mpz_tst.c i silnia2.c.
- w programie mpz_tst.c wpisać inne liczby (wypróbować liczby
ujemne). Wypróbować bardziej złożone wyrażenia.
- przerobić program loga.c by usunść ograniczenie na wielkość
liczb używając bibilotekę GMP.
- przerobić program obliczający trójkąt Pacala używając
bibiltekę GMP
- przerobić program obliczajęcy pojedynczy współczynnik
Newtona używając bibilotekę GMP.
- przerobić program sprawdzajęcy czy liczba jest pierwsza
używając bibliotekę GMP. Zastanowić się ile operacji arytmetycznych
wykonuje ten program. Sprawdzić ile to zajmuje czasu (prosze nie
brać zbyt dużych liczb, tak by czas nie przekroczył kilku minut).
Zadanie 2
Wypróbować programy `dod_tab.c', `dod_vec2.c' i `ilo_vec.c'.
- sprawdzić że funkcja dodaj_wektory potrafi dodać wektory
dowolnej długości (przerobić program główny zmieniając tam
długość wektorów).
- przerobić program `ilo_vec.c' tak by obliczał długość wektora
(tzn. pierwiastek z sumy kwadratów elementów wektora). Wektory
mają mieć składowe typu double, wynik też ma być double.
Obliczanie długości ma być oddzielną funkcją.
- Napisać funkcję obliczającą sumę elementów wektora liczb
typu double. Wypróbować ją wstawiając ją do jednego z programów
przykładowych.
- Napisać (i wypróbować!) funkcję zliczającą ile elementów
wektora całkowitoliczbowego jest równe 0.
Zadanie 3
Wypróbować poniższy program:
#include <stdio.h>
int main(void)
{
signed char i;
/* Kiedy pętla zakończy działanie ? */
for(i = 0; i > -100; i = i + 50) {
printf("i = %d\n", i);
}
return 0;
}
Wyjaśnić teoretycznie działanie programu. Sprawdzić co się stanie
gdy 'signed char' zastąpi się przez 'unsigned char'. Znaleźć podobne
przypadki dla liczb 'short int'
Zadanie 4
Dla 16-bitowych ('short') argumentów i wyniku
znaleźć najmniejszą liczbę dodatnią n taką żę n*n<0 (napisać
odpowiedni program). To samo
przy 32-bitowej dokładności ('int').
Zadanie 5
Znaleźć najmniejsze naturalne j, takie że w arytmetyce komputerowej
(typu 'double') j*(1/j) nie jest równe 1. Jak by to wyglądało, gdyby
komputer zamiast zaokrąglać
odrzucał cyfry dla których zabrakło miejsca.
Uwaga: Programy przykładowe są w podkatalogach katalogu
/home/s/prow/p-wyk4/wdi/wdi_pr/
Nazwa katalogu to data odpowiedniego wykładu zapisana bez
przerw w postaci rok, miesiąc, dzień.