Matura 2015 (maj). Zadanie 1. Problem telewidza

Matura 2015 (maj). Zadanie 1. Problem telewidza

W Problemie telewidza mamy program telewizyjny, zawierający listę filmów emitowanych w różnych stacjach telewizyjnych jednego dnia. Telewidz zamierza obejrzeć jak najwięcej filmów w całości. Jedyne ograniczenie jest takie, że telewidz może oglądać co najwyżej jeden film (stację telewizyjną) jednocześnie. Zakładamy, że jednego dnia wszystkie filmy są różne.

Program telewizyjny emisji filmów w 4 stacjach telewizyjnych:

Telewizja / stacja Film i godziny jego emisji Czas trwania emisji filmu
TV1 film 1: od 9:00 do 12:00
film 2: od 15:00 do 17:00
3 godziny
2 godziny
TV2 film 3: od 11:00 do 16:00 5 godzin
TV3 film 4: od 12:00 do 14:00 2 godziny
TV4 film 5: od 11:30 do 12:30 1 godzina

Dla programu podanego powyżej telewidz jest w stanie obejrzeć aż trzy filmy, np.: film 1, film 4, film 2. Przyjmujemy, że telewidz nie traci w ogóle czasu na przełączanie pomiędzy stacjami (np. o godz. 12:00 z TV1 na TV3). Innymi słowy, czasy emisji filmów 1 i 4 nie kolidują ze sobą.
Rozważ następujący algorytm wyboru filmów do obejrzenia przez telewidza, w którym w kroku 2. stosuje się jedną z czterech strategii opisanych w tabeli 1.

Specyfikacja:

Dane:

T – zbiór filmów z programu telewizyjnego z godzinami emisji i czasami ich trwania,
S – strategia z tabeli 1.

Wynik:

P – zbiór filmów, które obejrzy telewidz.

Algorytm:

Krok 1. Zainicjuj P jako zbiór pusty.
Krok 2. Dopóki T zawiera jakieś filmy, wykonuj:
– stosując strategię S, wybierz ze zbioru T film x i usuń go z T
– dodaj film x do zbioru P
– usuń ze zbioru T wszystkie filmy, których czasy emisji kolidują z czasem emisji filmu x.
Krok 3. Zakończ wykonywanie algorytmu i wypisz wszystkie filmy ze zbioru P.

Tabela 1. Cztery strategie (S) w Problemie telewidza:

Strategia A Wybierz film, który trwa najdłużej, a jeśli jest takich więcej, to wybierz z nich ten, który się najwcześniej kończy. Jeśli jest więcej takich filmów,wybierz dowolny z nich.
Strategia B Wybierz film, który trwa najkrócej, a jeśli jest takich więcej, to wybierz z nich ten, który się najwcześniej kończy. Jeśli jest więcej takich filmów, wybierz dowolny z nich.
Strategia C Wybierz film, który się najwcześniej zaczyna, a jeśli jest takich więcej, to wybierz z nich ten, który się najwcześniej kończy. Jeśli jest więcej takich filmów, wybierz dowolny z nich.
Strategia D Wybierz film, który się najwcześniej kończy, a jeśli jest takich więcej, to wybierz z nich ten, który się najpóźniej zaczyna. Jeśli jest więcej takich filmów, wybierz dowolny z nich.

Przykład:
Dla podanego programu telewizyjnego zastosowanie w kroku 2. strategii A daje wynik P = {film 3}, czyli telewidz obejrzy tylko jeden film.

Zadanie 1.

Dla podanego programu telewizyjnego podaj wyniki wykonywania algorytmu po zastosowaniu strategii B, C i D:

Strategia S Zawartość zbioru P po zakończeniu wykonywania algorytmu
B P = {film 5, film 2}
C P = {film 1, film 4, film 2}
D P = {film 1, film 4, film 2}

Zadanie 2.

Zastosowana strategia S w algorytmie jest optymalna, jeśli dla każdego programu telewizyjnego wynik algorytmu (zbiór P) zawiera największą możliwą liczbę filmów, które może obejrzeć telewidz.

Uwaga:
Strategia A nie jest optymalna, ponieważ telewidz może obejrzeć trzy filmy: film 1, film 4 oraz film 2.

