pobierz plik z materiałami

Transkrypt

pobierz plik z materiałami
Język C
I.
Zadania powtórkowe
Podstawy języka C – powtórka
Zadanie 1.
Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double)
Wypisz następujące komunikaty:
Dane sa liczby: a = 730, b = 106 i c = 123.45.
Liczba a (730) w systemie szesnastkowym = 2DA lub 2da.
Liczba b (106) w systemie osemkowym = 152.
Inna postac liczby a: +000730
Liczba 1 - b = -105
Inne postaci liczby c: 1.234500e + 002, 123.45000, 000123.450
Zadanie 2.
Przetestuj działanie poniższych przykładów. Utwórz do nich odpowiednie zmienne.
printf("\nPodaj 3 liczby calkowite oddzielone spacjami: ");
scanf("%d %d %d", &e,&f,&g);
printf("Podales liczby: %d, %d, %d", e,f,g);
printf("\n\nPodaj liczbe w zapisie szesnastkowym (male litery): ");
scanf("%x", &h);
printf("Podales liczbe %d", h);
Wczytaj liczbę zmiennoprzecinkową, ujemną, w systemie ósemkowym.
Zadanie 3.
Wczytaj zmienną całkowitą d będącą przekątną prostokąta oraz:
1.
oblicz pole prostokąta o przekątnych d oraz kącie między przekątnymi = 36o – w tym
celu:
a) utwórz stałą typu zmiennoprzecinkowego o nazwie sin36 i nadaj jej wartość
znalezioną w tablicach sinusów. Tą stałą wykorzystaj do obliczenia pola prostokąta
b) wykorzystaj funkcję obliczającą sinus z biblioteki math.h i oblicz pole prostokąta
c) porównaj otrzymane wyniki
2.
Oblicz długości boków tego prostokąta i dla nich oblicz jeszcze raz pole.
Zadanie 4.
Poproś użytkownika o podanie liczby całkowitej i dla tej liczby wykonaj zadania,
wykorzystując instrukcję warunkową switch:
 jeśli liczba jest podzielna przez 3: podziel ją przez 3
 jeśli liczba dzieli się przez 3 z resztą 1: podnieś ją do kwadratu
 jeśli liczba dzieli się przez 3 z resztą 2: znajdź jej resztę z dzielenia przez 2
