Informacje dla studentów >> Wprowadzenie do programowania >>

I zestaw zaliczeniowy


Numer zadania Treść zadania
1 Proszę napisać program rozwiązujący układ 3 równań liniowych z 3 niewiadomymi (=układ Cramera) według wzorów Cramera. W przypadku braku rozwiązania program ma informować użytkownika, że układ jest sprzeczny. W przypadku braku jednego rozwiązania – że układ ma nieskończoną liczbę rozwiązań spełniających daną zależność (program ma podać tę zależność). Każde równanie ma postać: a×x + b×y + c×z = d. Użytkownik podaje wartości współczynników a, b, c, d, które są liczbami rzeczywistymi i należą do przedziału (-100,100).
2 Należy napisać program, który dokonuje zamiany podanej liczby całkowitej n z postaci dziesiętnej na postać w kodzie binarnym; 0 <= n <= 255. Liczba n podawana jest przez użytkownika z klawiatury w postaci dziesiętnej.
3 Należy napisać program znajdujący wszystkie liczby doskonałe w zadanym przedziale <a, b>, gdzie a, b są liczbami całkowitymi; 0 <= a <= b <= 255. Granice przedziału a, b są definiowane przez użytkownika na wejściu programu.
4 Proszę napisać program sprawdzający czy dwie proste, dane w postaci:
- y1 = a1×x + b1,
- y2 = a2×x + b2,

są równoległe czy przecinają się. Jeśli proste są równoległe program ma obliczać odległość między nimi. Jeśli proste przecinają się należy obliczyć:
- współrzędne punktu przecięcia,
- odległość punktu przecięcia od początku układu współrzędnych,
- kąt pod jakim przecinają się proste.
Danymi wejściowymi podawanymi przez użytkownika są współczynniki a1, a2, b1, b2 prostych. Są to liczby całkowite z przedziału <-100, 100>.
5 Proszę napisać program przedstawiający daną liczbę zespoloną z w postaci trygonometrycznej: z = |z|× (cos j + i×sin j). Liczba zespolona ma postać z = a + b×i. Użytkownik wprowadza wartości a, b, przy czym a, b są liczbami całkowitymi oraz  -128 <= a,b <= 127. Ponadto program powinien podać wartość modułu liczby z, liczbę sprzężoną do z oraz wartość n-tej potęgi liczby z. Wykładnik potęgi n jest również podawany przez użytkownika; 0 <= n <= 10, n jest liczbą całkowitą. Należy zwrócić uwagę na zakres zmiennych (przy potęgowaniu), jeśli przy potęgowaniu może wystąpić przepełnienie należy się przed tym zabezpieczyć.
6 Należy napisać program obliczający macierz odwrotną do zadanej macierzy A o wymiarze 3×3. Elementy macierzy A są podawane na wejściu przez użytkownika, są całkowite i należą do przedziału <-128, 127>. Jeśli nie istnieje macierz odwrotna (np. macierz A jest osobliwa) program ma generować odpowiednią informację.
7 Proszę napisać program sprawdzający czy dana macierz A o wymiarze 3×3 jest macierzą ortogonalną (tj. czy A×AT = AT×A = I). Elementy macierzy są podawane na wejściu przez użytkownika. Są to liczby całkowite z przedziału liczbowego <-128, 127>.
8
Należy napisać program obliczający wszystkie liczby Catalana z przedziału <1, a>, gdzie 1 <= a <= 127; a jest liczbą całkowitą podawaną przez użytkownika na wejściu. N-tą liczbę Catalana oblicza się według wzoru: Cn= 1/n ×(2n-2)! / ((n-1)!×(n-1)!).
9
Należy napisać program, który dokonuje zamiany podanej liczby całkowitej n z postaci dziesiętnej na postać w kodzie szesnastkowym; 0 <= n <= 255. Liczba podawana jest z klawiatury w postaci dziesiętnej.
10
Należy napisać program, który znajduje wszystkie trójki liczb spełniające równanie Pitagorasa (czyli wszystkie trójki liczb mogące być bokami trójkąta prostokątnego), należące do przedziału <a, b>. Wartości a, b są liczbami całkowitymi podawanymi przez użytkownika, przy czym 0 <= a < b <= 255. Szukane liczby nazywamy liczbami pitagorejskimi.
11
Proszę napisać program sprawdzający czy dana macierz A o wymiarach n×n jest nieosobliwa. Macierz nazywamy nieosobliwą jeśli jej wyznacznik jest niezerowy. Dane wejściowe: rozmiar macierzy n (1 <= n <= 6), elementy macierzy z przedziału <-128, 127>. Zarówno rozmiar macierzy jak i elementy macierzy mają być liczbami całkowitymi.
12
Należy napisać program podający rozwiązania równania kwadratowego danego w postaci ax+ bx + c = 0, również dla przypadku rozwiązań zespolonych. Użytkownik podaje na wejściu wartości parametrów a, b, c, przy czym wartości te mają być liczbami rzeczywistymi z przedziału <-120, 120>.
13
Proszę napisać program sprawdzający, czy podane 3 liczby a, b, c mogą być bokami trójkąta. Jeśli tak, to należy obliczyć:
- promień koła opisanego na tym trójkącie,
- pole koła opisanego na trójkącie,
- miary wszystkich kątów trójkąta.
Ponadto należy podać czy dany trójkąt jest ostro- , prosto-, czy rozwartokątny. Liczby a, b, c mają być całkowite i należeć do przedziału (0, 250). Liczby te są wprowadzane przez użytkownika programu.
14
Użytkownik programu podaje wartości współrzędnych (x,y) 3 punktów leżących na płaszczyźnie, przy czym wartości x, y należą do przedziału <0,100> i są liczbami rzeczywistymi. Punkty te mają być wierzchołkami trójkąta. Dla wprowadzonych danych program powinien obliczać:
- promień koła wpisanego w trójkąt,
- pole koła wpisanego w trójkąt,
- miary wszystkich kątów trójkąta.
Ponadto program ma określać czy dany trójkąt jest ostro- , prosto-, czy rozwartokątny.