Dla strategii A, B i C podaj w przygotowanych tabelach przykłady programów telewizyjnych, z emisją czterech filmów w dwóch stacjach, będące dowodami, że żadna z tych strategii nie jest optymalna.

Dla każdej strategii i podanego dla niej programu telewizyjnego podaj wynik działania algorytmu oraz przykład ilustrujący, że telewidz może obejrzeć więcej filmów, jeżeli nie używa tej strategii.

Wskazówka. Podaj takie godziny emisji czterech filmów, aby telewidz był w stanie obejrzeć np. trzy lub więcej filmów, podczas gdy zastosowanie algorytmu z odpowiednią strategią daje rozwiązanie zawierające co najwyżej dwa filmy.

Dowód dla strategii A:

Telewizja / stacja Film i godziny jego emisji Czas trwania emisji filmu
TV1 film 1 (od …………………. do ………………….),
film 2 (od …………………. do ………………….)
………………….
………………….
TV2 film 3 (od …………………. do ………………….),
film 4 (od …………………. do ………………….)
………………….
………………….

Wynik działania algorytmu przy zastosowaniu strategii A:

P

Liczniejszy zbiór filmów, które może obejrzeć widz:

Z

Dowód dla strategii B:

Telewizja / stacja Film i godziny jego emisji Czas trwania emisji filmu
TV1 film 1 (od …………………. do ………………….),
film 2 (od …………………. do ………………….)
………………….
………………….
TV2 film 3 (od …………………. do ………………….),
film 4 (od …………………. do ………………….)
………………….
………………….

Wynik działania algorytmu przy zastosowaniu strategii B:

P

Liczniejszy zbiór filmów, które może obejrzeć widz:

Z

Dowód dla strategii C:

Telewizja / stacja Film i godziny jego emisji Czas trwania emisji filmu
TV1 film 1 (od …………………. do ………………….),
film 2 (od …………………. do ………………….)
………………….
………………….
TV2 film 3 (od …………………. do ………………….),
film 4 (od …………………. do ………………….)
………………….
………………….

Wynik działania algorytmu przy zastosowaniu strategii C:

P

Liczniejszy zbiór filmów, które może obejrzeć widz:

Z

 

Matura 2017 (maj). Zadanie 1. Prostokąt

Matura 2017 (maj). Zadanie 1. Prostokąt

Dane są:

liczba całkowita n większa od 1
zbiór A zawierający n dodatnich, różnych liczb całkowitych
liczba pierwsza p

Zadanie 1.

Dla danych z każdego wiersza w tabeli oblicz największe pole powierzchni prostokąta, które nie jest podzielne przez p, a długości sąsiednich boków tego prostokąta są różne (nie może on być kwadratem) i należą do zbioru A. Zapisz pole tego prostokąta w kolumnie S. Jeżeli taki prostokąt nie istnieje, jako wynik podaj liczbę 0 (zero).

Zbiór A p S – pole szukanego prostokąta lub 0 (zero), jeśli nie można zbudować takiego prostokąta
7, 5, 11, 33 3 77
15, 12, 10, 6, 5, 1 5 72 (6*12)
6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18 7 216 (18*12)
4, 34, 16, 8, 6, 22, 14, 12, 2, 7 2 0

Rozwiązanie:

Krok 1. 

Szukając największe pole powierzchni prostokąta, które nie jest podzielne przez p rozpocząć należy od odrzucenia liczb podzielnych przez liczbę p.

15, 12, 10, 6, 5, 1
6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18
4, 34, 16, 8, 6, 22, 14, 12, 2, 7

Krok 2.

Wybieramy dwie największe liczby spośród pozostałych, wykonujemy iloczyn, wynik sprawdzamy czy nie est podzielny przez p.

12*6=72
18*12=216
7*—– brak drugiej liczby

Zadanie 2. 

Zapisz (w postaci pseudokodu, listy kroków lub w wybranym języku programowania) algorytm obliczający największe pole powierzchni prostokąta, które nie jest podzielne przez p, a długości sąsiednich boków tego prostokąta należą do zbioru A i są różne.
Przy ocenie brana będzie pod uwagę złożoność obliczeniowa Twojego algorytmu.

