Hash jest strukturą danych, która przechowuje pary oraz umożliwia dostęp do wartości poprzez podanie klucza.

Podobne dokumenty
Pętla while. Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko

Warunki logiczne instrukcja if

Wczytywanie i wypisywanie

7. Pętle for. Przykłady

I. Podstawy języka C powtórka

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

Twoim zadaniem jest przeliczenie temperatury podanej w skali Celsiusza na pozostałe trzy skale.

Podstawy i języki programowania

4. Funkcje. Przykłady

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Listy, krotki, słowniki, funkcje

Kurs języka Python. Lista 1.

Zestaw 2 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Kompletna dokumentacja kontenera C++ vector w -

Akademia ETI Marcin Jurkiewicz

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Wydział Matematyki I Informatyki ul. Słoneczna Olsztyn

API transakcyjne BitMarket.pl

if (wyrażenie ) instrukcja

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Języki formalne i automaty Ćwiczenia 6

Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2

Laboratorium kryptograficzne dla licealistów 3

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

EGZAMIN ÓSMOKLASISTY MATEMATYKA

Laboratorium nr 1. i 2.

Programowanie 2. Perl - Tablice asocjacyjne oraz funkcje tablicowe. Marcin Junczys-Dowmunt

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Laboratorium kryptograficzne dla licealistów 4

Tablice jednowymiarowe

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI STYCZEŃ POZIOM ROZSZERZONY Część I

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Wstęp do systemów wielozadaniowych laboratorium 19 awk

Napisz program, który dla podanej na standardowym wejściu temperatury w stopniach Fahrenheita wypisze temperaturę w stopniach Celsjusza.

TEMAT : System operacyjny MS DOS pliki wsadowe

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Autostradowe opłaty. Szczegóły implementacyjne. highway

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

3. Instrukcje warunkowe

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Język C, tablice i funkcje (laboratorium, EE1-DI)

Zestaw C-11: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp i.h)!!! Zad. 1: Zad. 2:

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Praca domowa nr 1. a a b a b ; b c. c a bc d ef gh. 2) Napisz kod sprawdzający poniższe warunki sformułowane w języku naturalnym:

Instrukcje dla zawodników

Podstawy technologii WWW

Laboratorium kryptograficzne dla licealistów 3

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).

Zadanie 1. Algorytmika ćwiczenia

Zakładamy, że do szuflady, której wysunięcie jest równe 0, nie ma dostępu, oraz że wysunięcie szuflady musi być zawsze wartością całkowitą.

- wszystkie elementy - wszystkie elementy

Laboratorium kryptograficzne dla licealistów 2

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Programowanie - wykład 4

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Język C, instrukcje sterujące (laboratorium)

Zadanie 4.3. (0 5) Błąd bezwzględny przybliżonej wartości liczby pi, wyznaczonej z n punktów, definiujemy następująco:

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Napisz program wypisujący na standardowym wyjściu następujący napis: Napis zawierający różne dziwne znaczki // \ \$ &%.

EGZAMIN MATURALNY Z INFORMATYKI

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Generacja kodu docelowego

Zajęcia nr 15 JavaScript wprowadzenie do JavaScript

Zestaw A-1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: 4,3,3 2,2,1 Zad. 2: 3,3,3 Zad.

1 Wielokrotne powtarzanie tych samych operacji


Podstawowe funkcje dodatku linq w C#

6. Pętle while. Przykłady

GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13

Wydział Matematyki I Informatyki ul. Słoneczna Olsztyn

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Lekcja 6: Pascal. Procedura i funkcja

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

while(wyrażenie) instrukcja

Programowanie obiektowe

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

PŁOCKA MIĘDZYSZKOLNA LIGA PRZEDMIOTOWA MATEMATYKA klasa V szkoła podstawowa 2012

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

ZAJĘCIA NR 2. Zawartość

Funkcje. Wprowadzenie. Mirosław Ochodek

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Inicjacja tablicy jednowymiarowej

Dzisiejszy wykład. Programowanie w Perlu. Co to jest hasz? Inicjalizacja haszów

Transkrypt:

