Wydział: Elektronika,
Kierunek: Informatyka
INE 1012 - Laboratorium INFORMATYKA 2
(prow. dr Marek Piasecki)
Przykładowe zadania na kolokwium
Algorytmy sortowania:
-
Opisz w kilku zdaniach (max.10) ideę algorytmu sortowania
metodą Shella
Zilustruj ten opis przykładem sortowania sekwencji
6 liczb o wartościach:
43, 52, 15, 41, 83, 17.
-
Opisz w kilku zdaniach (max.10) ideę i główne zastosowanie
algorytmu
sortowania poprzez wielokierunkowe łączenie wyważone.
Zilustruj ten opis
przykładem sortowania sekwencji N liczb posortowanych
w odwrotnej
kolejności (N>5 i można wybrać samemu)
-
Sklasyfikuj, np. uporządkuj pod względem złożoności
i efektywności
algorytmy sortowania: stogowe (kopcowe), polifazowe,
przez wstawianie.
Zilustruj jedną z tych trzech metod opisem przykładu
sortowania sekwencji
6 liczb o wartościach: 43, 52, 15, 41, 83, 17.
Operacje plikowe:
-
Na dysku d: w katalogu kolokwium znajduje
się bardzo duży plik liczby.dat
zawierający nieznaną ilość liczb double zapisanych
w postaci
binarnej.
Napisz funkcję, która znajdzie pierwszą liczbę ujemną
i zamieni jej wartość
na dodatnią. Uwzględnij sytyacje, że dane pliku
mogą się nie zmieścić
w pamięci i że plik może zawierać tylko liczby nieujemne.
-
Napisz funkcję, która wczyta do pamieci komputera wyniki
remanentu
w sklepie odzieżowym zapisane na dysku w pliku tekstowym
remanent.txt.
Dane te miały być zapisane w postaci 5 elementowych
wierszy zawierających:
numer_katalogowy, nazwa_towaru, litera_rozmiaru,
ilość_sztuk, cena.
Każdy z towarów powinien być w osobnym wierszu a
poszczególne
elementy wiersza powinny być pooddzielane przecinkami.
-
Na dysku A: w katalogu głównym jest zapisany
program napisany w języku C++
o nazwie przyklad.cpp. Napisz funkcję która
sprawdzi czy w tym programie
slowa kluczowe: void, while i for
są napisane zawsze małymi literami.
(tzn. czy nie występują słowa postaci VOID,
Void, vOid, vOID, itp)
Dynamiczna alokacja pamięci - tablice dwuwymiarowe
i tablice wskaźników:
-
Napisz funkcje tworzącą dynamiczną N - elementową
tablice wskaźników
na 50-cio znakowe łańcuchy. (tzn. dwuwymiarową
tablicę znaków).
Następnie napisz funkcję wczytującą zawartość tych
łańcuchów z klawiatury.
Ilość tekstów N powinna być wczytywana z klawiatury.
-
Napisz funkcje tworzącą N - elementową dynamiczną
tablicę wskaźników
na dynamicznie tworzone struktury STUDENT
(opisujące dane studenta).
Następnie wypełnij tę złożoną strukturę danymi wczytywanymi
z klawiatury.
-
Napisz funkcję tworzącą dynamiczną N-elementową
tablicę wskaźników
na dwuwymiarowe macierze liczb long o rozmiarze
10x10
(Wartość N powinna być parametrem tej funkcji)
Następnie wczytaj zawartość tej struktury danych
z klawiatury.
Listy dynamiczne jedno i dwukierunkowe:
-
Zdefiniuj element listy jednokierunkowej przechowujący
struktury
opisujące dane towaru w sklepie (nazwa, ilość,
cena, rodzaj opakowania).
Napisz funkcję USUN(wsk_pocz_listy,nazwa_towaru)
usuwającą z tej listy
element, którego nazwa jest identyczna z łańcuchem
nazwa_towaru.
Parametrami tej funkcji powinny być: zmienna wsk_pocz_listy
przechowująca
adres pierwszego elementu listy oraz zadany łańcuch
nazwa_towaru.
-
Zdefiniuj typ elementu listy dwukierunkowej przechowujący
struktury CAR
opisujące dane samochodów (marka, cena, przebieg,
numer_rejestracyjny).
Napisz funkcje DODAJ_2 dodającą do tej listy
nowy element na drugiej pozycji.
Załóż, że zmienna przechowująca adres pierwszego
elementu listy
będzie przekazywana jako parametr tej funkcji
Ostatnia modyfikacja: 31.05.2003