Uwaga:
W zapisie algorytmu możesz wykorzystywać tylko następujące operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie całkowite i obliczanie reszty z dzielenia.

Specyfikacja:

Dane:

n – liczba całkowita większa od 1
A[1..n] – tablica zawierająca n różnych, dodatnich liczb całkowitych
p – liczba pierwsza

Wynik:

S – największe pole powierzchni prostokąta, które nie jest podzielne przez p,
a długości sąsiednich boków tego prostokąta są różne i zawarte w tablicy A;
jeśli nie można zbudować takiego prostokąta, wynikiem powinno być 0 (zero)

Rozwiązanie:

#include <iostream>
#define N 11
#define P 7

using namespace std;

int main()
{
    int tab[N]={6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18};
    int x=0,y=0;
    for (int i=0; i<N; i++) {
        if (tab[i]%P!=0) {
            if (tab[i] > x ) x = tab[i];
        }
    }
    for (int i=0; i<N; i++) {
        if (tab[i]%P!=0) {
            if (tab[i] > y && tab[i] < x ) y = tab[i];
        }
    }
    if (x*y>0)
        cout << "Pole prostokata = " << x << " * " << y << " = " << x*y << endl;
    else
        cout << "Wynik = 0 " << endl;
    return 0;
}

Matura 2018. Zadanie 3. Test

Matura 2018. Zadanie 3. Test

Oceń prawdziwość podanych zdań. Zaznacz P, jeśli zdanie jest prawdziwe, albo F – jeśli jest fałszywe. W każdym zadaniu punkt uzyskasz tylko za komplet poprawnych odpowiedzi.

Zadanie 1.

Na pewnym serwerze WWW znajduje się strona napisana w języku PHP, a jej kod zawiera fragmenty w języku JavaScript. Pewien komputer-klient pobrał i wyświetlił tę stronę.
Wiadomo, że:

1. Kod PHP jest wykonywany przez komputer – serwer. P
2. Kod JavaScript jest wykonywany przez komputer – klient. P
3. Podczas wykonywania kodu PHP zawsze pobierane są dane od klienta. F
4. Podczas wykonywania kodu JavaScript mogą być pobierane dodatkowe dane zarówno od klienta, jak i od serwera. P

Wyjaśnienie:

Kod PHP jest zawsze wykonywany po stronie serwera, a do przeglądarki wysyłany jest wynik działania kodu PHP. Do działania kodu PHP nie są potrzebne żadne dane pobierane od użytkownika. Kod JavaScript jest już wykonywany po stronie przeglądarki, tak jak kod HTML. Do działania kodu JavaScript możemy pobierać dane od użytkownika z przeglądarki oraz serwera, ale nie jest to konieczne.

Zadanie 2.

1. Plakat do druku lepiej przygotować w modelu barw RGB niż CMYK. F
2. Kolor żółty jest kolorem podstawowym w modelu RGB. F
3. W wyniku nałożenia się składowych Yellow i Magenta w modelu CMYK otrzymamy kolor czerwony. P
4. W modelu barw CMYK litera C pochodzi od angielskiego słowa contrast. F

Wyjaśnienie:

RGB – jeden z modeli przestrzeni barw, opisywanej współrzędnymi RGB. Jego nazwa powstała ze złożenia pierwszych liter angielskich nazw barw:
R – red (czerwonej),
G – green (zielonej),
B – blue (niebieskiej),
z których model ten się składa. Jest to model wynikający z właściwości odbiorczych ludzkiego oka, w którym wrażenie widzenia dowolnej barwy można wywołać przez zmieszanie w ustalonych proporcjach trzech wiązek światła o barwie czerwonej, zielonej i niebieskiej.