Zadanie 5.
Napisz program, w którym użytkownik poda liczbę całkowitą n, zaś program obliczy
sumę liczb od 1 do n za pomocą pętli for. Jeżeli użytkownik poda liczbę ujemną, to pomnóż ją razy -1.
Zadanie 6.
Napisz program, który oblicza pierwsze 20 liczb Fibonacciego i umieszcza je w tablicy.
Następnie zsumuj elementy tej tablicy.
Zadanie 7.
wypisz.
Zadeklaruj tablicę 5-elementową i wczytaj od użytkownika jej wartości, a następnie ją
Magdalena Godlewska
Języki programowania
2014/2015
Język C
Zadania powtórkowe
Zadanie 8.
Napisz program, który tworzy tablicę reprezentującą macierz trójkątną górną (10x10)
– jej elementami są liczby będące sumą wierszy i kolumn:
2
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
4
5
6
0
0
0
0
0
0
0
5 6 7 8 9 10 11
6 7 8 9 10 11 12
7 8 9 10 11 12 13
8 9 10 11 12 13 14
0 10 11 12 13 14 15
0 0 12 13 14 15 16
0 0 0 14 15 16 17
0 0 0 0 16 17 18
0 0 0 0 0 18 19
0 0 0 0 0 0 20
Następnie:
1.
2.
wypisz ją w czytelny sposób
oblicz jej wyznacznik, poprzez pomnożenie liczb na przekątnej.
Zadanie 9.
Dla wczytanej od użytkownika liczby n z zakresu [5,15]:
1.
stwórz tablicę reprezentującą macierz trójdiagonalną o wymiarach (n x n) (zobacz
przykład), która:
a) na przekątnej zawiera kolejne liczby od 1 do n,
b) nad przekątną zawiera sumę wiersza i kolumny
c) pod przekątną zawiera iloczyn wiersza i kolumny
2.
wypisz macierz w czytelny sposób
3.
gdy użytkownik poda liczbę n spoza zakresu lub niecałkowitą, powtórz wczytywanie
(do skutku)
Macierz trojdiagonalna o wymiarze 10 x 10:
1 3 0 0 0 0 0 0 0 0
2 2 5 0 0 0 0 0 0 0
0 6 3 7 0 0 0 0 0 0
0 0 12 4 9 0 0 0 0 0
0 0 0 20 5 11 0 0 0 0
0 0 0 0 30 6 13 0 0 0
0 0 0 0 0 42 7 15 0 0
0 0 0 0 0 0 56 8 17 0
0 0 0 0 0 0 0 72 9 19
0 0 0 0 0 0 0 0 90 10
Zadanie 10.
Stwórz program, który zamieni podaną liczbę na liczbę w systemie 3-kowym. Dokonaj
kontroli wczytywanej liczby (do skutku): powinna być całkowita z zakresu [1 – 2000] oraz pytaj
użytkownika, czy chce skończyć program czy też zamienić kolejną liczbę.
Zadanie 11.
1.
Zaimplementuj następujący program, korzystając z odpowiednich pętli i tablic:
Wczytaj od użytkownika zbiór liczb w następujący sposób:
a) program pyta o kolejne liczby do momentu, w którym użytkownik poda liczbę -1
b) liczba -1 kończy wczytywanie i nie jest brana pod uwagę jako element zbioru
c) wczytywane liczby powinny być unikatowe, czyli jeśli użytkownik poda liczbę, która
już została wczytana do zbioru, musi podać inną
Magdalena Godlewska
Języki programowania
2014/2015
Język C
Zadania powtórkowe
2.
Jeśli zbiór zawiera chociaż 2 liczby, program wypisuje wszystkie 2-elementowe
kombinacje bez powtórzeń tego zbioru.
Zadanie 12.
1.
Zaimplementuj następujący program, korzystając z odpowiednich pętli i tablic:
Wczytaj od użytkownika granice przedziału [a,b] następujący sposób:
a) program pyta o dolną granicę przedziału a, dopóki użytkownik nie poda liczby z
zakresu [10,100]
b) następnie program pyta o górną granicę przedziału b, dopóki użytkownik nie poda
liczby z zakresu [2*a,200]
2.
Wyznacz zbiór (tablicę) liczb pierwszych z przedziału [a,b]
Zadanie 13.
Utwórz 10 – elementową tablicę liczb całkowitych losowych z zakresu [-5,15) i dla
tych liczb:
1.
Utwórz tablicę, zawierającą w pierwszej kolumnie wylosowane liczby, a w kolejnych
kolumnach:
a) Pierwiastek kwadratowy wylosowanych liczb
b) Wylosowane liczby do potęgi 3
c) Logarytm naturalny z wylosowanych liczb
d) Sufit z pierwiastka kwadratowego
e) Cosinus, w którym wylosowane liczby są stopniami (zwróć uwagę na to, co jest
argumentem funkcji obliczającej cosinus)
2.
Wypisz w ładnej postaci utworzoną macierz
Zadanie 14.
1.
Zaimplementuj funkcję o nazwie podajLiczbe, która:
Jako argumenty przyjmuje 2 liczby całkowite a i b, które stanowią brzegi przedziału
a) gdy a <= b pyta użytkownika do skutku o podanie liczby całkowitej z zakresu [a,b] i
zwraca prawidłowo wczytaną liczbę
b) gdy a > b wypisuje komunikat o pustym przedziale i zwraca 0
2.
Następnie w funkcji main utwórz 2 liczby całkowite, wywołując dwukrotnie funkcję
podajLiczbe. Pierwsza liczba powinna być z zakresu [5,15], a druga z zakresu [10,5].
Zadanie 15.
Napisz następujący program i w nim:
1.
Utwórz funkcję o nazwie czytajLiczbe, która prosi użytkownika o podanie dowolnej
liczby i ją zwraca. Funkcja nie ma mieć argumentów wejściowych. Sam zadecyduj, jaki typ
powinna zwracać.
2.
Utwórz funkcję o nazwie nadajKategorię, która posiada jeden argument wejściowy –
dowolną liczbę. Funkcja zwraca jej kategorię, tzn.
0 – gdy liczba jest całkowita dodatnia (tu należy zawrzeć liczbę 0)
1 – gdy liczba jest całkowita ujemna
2 – gdy liczba jest zmiennoprzecinkowa dodatnia
3 – gdy liczba jest zmiennoprzecinkowa ujemna
3.
Utwórz funkcję oblicz, która posiada dwa argumenty wejściowe: dowolną liczbę i jej
kategorię. Funkcja nic nie zwraca, tylko dokonuje obliczeń i je wypisuje:
a) gdy kategoria liczby wynosi 0 – wypisuje liczbę w systemie szesnastkowym
b) gdy kategoria liczby wynosi 1 – oblicza moduł z tej liczby
c) gdy kategoria liczby wynosi 2 – oblicza pierwiastek kwadratowy tej liczby
d) gdy kategoria liczby wynosi 3 – oblicza kwadrat tej liczby
Magdalena Godlewska
Języki programowania
2014/2015
Język C
Zadania powtórkowe
4.
Wywołaj wszystkie funkcje odpowiednio w funkcji main. Wszystkie zastosowane
zmienne powinny być lokalne.
Zadanie 16.
Dla argumentu n (wczytanego od użytkownika), zaimplementuj funkcję rekurencyjną
fibbonacci, wyznaczającą n-tą liczbę fibbonacciego.
Zadanie 17.
Zaimplementuj funkcję, która prosi użytkownika do skutku o podanie liczby
całkowitej. Użytkownik może podać dowolny łańcuch znaków i będzie pytany przez program, aż
wpisze liczbę całkowitą (składającą się z samych cyfr). Funkcja ma zwracać wczytaną liczbę.
Zadanie 18.
Zaimplementuj funkcję, która dla dowolnego znaku (podanego jako argument),
wypisuje jego wartość liczbową oraz binarną.
II.
Zadania obejmujące materiał przedmiotu Języki programowania
Zadanie 1.
Napisz funkcję, która dla podanej jako argument liczby naturalnej, wypisze jej
reprezentację binarną.
Następnie napisz funkcję, która dla dowolnej liczby całkowitej n:
1.
wyodrębni jej 4 końcowe bity i wypisze jaka to będzie liczba w systemie dziesiętnym i
binarnym
2.
przesunie tę liczbę o 2 bity w lewo wypisze jaka to będzie liczba w systemie
dziesiętnym i binarnym
Zadanie 2.
naukowej
Wypisz liczbę pi (M_PI) z precyzją 30 miejsc po przecinku oraz w tzw. notacji
Zadanie 3.
Napisz program, który zawiera dwa typy struktur:
a) strukturę przechowującą dane o samochodzie, a więc: marka, pojemność silnika, rok
produkcji, przebieg, cena, województwo sprzedającego
b) strukturę przechowującą dane o salonie samochodowym – adres, imię i nazwisko
właściciela oraz tablicę struktur z ofertą samochodów
W programie zaimplementuj funkcje, które:
a) wyświetlają informacje o pojedynczym samochodzie
b) wyświetlają informację o salonie samochodowym
c) sortują i wyświetlają samochody według ceny
d) wypisują samochody pochodzące z podanego jako argument województwa
Wprowadź kilka samochodów i jeden salon samochodowy i wykorzystaj zaimplementowane
funkcje.
Zadanie 4.
Napisz program, implementując:
1.
funkcję o nazwie tablicaLosowa, która posiada 3 argumenty wejściowe, będące
kolejno: dolną granicą przedziału losowania, górną granicą przedziału losowania oraz liczbą
elementów tablicy losowej.
a) Funkcja zwraca tablicę losowych liczb całkowitych z podanego przedziału i o podanym
rozmiarze.
b) Wywołaj tę funkcję w funkcji main, tworząc losową tablicę.
2.
funkcję wypiszTablicę, która wypisuje elementy tablicy podanej jako argument –
wypisuj tablice tworzone w tym programie przy pomocy tej funkcji.
Magdalena Godlewska
Języki programowania
2014/2015
Język C
Zadania powtórkowe
3.
funkcję o nazwie insertionSort, która sortuje tablicę podaną jako argument,
korzystając z algorytmu sortowania przez wstawianie. Funkcja powinna zwracać
posortowaną tablicę. Wywołaj tę funkcję dla tablicy losowej uzyskanej w punkcie 1.
Algorytm sortowania przez wstawianie:
Tutaj: http://pl.wikipedia.org/wiki/Sortowanie_przez_wstawianie znajduje się opis i pseudokod
algorytmu
Zadanie 5.
Napisz program drzewoGenealogiczne.c, który zawiera:
1.
strukturę osoba, zawierającą: imię, nazwisko, rok urodzenia, rok śmierci, wskaźnik do
osoby matki, wskaźnik do osoby ojca
2.
funkcję utworzDrzewo, pozwalającą wczytać drzewo od użytkownika
3.
funkcję wyswietlDrzewo, przedstawiającą drzewo w następującej postaci:
ty (1996- )
(matka) nazwisko imie (1950 - )
(matka) nazwisko imie (…)
….
(ojciec) nazwisko imie (…)
….
(ojciec) nazwisko imie (…)
(matka) nazwisko imie (…)
….
(ojciec) nazwisko imie (…)
….
Zadanie 6.
Napisz program, który jako argumenty wywołania przyjmuje dowolną liczbę liczb
całkowitych, następnie sortuje je i posortowane zapisuje do pliku.
Zadanie 7.
1.
2.
3.
a)
b)
c)
d)
e)
Napisz program, będący obsługą małej bazy danych:
Utwórz plik baza.txt i wpisz do niego: nazwiska, imiona i rok urodzenia kilku osób
W programie utwórz odpowiadającą plikowi txt strukturę
Zaimplementuj funkcje, które będą następnie działały w menu:
wyswietlOsoby
dodajOsobe
usunOsobe
znajdzPoNazwisku
zakoncz (ta funkcja powinna zapisywać zmienioną bazę danych do pliku)
Magdalena Godlewska
Języki programowania
2014/2015

Podobne dokumenty