Przykładowe zadania na DRUGIE kolokwium kontrolne z przedmiotu INFORMATYKA_1
-
Zadania dotyczące zastosowań typu strukturalnego:
-
Zdefiniuj typ struktury przechowującej dane personalne studenta (nazwisko
: 25 znaków; imię : 15 znaków;
wiek : liczba o wartościach 0-120; zaliczenie : zmienna logiczna) oraz
50-elementowa tablicę takich struktur.
Napisz funkcję wyświetlającą na ekranie dane personalne wszystkich
studentów, których nazwiska i imiona zaczynają się na tą samą literę (np.
Krzysztof
Kowalski,
Norbert
Nowak
).
Tablica struktur oraz ilość danych zapisanych w tej tablicy muszą być
przekazywane jako parametry funkcji.
-
Zdefiniuj typ struktury przechowującej dane personalne pracownika (nazwisko
: 20 znaków; imię : 15 znaków;
pensja : liczba rzeczywista; płeć : znak 'm' lub znak 'k') oraz 100-elementową
tablicę takich struktur. Napisz funkcję wyszukującą strukturę opisującą
pracownika, który ma najwyższą pensję. Tablica struktur oraz ilość wpisanych
danych są parametrami wejściowymi funkcji a wskaźnik znalezionej struktury
jest parametrem wyjściowym.
-
Zadania z tematu operacji na plikach dyskowych (binarnych lub tekstowych):
-
Napisz funkcję wyznaczającą wartość średnią ciągu liczb typu rzeczywistych
(double) zapisanych na dysku w pliku binarnym 'dane.dat'. (Kontroluj błędy
przy operacjach na pliku)
-
Dany jest plik tekstowy, o nazwie ‘dane.txt’, zawierający liczby rzeczywiste.
Napisz funkcję kopiującą zawartość tego pliku do nowego (tekstowego) pliku
‘wyniki.dat’, ale z pominięciem liczb ujemnych.
(Kontroluj błędy przy operacjach na pliku).
-
Dany jest plik binarny, o nazwie ‘liczby.bin’, zawierający nieznaną ilość
czterobajtowych liczb calkowitych. Napisz funkcję odwracającą kolejność
liczb w tym pliku tzn., że pierwsza liczba znajdzie się na końcu pliku
a ostatnia liczba na pierwszej pozycji, druga liczba na przedostatniej
pozycji a przedostatnia na drugiej, itd.
(Kontroluj błędy przy operacjach na pliku).
-
Dany jest plik tekstowy, o nazwie ‘liczby.txt’, zawierający nieznaną ilość
liczb rzeczywistych. Napisz funkcję zamieniającą znaki wszystkch liczb
w tym pliku na przeciwne. Tzn. liczba dodatnia powinna stać się liczbą
ujemną, a liczba ujemna dodatnią. (Kontroluj błędy przy operacjach na pliku).
-
Zadania z wykorzystaniem typu wskaźnikowego i arytmetyki wskaźników:
-
Zdefinuj tablicę TAB trzydziestu liczb rzeczywistych o bardzo dużym zakresie.
Wypelnij tę tablicę liczbami wprowadzanymi z klawiatury. Następnie wyświetl
jakie liczby calkowite typu unsigned int są kodowane przez kolejne
pary bajtów zawierajacych się w obszarze pamięci zajmowanym przez tablicę
TAB.
-
Zdefiniuj zmienną tablicowa BUF o rozmiarze 100 znaków (bajtów). Następnie
obszar zajmowany przez tę zmienną wypełnij kolejnymi liczbami calkowitymi
typu unsigned long o wartościach z przedziału 1-25.
-
Zdefiniuj dwuwymiarową tablicę liczb rzeczywistych o 7 wierszach i 5 kolumnach.
Następnie napisz funkcję ZAMIEN_WIERWSZE( tab, wiersz_i, wiersz_j )
zamieniającą miejscami w tablicy tab wiersze o indeksach wiersz_i
oraz wiersz_j, których numery są podawane jako parametry wywołania
tej funkcji.
Operację zamiany wierszy przeprowadź za pomocą funkcji kopiowania wskazanych
obszarów pamięci (z biblioteki mem.h)
-
Zadania z dynamicznej alokacji pamięci:
-
Napisz funkcję UTWORZ_TABLICĘ( rozmiar_A ) tworzącą dynamiczną tablicę
A
liczb całkowitych (o rozmiarze zadawanym jako parametr tej funkcji). Następnie
napisz funkcję KOPIUJ_DODATNIE(A,rozmiar_A,B,rozmiar_B), która policzy
ile z elementów tablicy A jest dodatnich i utworzy nową dynamiczną
tablicę B zawierającą kopie tych elementów tablicy
A, które
mają wartości dodatnie.
-
Napisz funkcję tworzącą dynamiczną tablicę wskaźników na teksty o maksymalnej
dlugości 30 znaków. Wielkość tablicy powinna być zadawana przez użytkownika
(z klawiatury). Następnie napisz funkcję wczytującą kolejne teksty z klawiatury
i umieszczającą je w tej dynamicznie utworzonej tablicy.
-
Napisz funkcje tworzaca dynamiczna tablice struktur opisujacych dane osobowe
studentow (wczesniej zdefinuj typ tej struktury). Wielkosc tej dynamicznie
tworzonej tablicy powinna być zadawana przez uzytkownika (z klawiatury).
Następnie napisz funkcję wczytującą z klawiatury dane do w/w tablicy.
Marek Piasecki