CMYK – zestaw czterech podstawowych kolorów farb drukarskich stosowanych powszechnie w druku wielobarwnym w poligrafii i metodach pokrewnych (atramenty, tonery i inne materiały barwiące w drukarkach komputerowych, kserokopiarkach itp.). Na zestaw tych kolorów mówi się również barwy procesowe lub kolory triadowe (kolor i barwa w jęz. polskim to synonimy). CMYK to jednocześnie jedna z przestrzeni barw w pracy z grafiką komputerową.
C cyjan (ang. cyan) – odcień niebieskiego,
M magenta (ang. magenta) – w syntezie addytywnej kolor uzyskany w wyniku połączenia czerwieni i niebieskiego,
Y żółty (ang. yellow) – kolor bardzo podobny do żółtego,
K czarny (ang. black lub key colour) – kolor czarny, jednak o niezbyt głębokiej czerni.
Skrót CMYK powstał jako złożenie pierwszych liter angielskich nazw kolorów. Końcowa litera K może oznaczać albo literę ostatnią słowa black (czarny; ostatnią, ponieważ litera B jest skrótem jednego z podstawowych kolorów w analogicznym skrócie RGB) bądź skrót key colour (kolor kluczowy).

Zadanie 3.

Wskaż zdania prawdziwe dla języka SQL.

1. W wynikach zapytania postaci SELECT (…) ORDER BY (…) zawsze dostajemy rekordy uporządkowane ściśle rosnąco według wskazanego pola. F
2. Zapytanie UPDATE może zmienić wartości pól w bazie danych. P
3. Zapytanie postaci SELECT * FROM tabela1 WHERE pole LIKE (…) może w pewnych warunkach dać wszystkie rekordy z tabeli tabela1. P
4. Wynik zapytania SELECT * FROM tabela1 JOIN tabela2 ON tabela1.pole = tabela2.pole może być pusty przy niepustych tabelach tabela1 oraz tabela2. P

Wyjaśnienie:

Języku SQL jest językiem zapytań, tzn. że zadajemy pytanie za pomocą odpowiednich komend:

ORDER BY  – oznacza uporządkowanie rekordów wg wskazanego pola rosnąco ASC lub malejąco DESC.

UPDATE – za pomocą tego zapytania zmieniamy zawartość rekordów.

WHERE – służy do wyodrębniania tylko tych rekordów, które spełniają określony warunek.

JOIN – służy do łączenia wierszy z dwóch lub więcej tabel, w oparciu o powiązaną kolumnę między nimi.

Szyfr Cezara

Kryptografia jest nauką o szyfrowaniu i deszyfrowaniu.

Kurs PHP – Lekcja 02

Kurs PHP.
Składnia skryptu PHP.

 

Przypomnienie!!!
Poprzednio napisaliśmy swój pierwszy skrypt w php. Oto on:

<?php echo 'Witam na kursie PHP.'; ?>

Dowiedzieliśmy się również, że aby wykonywać polecenia języka PHP potrzebujesz zainstalowanego i uruchomione interpretera (czyli XAMPP’a).


UWAGA!!!
Aby wykonywać skrypt php musi on znajdować się w pliku z rozszerzeniem .php, NIE .html.


Składnia skryptu PHP.

Uruchom więc XAMPP’a i w folderze c:\xampp\www\KursPHP utwórz folder „lekcja02″. Następnie otwórz nowy plik w wybranym przez siebie edytorze i zapisz go w folderze lekcja02 jako plik index.php.

Możesz więc stworzyć sobie domyślną konstrukcję strony HTML czyli: <!DOCTYPE … <html><head> etc. ale aby wykonywać skrypty php na stronie musi mieć ona rozszerzenie .php.

Jak wygląda składnia zobaczyłeś w poprzedniej lekcji, ale dla przypomnienia, aby wykonać jakiekolwiek polecenie w języku PHP musi ono znajdować się pomiędzy znakiem rozpoczęcia i zamknięcia:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- tutaj nie możesz wykonać skryptu php -->
<?php
  // tutaj zostanie wykonany skrypt php
?>
<!-- tutaj nie możesz wykonać skryptu php -->
<?php
  // tutaj znów możesz pisać w języku php
?>
</body>
</html>

Komentarze w PHP.

Komentarze w języku php możesz stosować na 3 sposoby.

1 sposób:

<?php   
// tutaj możesz dodać komentarz jedno linijny
?>

2 sposób:

<?php   
# tutaj możesz dodać komentarz jedno linijny
?>

3 sposób:

<?php   
/* 
tutaj możesz pisać wiele linii komentarza
kolejna linia i kolejna aż do zamknięcia komentarza
*/
?>