15
Należy napisać program, który dla podanej liczby n będzie obliczał i wyświetlał n kolejnych wyrazów ciągu zdefiniowanego w następujący sposób: a0 = 0, a1 = 1, an = 2(an-2 + an-1).
Następnie program powinien wyznaczyć sumę wyrazów o indeksach parzystych. Użytkownik wprowadza wartość n, gdzie n jest liczbą całkowitą z przedziału (0, 121).
16
Proszę napisać program, który dla koła danego w postaci (x-a)2 + (y-b)2 = r2 wyznaczy:
- odległość środka koła od początku układu współrzędnych,
- pole koła,
- długości boków i pole równoramiennego trójkąta prostokątnego wpisanego w koło.
Użytkownik podaje na wejściu wartości a, b, r. Przy czym a, b są liczbami całkowitymi z przedziału (-100,100), natomiast r ma wartość całkowitą i spełnia nierówności: 0 < r <= 50.
17
Proszę napisać program, który dla podanej liczby n będzie obliczał i wyświetlał n kolejnych wyrazów ciągu zdefiniowanego w następujący sposób: 
a0 = 0, a1 = 1, a2 = 1, an = an-3 – 2 |(an-1)/ (an-2)|.

Program ma również wyznaczyć sumę wyrazów o indeksach nieparzystych. Użytkownik wprowadza wartość n, gdzie n jest liczbą całkowitą z przedziału (0, 120>.
18
Należy napisać program, który dla prostej danej w postaci y = a×x + b wyznacza proste prostopadłe do y, przechodzące przez następujące punkty układu współrzędnych:
- początek układu współrzędnych,
- punkty będące wierzchołkami trójkąta prostokątnego, którego wierzchołek przy kącie prostym ma współrzędne (x1,y1), przeciwprostokątna jest równoległa do prostej y, a przyprostokątne mają długości 2a, b-10.
Użytkownik podaje wartości: a, b, x1, y1, należące do przedziału <0, 200>. Program powinien generować równania prostych prostopadłych w postaci y = m×x + n.
19
Proszę napisać program obliczający liczbę dni, jaka dzieli dwie daty. Użytkownik podaje na wejściu dwie daty (ograniczenia dotyczące daty: rok z przedziału (0, 2500>, miesiąc z przedziału <1, 12>, dzień z przedziału <1, 31> - liczby całkowite). Należy uwzględnić lata przestępne. W programie proszę napisać własną funkcję obliczania różnicy dat.
20
Proszę napisać program podający wszystkie liczby automorficzne z przedziału <a, b>, gdzie a, b są liczbami całkowitymi z przedziału (0, 250>. Użytkownik podaje wartości a, b jako dane wejściowe programu. Liczbą automorficzną nazywamy liczbę, która znajduje się na końcu swojego kwadratu.
21
Należy napisać program obliczający największy wspólny podzielnik zbioru n liczb naturalnych. Użytkownik podaje wartość n, która ma być liczbą całkowitą z przedziału (0, 200>.
22
Proszę napisać program wyznaczający liczbę i sumę liczb podzielnych przez 3 w zbiorze n liczb naturalnych. Na wejściu użytkownik podaje wartość n będącą liczbą całkowitą z przedziału (0, 255).
23
Należy napisać program podający wszystkie liczby Goldbacha z przedziału <a, b>, gdzie a, b są liczbami naturalnymi z przedziału (0, 200) podawanymi przez użytkownika. Liczbą Goldbacha nazywamy liczbę, którą można przedstawić jako sumę 2 liczb pierwszych (np. 14 = 11 + 3).
24
Należy napisać program obliczający pierwszych n liczb pierwszych z przedziału <a, b>. Użytkownik podaje następujące dane wejściowe: a, b, n. Wszystkie są liczbami całkowitymi, przy czym 0 < a < b < 500, natomiast n należy do zbioru (0, 50>.
25
Proszę napisać program podający wszystkie liczby zaprzyjaźnione z przedziału <a, b>, gdzie a, b są liczbami naturalnymi oraz 0 <= a < b <= 300. Użytkownik podaje na wejściu wartości a, b.
Liczbami zaprzyjaźnionymi nazywamy parę liczb, dla której suma podzielników jednej z liczb (podzielników mniejszych od samej liczby) jest równa drugiej liczbie (np. 51 i 21, bo 1 + 3 + 17 = 21).
26
Proszę napisać program obliczający n kolejnych wyrazów ciągu arytmetycznego o pierwszym elemencie równym a oraz różnicy r. Program powinien wyznaczyć sumę tych elementów. Użytkownik podaje na wejściu wartości n, a, r, przy czym n jest liczbą naturalną z przedziału (0, 100>, a jest liczbą naturalną z przedziału (0, 50), r jest liczbą całkowitą z przedziału (-80, 80).
27
Użytkownik podaje współrzędne x,y trzech punktów leżących na płaszczyźnie, w I ćwiartce układu kartezjańskiego, przy czym niech x,y<200. Punkty te będą wierzchołkami trójkąta. Należy napisać program, który wyznaczy równania trzech prostych będących dwusiecznymi kątów tego trójkąta. Równania prostych wynikowych powinny mieć postać: f(x) = ax + b. Program powinien sprawdzać, czy podane punkty mogą być wierzchołkami trójkąta.
28
Należy napisać program, który wyznacza równania symetralnych wszystkich boków pewnego czworokąta leżącego w pierwszej ćwiartce układu kartezjańskiego. Współrzędne x,y wierzchołków czworokąta podaje użytkownik programu, przy czym x,y<100. Równania symetralnych powinny być wyświetlone w postaci: f(x) = ax + b.
29
Należy napisać program, który z dwóch ciągów znakowych A, B podanych przez użytkownika tworzy ciąg C według następujących zasad:
- jeśli n pierwszych znaków ciągu B jest takich samych jak n ostatnich znaków ciągu A, to wówczas ciąg C powstaje po nałożeniu B na A w miejscu występowania wspólnego podciągu (np. jeśli A="RóżeMają", B="MająKolce", to C="RóżeMająKolce" - podciąg "Mają" występuje w ciągu wynikowym C tylko raz),
- w przeciwnym przypadku ciąg B jest doklejany na końcu ciągu A (np. jeśli A="Róże", B="MająKolce", to C="RóżeMająKolce").
Użytkownik podaje ciągi A, B, przy czym długości obu ciągów nie mogą przekraczać wartości 100. Automatycznie 0<n<=100. Program powinien zwrócić ciąg wynikowy oraz podać jego długość (liczbę znaków w ciągu).