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_komputera | Sekcja | Pojemnosc_dysku |
1 | R | 700 |
2 | N | 130 |
3 | E | 300 |
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_zgloszenia | Numer_komputera | Czas_awarii | Priorytet |
1 | 365 | 2015-01-01 04:40:55 | 8 |
2 | 249 | 2015-01-01 06:08:24 | 3 |
3 | 312 | 2015-01-01 06:33:43 | 4 |
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_zgloszenia | Czas_naprawy | Rodzaj |
2 | 2015-01-01 20:08:15 | restart |
7 | 2015-01-02 16:30:15 | restart |
4 | 2015-01-02 19:37:03 | wymiana |
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 |
300 | 173 |
200 | 31 |
500 | 31 |
800 | 29 |
700 | 28 |
600 | 26 |
400 | 20 |
290 | 11 |
160 | 10 |
220 | 10 |
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 komputera | Ilość wymian podzespołów |
42 | 11 |
123 | 11 |
171 | 12 |
202 | 12 |
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.
Gra – Zgaduj zgadula.
Popularna gra: Zgadnij o jakiej liczbie myślę! Polega na tym, że komputer losuje liczbę z zakresu [0;100], a my musimy odgadnąć tę liczbę. Wynikiem jest po ilu razach została odgadnięta ta liczba.
C++
#include <iostream> #include <time.h> #include <stdlib.h> #include <conio.h> #include <cstdio> #include <windows.h> using namespace std; int main() { char znak; do { system("cls"); srand(time(NULL)); int liczba=rand()%101; int zgadywana_liczba; int ile = 0; do { cout << "Zgadnij liczbe o jakiej mysle z przedzialu [0:100] : "; cin >> zgadywana_liczba; ile++; if (zgadywana_liczba>liczba) cout << "Podana liczba jest za duza." << endl; if (zgadywana_liczba<liczba) cout << "Podana liczba jest za mala." << endl; } while (liczba!=zgadywana_liczba); cout << "Brawo! Zgadles po " << ile << " razach!" << endl; cout << endl << "Czy chcesz zgadywac jeszcze raz? [T/N]"; cin >> znak; } while (toupper(znak)!='N'); return 0; }
JAVA
import java.util.Random; import java.util.Scanner; public class ZgadujZgadula { public static void main(String[] args) { // stworzenie obiektu klasy random Random losowanie = new Random(); // losowanie liczby z zakresu [0;100] i przypsianie do zmiennej całkowitej int los = losowanie.nextInt(101); int liczba = 101; int i=0; do { i++; System.out.println("Podaj liczbę o jakiej myślę."); Scanner wej = new Scanner(System.in); liczba = wej.nextInt(); if (los == liczba) System.out.println("To jest zgadywana liczba."); else if (los > liczba) System.out.println("Podana liczba jest za mała."); else System.out.println("Podana liczba jest za duża."); } while (los != liczba); // wyswietlenie tej losowej liczby System.out.println("Zgadłeś po "+i+" razach."); } }