Integracja PHP z HTML.

Skrypty php możesz wykonywać w dowolnym miejscu całego dokumentu .php np. :

  • przed deklaracją doctype,
  • w sekcji head,
  • body,
  • nawet po znaczniku kończącym </html>
  • można powiedzieć w dowolnym miejscu dokumentu
  • możesz wstawiać również bardzo małe fragmenty kodu php wewnątrz znaczników html, przykład (zapisz plik w folderze c:\xampp\www\KursPHP\lekcja02 jako index.php):
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="<?php #dowolny skrypt ?>">
</div>
<a href="<?php echo 'http://google.com'; ?>">google</a>
</body>
</html>

Daje to naprawdę duże możliwości bo możesz na samym początku dokumentu wywołać skrypt, który zdecyduje czy strona ma się dalej ładować czy nie.

Co w efekcie jeśli sprawdzisz kod źródłowy uruchomionej strony będzie wyglądało następująco, możesz sprawdzić poprzez wyświetlenia źródła strony w przeglądarce internetowej:

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
<div id=""> 
</div> 
<a href="http://google.com">google</a> 
</body> 
</html>

Uruchomienie skryptu możesz zobaczyć przechodząc do przeglądarki, wpisz localhost (musisz mieć włączonego XAMPP’a)
i kliknij poniżej Your Projects w KursPHP i w lekcja02.


UWAGA!!!
Zauważ również jedną bardzo ważną rzecz.
PHP to kod wykonywany po stronie serwera.
Czyli wszystko co wpiszesz pomiędzy znacznikami <?php ?> nie będzie widoczne w żaden sposób dla użytkowników.


Widoczne są tylko elementy, które poprzedzisz funkcją odpowiadającą za wyświetlanie tekstu. Taką bardzo popularną funkcją jest użyta wcześniej funkcja echo. Jeśli chcesz wyświetlić jakiś fragment tekstu przy pomocy php wywołujesz więc funkcję echo a następnie w cudzysłowie wpisujesz wybrany tekst. Działanie funkcji echo kończysz średnikiem – ; Budowa przypomina lekko css gdzie mamy cechę następnie wartość cechy i również kończymy ją średnikiem.

Kurs PHP – Lekcja 01

 

Kurs PHP.
Instalacja Apache oraz wybór edytora PHP.

  1. Rozpoczynając naukę języka PHP należy wybrać interpretera języka PHP. My ty będziemy stosować Apache. Apache to otwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows).
  2. Instalacja Apache’a. Wybieramy pakiet serwera WWW. Nasz wybór padł na XAMPP’a. XAMPP jest kompletnie darmową, łatwą w instalacji dystrybucją Apache’a, zawierającą MariaDB, PHP i Perl. Paczka XAMPP została tak zbudowana, aby była łatwa w instalacji i w użyciu. Zobacz film jak to się robi.

  1. Testowanie działania serwera.
    1. Należy utwórz nowy folder o dowolnej nazwie np. KursPHP, a w nim kolejny folder lekcja01 (najlepiej bez polskich znaków i spacji – c:\xampp\www\KursPHP\lekcja01). Za pomocą dowolnego notatnika zapisz tekst:
      <?php
      echo 'Kurs PHP’;
      ?>
    2. Zapisz plik w folderze c:\xampp\www\KursPHP\lekcja01 jako index.php (wszystkie pliki php, które chcesz wykonywać muszą znajdować się w folderze www katalogu instalacji xampp).
    3. Należy przejść do przeglądarki, oczywiście XAMPP musi być włączony, wpisujemy w pasku adresu:
      localhost/kursPHP/lekcja01/index.php
    4. Jeśli nie wyświetli żaden błąd, a napis po słowie echo, to oznacza że wszystko jest ok.
  2. Wybór edytora. Istnej wiele edytorów darmowych do pisania kodu w PHP. Dzięki tym edytorom tekst zapisany w danym języku odpowiednio się koloruje. Wymieniłem kilka, my będziemy używać Atom’a:
    1. Notepad++ – link do pobrania.
    2. Sublime Text – link do pobrania.
    3. Atom – link do pobrania.
    4. Brackets – link do pobrania.

Gra – Szubienica.