Hashe Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko Hash jest strukturą danych, która przechowuje pary oraz umożliwia dostęp do wartości poprzez podanie klucza. var h = {; stworzenie pustego hasha var h = {Ala => 1, Bartek => 11; stworzenie hasha o kluczach 'Ala' i 'Bartek' oraz odpowiadającym im wartościom 1 i 11. Przegląd funkcji bibliotecznych dla hasha: hash::get_value(hash, klucz) - zwraca wartość przechowywaną w hashu dla klucza hash::has_key(hash, klucz) - sprawdza, czy dany hash zawiera podany klucz hash::set_value(ref hash, klucz, wartosc) - dodaje do istniejącego hasha klucz o podanej wartości hash::delete(ref hash, klucz) - usuwa z hasha klucz hash::size(hash) - zwraca rozmiar, czyli ilość kluczy w hashu hash::keys(hash) - zwraca tablicę zawierająca wszystkie klucze z hasha Aby przeglądnąć wszystkie klucze i wartości z hasha możemy użyć przeglądać kolejno wartości dla kluczy zwróconych przez hash::keys(hash) lub użyć konstrukcji: forh var klucz, var wartosc (hash) { #tutaj wykonujemy instrukcje #nazwy zmiennych klucz i wartosc są dowolne, jednakże ich #kolejność jest istotna - najpierw klucz, potem wartość Uruchom poniższy program i zobacz jak wykonuje kolejne instrukcje i wypisuje kolejne wyniki na konsolę. use console; use hash; def test::main() { var h = {Ala => 1, Bartek => 11; if (!hash::has_key(h, 'Cezary')) { hash::set_value(ref h, 'Cezary', 10); console::print(hash::get_value(h, 'Bartek')); hash::delete(ref h, 'Ala'); console::print('rozmiar: '. hash::size(h)); console::print('teraz hash zawiera:');

forh var klucz, var wart (h) { console::print(klucz. ': '. wart); Zadania Zadanie 1 Napisz program, który stworzy hash przyporządkowujący Twojemu imieniu Twój wiek, następnie dodaj do niego używając funkcji hash::set_value(ref hash, klucz, wartosc) wiek dowolnej ilości Twoich znajomych. Na koniec wypisz wielkość tak otrzymanego hasha. Zadanie Napisz program który zapyta o liczbę n, a następnie wczyta n imion oraz odpowiadający im wiek. Następnie w kolejnych wierszach wypisze wszystkie imiona, np. Podaj imię: Adam Podaj wiek: 1 Podaj imię: Robert Podaj wiek: 13 Podaj imię: Kasia Podaj wiek: 11 Adam Robert Kasia Zadanie 3 Napisz program który zapyta o liczbę n, a następnie wczyta n imion oraz odpowiadający im wiek. Następnie wczyta jedno imię i wypisze wiek tej osoby, np. Podaj imię: Adam Podaj wiek: 1 Podaj imię: Robert Podaj wiek: 13 Podaj imię: Kasia Podaj wiek: 11 Podaj imię osoby, której chcesz poznać wiek: Kasia Kasia ma 11 lat.

Zadanie 4 Napisz program, który będzie symulował pracę kantoru. Najpierw powinien zapytać o n, a następnie o n nazw walut wraz z obecnym kursem w stosunku do złotówki. Na końcu dla zadanej kwoty w obcej walucie wypisze równowartość w złotówkach, np. Podaj walutę: dolar Podaj kurs: 3.73 Podaj walutę: euro Podaj kurs: 4.31 Podaj walutę: frank Podaj kurs: 4.34 Czas na wymianę. Podaj walutę: euro Podaj kwotę: 13 13 euro to równowartość 530.13 zł. Zadanie 5 Napisz program który zapyta o liczbę n, a następnie wczyta n imion dzieci oraz odpowiadający im wzrost w cm przed wakacjami. Po wakacjach okazało się, że chłopcy urośli o 5 cm, natomiast dziewczyny o 4 cm. Wypisz wzrosty dzieci po wakacjach, np. Podaj n: 4 Podaj imię: Ewa Podaj wzrost: 150 Podaj imię: Piotrek Podaj wzrost: 157 Podaj imię: Marta Podaj wzrost: 10 Podaj imię: Rafał Podaj wzrost: 11 Ewa ma 154 cm wzrostu. Piotrek ma 1 cm wzrostu. Marta ma 14 cm wzrostu. Rafał ma 1 cm wzrostu.

Zadanie Bajtek ma obszerną kolekcję znaczków pocztowych. Jednak niektóre ze znaczków zostały zniszczone przez kota, Bajtek chce je wyrzucić. Napisz program który wczyta nazwy znaczków posiadanych początkowo, a następnie nazwy tych, które zostały zniszczone oraz wypisze ile i jakie znaczki pozostały w klaserze Bajtka. Przykładowo: Podaj liczbę znaczków: 5 Podaj nazwę: Kosmos Podaj nazwę: Łajka Podaj nazwę: Hermaszewski Podaj nazwę: Księżyc Podaj nazwę: Armstrong Podaj liczbę zniszczonych: Podaj nazwę: Łajka Podaj nazwę: Armstrong Pozostało 3 znaczków. Kosmos Hermaszewski Księżyc Zadanie 7 Dla wczytanych n liczb usuń wśród nich duplikaty i wypisz otrzymany ciąg (każda liczba z wejścia może pojawić się tylko raz). Przykładowo dla danych wejściowych (w pierwszym wierszu n, a następnie n liczb): 9 5 7 1 Należy wypisać: 1 5 7 Wskazówka: co się dzieje gdy spróbujesz dodać do hasha klucz, który już istnieje?

Zadanie 8 Dla wczytanych n liczb posortuj je używając hasha. Przykładowo dla danych wejściowych (w pierwszym wierszu n, a następnie n liczb): 9 5 7 1 Należy wypisać: 1 5 7