Popularna gra: Szubienica! Polega na tym, że komputer losuje wyraz z puli wyraz wpisanych w program. My podając litery odgadujemy ten wyraz, zaś kiedy nie ma danej literki w wyrazie to jest to błąd i buduje się szubienica. Koniec gry jest wtedy, gdy odgadniemy wyraz lub zbudujemy całą szubienicę. Można rozbudować program o kategorię (poziomy) zgadywanych wyrazów, np. pierwszy poziom wyrazy 3-literowe, następny poziom 4-literowe, itd.
Czytaj dalej…


Losowanie liczb w Java.

Losowanie liczb w java.

boolean nextBoolean() – zwraca wartość true lub false.

double nextDouble() – losuje liczbę typu double z zakresu [0.0; 1.0]

float nextFloat() – losuję liczbę rzeczywistą z zakresu [0.0; 0.1] i zwraca ją jako typ float

int nextInt() – losuje liczbę całkowitą z zakresu jaki może przyjmować typ int.

int nextInt(int n) – uwaga na zakres: [0;n)

long nextLong() – losuje liczbę całkowitą z zakresu jaki może przyjmować typ long.

void setSeed(long seed) – ustaw początkową wartość dla generatora liczb losowych.
Czytaj dalej…


Matura 2018 (maj). Zadanie 6. Centrum danych

Matura 2018 (maj). Zadanie 6. Centrum danych

Pewna firma utrzymuje centrum danych, w którym znajduje się kilkaset pracujących komputerów. Specjalny zespół pracowników odpowiada za wykrywanie i usuwanie awarii komputerów. Pliki komputery.txt, awarie.txt oraz naprawy.txt zawierają dane niezbędne do wykonania zadania.

Plik komputery.txt zawiera opisy maszyn znajdujących się w centrum w 2015 roku, każdy wiersz tego pliku zawiera kolejno:

  • numer komputera (unikatową liczbę całkowitą) – Numer_komputera,
  • sekcję, w której znajduje się komputer (sekcje oznaczone są wielkimi literami alfabetu
    angielskiego: A, B, C, …) – Sekcja.
  • pojemność dysku twardego (liczoną w gigabajtach, liczba całkowita) – Pojemnosc_dysku.

Przykład:

Numer_komputeraSekcjaPojemnosc_dysku
1R700
2N130
3E300

Plik awarie.txt zawiera informację o awariach komputerów w 2015 roku. Każdy wiersz tego pliku zawiera kolejno:

  • unikatowy numer zgłoszenia awarii – Numer_zgloszenia,
  • numer komputera, który uległ awarii – Numer_komputera,
  • datę i godzinę wystąpienia awarii z dokładnością do sekundy – Czas_awarii,
  • priorytet zgłoszenia – liczbę całkowitą określającą w skali od 1 do 10, jak krytyczna jest
    awaria – Priorytet.

Przykład:

Numer_zgloszeniaNumer_komputeraCzas_awariiPriorytet
13652015-01-01 04:40:558
22492015-01-01 06:08:243
33122015-01-01 06:33:434

W pliku naprawy.txt zapisane zostały raporty z prac, jakie wykonał zespół w 2015 roku.

Każdy wiersz tego pliku zawiera kolejno:

  • numer zgłoszenia, którego dotyczyła naprawa (mogło zdarzyć się, że jedno zgłoszenie awarii wymagało kilku napraw) – Numer_zgloszenia,
  • datę i godzinę zakończenia naprawy z dokładnością do sekundy – Czas_naprawy,
  • rodzaj naprawy (słowo restart oznacza ponowne uruchomienie komputera, wymiana –
    wymianę jednego z podzespołów komputera) – Rodzaj.

Przykład:

Numer_zgloszeniaCzas_naprawyRodzaj
22015-01-01 20:08:15restart
72015-01-02 16:30:15restart
42015-01-02 19:37:03wymiana

Dane w wierszach plików są oddzielone znakami tabulacji, pierwszy wiersz pliku jest wierszem nagłówkowym.

Za pomocą dostępnych narzędzi informatycznych podaj odpowiedzi do poniższych zadań, zapisz je w pliku wyniki.txt, a każdą z nich poprzedź numerem odpowiedniego zadania.

Pobieranie danych do programu:

Pobieranie danych z pliku tekstowego do tabeli w Access’ie wykonujemy zgodnie z poniżej przedstawionymi krokami.

Krok 1. 
Pobieramy z pliku tekstowego dane do tabeli wybierając z menu Dane zewnętrzne -> Plik tekstowy.

Krok 2.
Wskazujemy, gdzie znajduje się plik tekstowy. Te czynności powtarzamy tyle razy ile jest plików tekstowych.

Krok 3.
Ustalamy w jaki sposób są wpisane dane do pliku tekstowego.

Krok 4.
Wybieramy znak rozdzielający pola oraz zaznaczamy pierwszy wiersz zawiera nazwy pól.

Krok 5.
Wybieramy odpowiednie typy dla każdej kolumny (dla każdego pola) w tabeli. Należy pamiętać, że konieczne jest wybrania typu dla pola daty.

Krok 6. 
Wybieramy pole dla którego ma być ustawiony klucz podstawowy.

Krok 7.
Podajemy nazwę tabeli pod jaką ma być zapisana w naszej bazie.

Krok 8. 
Ustawienie relacji dla nowo utworzonych tabel w naszej bazie. Pamiętaj, że powinno się wymuszać więzy integralności.

Zadanie 1.

Znajdź 10 najczęstszych rodzajów dysków (czyli 10 najczęściej występujących pojemności) wśród komputerów w centrum. Dla każdej ze znalezionych pojemności podaj liczbę komputerów z takim dyskiem. Posortuj zestawienie nierosnąco względem liczby komputerów z dyskiem o danej pojemności.

Rozwiązanie:

Tworzymy kwerendę która będzie zawierała jedną tabelę komputery, z której wybieramy dwukrotnie pole Pojemnosc_dysku. Wykonujemy Sumy dla pola Pojemnosc_dysku, wybieramy funkcję policz, aby policzyć ile razy występuje dany rodzaj dysku. Ostatnimi elementami zakonczenia zadania jest sortowanie wystąpień dysku Malejąco, oraz ograniczenie występowań dysku do ilości 10 rekordów.

Wyniki działania kwerendy jest następujący:

Na zakończenie zapisujemy kwerendę jako Zadanie 1.

Odpowiedź:

PojemnośćLiczba
300173
20031
50031
80029
70028
60026
40020
29011
16010
22010

Zadanie 2.

Znajdź wszystkie komputery w sekcji A, w których trzeba było przynajmniej dziesięciokrotnie wymieniać podzespoły. Podaj ich numery, a także liczbę wymian podzespołów dla każdego z nich.

Rozwiązanie:

Odpowiedź:

Numer komputeraIlość wymian podzespołów
4211
12311
17112
20212

Zadanie 3.

Pewnego dnia nastąpiła awaria wszystkich komputerów w jednej z sekcji. Podaj datę awarii oraz symbol sekcji, w której nastąpiła awaria.

Rozwiązanie:

Odpowiedź:

Dniem awarii wszystkich komputerów był dzień 23-12, a było to w sekcji Q.

Zadanie 4.

Znajdź awarię, której usunięcie trwało najdłużej (czas liczymy od wystąpienia awarii do momentu zakończenia ostatniej z napraw, jakiej ta awaria wymagała). Podaj numer ogłoszenia, czas wystąpienia awarii i czas zakończenia ostatniej naprawy.

Rozwiązanie:

Odpowiedź:

Podaj numer ogłoszenia: 2087
Czas wystąpienia awarii: 2015-11-05 12:38:46
Czas zakończenia ostatniej naprawy: 2015-11-13 12:38:32

Zadanie 5.

Podaj liczbę komputerów, które nie uległy żadnej awarii o priorytecie większym lub równym 8 (wliczamy w to też komputery, które w ogóle nie uległy awarii).

Rozwiązanie:

Rozwiązanie zadania 5 w SQL:

SELECT 500-Count(*) AS Ilosc_komputerow
FROM (SELECT DISTINCT Numer_Komputera From Awarie WHERE Priorytet >= 8);

Rozwiązanie podane przez Pana Mateusza.

Odpowiedź:

Ilość komputerów: 149.