Podcast
Questions and Answers
Który z poniższych czynników najbardziej wpływa na efektywność przetwarzania informacji w systemach komputerowych?
Który z poniższych czynników najbardziej wpływa na efektywność przetwarzania informacji w systemach komputerowych?
- Sposób reprezentowania informacji. (correct)
- Prędkość internetu.
- Ilość zainstalowanej pamięci RAM.
- Liczba rdzeni procesora.
Która z poniższych kombinacji bramek logicznych najlepiej symuluje działanie bramki XOR (wykluczającej LUB)?
Która z poniższych kombinacji bramek logicznych najlepiej symuluje działanie bramki XOR (wykluczającej LUB)?
- OR z zanegowanym wyjściem.
- AND z zanegowanym jednym wejściem.
- Połączenie bramek AND, OR i NOT. (correct)
- Wyłącznie bramki NAND.
Który z poniższych typów pamięci najczęściej wykorzystywany jest do przechowywania aktualnie wykonywanych programów i danych w komputerze?
Który z poniższych typów pamięci najczęściej wykorzystywany jest do przechowywania aktualnie wykonywanych programów i danych w komputerze?
- Pamięć RAM. (correct)
- Pamięć Flash (np. pendrive).
- Nośnik optyczny (np. DVD).
- Dysk twardy (HDD).
W kontekście standardów reprezentacji danych alfanumerycznych, która z poniższych cech najbardziej różnicuje standardy ASCII i Unicode?
W kontekście standardów reprezentacji danych alfanumerycznych, która z poniższych cech najbardziej różnicuje standardy ASCII i Unicode?
W jaki sposób zmiana kolejności cyfr wpływa na wartość liczby w pozycyjnym systemie liczbowym, takim jak system dziesiętny?
W jaki sposób zmiana kolejności cyfr wpływa na wartość liczby w pozycyjnym systemie liczbowym, takim jak system dziesiętny?
Która z poniższych operacji logicznych da wynik true
tylko wtedy, gdy oba argumenty mają różne wartości logiczne?
Która z poniższych operacji logicznych da wynik true
tylko wtedy, gdy oba argumenty mają różne wartości logiczne?
Jaka jest główna funkcja przerzutnika w kontekście przetwarzania informacji?
Jaka jest główna funkcja przerzutnika w kontekście przetwarzania informacji?
Jak zapisać liczbę 10 w systemie szesnastkowym?
Jak zapisać liczbę 10 w systemie szesnastkowym?
Który z poniższych elementów nie jest niezbędny do uruchomienia algorytmu?
Który z poniższych elementów nie jest niezbędny do uruchomienia algorytmu?
Które z poniższych działań najlepiej opisuje cel algorytmiki?
Które z poniższych działań najlepiej opisuje cel algorytmiki?
Która z podanych czynności najmniej przypomina realizację algorytmu?
Która z podanych czynności najmniej przypomina realizację algorytmu?
Który element nie jest kluczowy przy definiowaniu algorytmu?
Który element nie jest kluczowy przy definiowaniu algorytmu?
Dlaczego uzgadnianie akcji podstawowych jest ważne w kontekście algorytmu?
Dlaczego uzgadnianie akcji podstawowych jest ważne w kontekście algorytmu?
Który element nie jest składnikiem zadania algorytmicznego?
Który element nie jest składnikiem zadania algorytmicznego?
Jak zmiana kolejności wykonywania akcji w algorytmie wpływa na jego działanie?
Jak zmiana kolejności wykonywania akcji w algorytmie wpływa na jego działanie?
Co to znaczy, że akcje podstawowe algorytmu są 'nierozkładające się'?
Co to znaczy, że akcje podstawowe algorytmu są 'nierozkładające się'?
Która z poniższych notacji Big O charakteryzuje algorytm, którego czas wykonania rośnie najszybciej wraz ze wzrostem rozmiaru danych?
Która z poniższych notacji Big O charakteryzuje algorytm, którego czas wykonania rośnie najszybciej wraz ze wzrostem rozmiaru danych?
W jakiej sytuacji algorytm wyszukiwania binarnego będzie najbardziej efektywny?
W jakiej sytuacji algorytm wyszukiwania binarnego będzie najbardziej efektywny?
Jaki jest czas działania algorytmu, który niezależnie od rozmiaru danych wykonuje się zawsze w tym samym czasie?
Jaki jest czas działania algorytmu, który niezależnie od rozmiaru danych wykonuje się zawsze w tym samym czasie?
Który z poniższych algorytmów sortowania charakteryzuje się czasem działania O(n log n)?
Który z poniższych algorytmów sortowania charakteryzuje się czasem działania O(n log n)?
Co się stanie, gdy algorytm wyszukiwania binarnego zostanie użyty na nieposortowanej tablicy?
Co się stanie, gdy algorytm wyszukiwania binarnego zostanie użyty na nieposortowanej tablicy?
Która z poniższych sytuacji nie stanowi przykładu struktury przepływu sterowania?
Która z poniższych sytuacji nie stanowi przykładu struktury przepływu sterowania?
Jaki jest główny cel używania podprogramów (funkcji, procedur) w programowaniu?
Jaki jest główny cel używania podprogramów (funkcji, procedur) w programowaniu?
W sortowaniu bąbelkowym, co się dzieje w każdym kroku algorytmu?
W sortowaniu bąbelkowym, co się dzieje w każdym kroku algorytmu?
Który z poniższych elementów schematu blokowego służy do reprezentowania operacji wejścia/wyjścia (np. wczytanie danych, wypisanie wyniku)?
Który z poniższych elementów schematu blokowego służy do reprezentowania operacji wejścia/wyjścia (np. wczytanie danych, wypisanie wyniku)?
W jakiej sytuacji zmiana kolejności instrukcji w algorytmie najbardziej wpłynie na jego działanie?
W jakiej sytuacji zmiana kolejności instrukcji w algorytmie najbardziej wpłynie na jego działanie?
Który algorytm sortowania charakteryzuje się złożonością czasową O(n^2) i jest uważany za mało wydajny dla dużych zbiorów danych?
Który algorytm sortowania charakteryzuje się złożonością czasową O(n^2) i jest uważany za mało wydajny dla dużych zbiorów danych?
W jakich typach problemów rekurencja jest szczególnie przydatna?
W jakich typach problemów rekurencja jest szczególnie przydatna?
Jeżeli w schemacie blokowym algorytm dochodzi do rombu, co ten symbol reprezentuje?
Jeżeli w schemacie blokowym algorytm dochodzi do rombu, co ten symbol reprezentuje?
Która z poniższych opcji najlepiej opisuje zastosowanie drzew w kontekście baz danych?
Która z poniższych opcji najlepiej opisuje zastosowanie drzew w kontekście baz danych?
W jaki sposób działa sortowanie drzewiaste z wykorzystaniem drzewa binarnego poszukiwań (BST)?
W jaki sposób działa sortowanie drzewiaste z wykorzystaniem drzewa binarnego poszukiwań (BST)?
Która z poniższych struktur danych działa zgodnie z zasadą LIFO (Last In, First Out)?
Która z poniższych struktur danych działa zgodnie z zasadą LIFO (Last In, First Out)?
Jaka jest podstawowa różnica między strukturą danych LIFO a FIFO?
Jaka jest podstawowa różnica między strukturą danych LIFO a FIFO?
Dlaczego języki programowania wymagają precyzyjnej składni?
Dlaczego języki programowania wymagają precyzyjnej składni?
Który z poniższych elementów NIE jest typową częścią formalnej składni języka programowania?
Który z poniższych elementów NIE jest typową częścią formalnej składni języka programowania?
Rozważ sytuację, w której masz drzewo binarne poszukiwań (BST) reprezentujące zbiór liczb. Chcesz wypisać te liczby w kolejności rosnącej. Jaką metodę przejścia drzewa powinieneś zastosować?
Rozważ sytuację, w której masz drzewo binarne poszukiwań (BST) reprezentujące zbiór liczb. Chcesz wypisać te liczby w kolejności rosnącej. Jaką metodę przejścia drzewa powinieneś zastosować?
W którym z poniższych scenariuszy użycie kolejki (FIFO) byłoby najbardziej odpowiednie?
W którym z poniższych scenariuszy użycie kolejki (FIFO) byłoby najbardziej odpowiednie?
Która metoda kodowania dźwięku nie powoduje utraty jakości dźwięku?
Która metoda kodowania dźwięku nie powoduje utraty jakości dźwięku?
Która z wymienionych technik służy wyłącznie do wykrywania błędów w transmisji danych, a nie do ich korekcji?
Która z wymienionych technik służy wyłącznie do wykrywania błędów w transmisji danych, a nie do ich korekcji?
Ile bajtów zawiera plik o rozmiarze 24 KB?
Ile bajtów zawiera plik o rozmiarze 24 KB?
Który z poniższych czynników nie jest bezpośrednio zależny od typu danych użytego w programie?
Który z poniższych czynników nie jest bezpośrednio zależny od typu danych użytego w programie?
Który z wymienionych elementów nie jest niezbędnym składnikiem systemu komputerowego do wykonania algorytmu?
Który z wymienionych elementów nie jest niezbędnym składnikiem systemu komputerowego do wykonania algorytmu?
Który z poniższych problemów najmniej dotyczy stratnej kompresji dźwięku, takiej jak MP3?
Który z poniższych problemów najmniej dotyczy stratnej kompresji dźwięku, takiej jak MP3?
W której z poniższych sytuacji protokół retransmisji byłby najbardziej efektywny w radzeniu sobie z błędami komunikacji?
W której z poniższych sytuacji protokół retransmisji byłby najbardziej efektywny w radzeniu sobie z błędami komunikacji?
Które z poniższych stwierdzeń najtrafniej opisuje różnicę między kodami wykrywania błędów a kodami korekcji błędów?
Które z poniższych stwierdzeń najtrafniej opisuje różnicę między kodami wykrywania błędów a kodami korekcji błędów?
Flashcards
Czym sÄ… dane?
Czym sÄ… dane?
Uporządkowane informacje, w formie umożliwiającej przechowywanie i przetwarzanie w systemach komputerowych.
Dlaczego reprezentacja informacji jest ważna?
Dlaczego reprezentacja informacji jest ważna?
Wpływa na efektywność przetwarzania, szybkość operacji i łatwość wymiany informacji między systemami.
Co to jest bit i bajt?
Co to jest bit i bajt?
Najmniejsza jednostka informacji, przyjmuje wartość 0 lub 1. 8 bitów tworzy bajt.
Podstawowe operatory logiczne
Podstawowe operatory logiczne
Signup and view all the flashcards
Bramki logiczne
Bramki logiczne
Signup and view all the flashcards
Przerzutnik
Przerzutnik
Signup and view all the flashcards
Standardy reprezentacji danych alfanumerycznych
Standardy reprezentacji danych alfanumerycznych
Signup and view all the flashcards
Pozycyjne i niepozycyjne systemy liczbowe
Pozycyjne i niepozycyjne systemy liczbowe
Signup and view all the flashcards
Stratne kodowanie dźwięku
Stratne kodowanie dźwięku
Signup and view all the flashcards
Bezstratne kodowanie dźwięku
Bezstratne kodowanie dźwięku
Signup and view all the flashcards
Kody wykrywania błędów
Kody wykrywania błędów
Signup and view all the flashcards
Kody korekcji błędów
Kody korekcji błędów
Signup and view all the flashcards
Protokół retransmisji
Protokół retransmisji
Signup and view all the flashcards
Bajt (B)
Bajt (B)
Signup and view all the flashcards
Kilobajt (KB)
Kilobajt (KB)
Signup and view all the flashcards
Typ danych
Typ danych
Signup and view all the flashcards
Sprzęt w algorytmach
Sprzęt w algorytmach
Signup and view all the flashcards
Oprogramowanie w algorytmach
Oprogramowanie w algorytmach
Signup and view all the flashcards
Algorytmika
Algorytmika
Signup and view all the flashcards
Algorytm w życiu
Algorytm w życiu
Signup and view all the flashcards
Szczegółowość algorytmu
Szczegółowość algorytmu
Signup and view all the flashcards
Akcje podstawowe
Akcje podstawowe
Signup and view all the flashcards
Elementy zadania algorytmicznego
Elementy zadania algorytmicznego
Signup and view all the flashcards
Kolejność akcji
Kolejność akcji
Signup and view all the flashcards
Co to jest drzewo?
Co to jest drzewo?
Signup and view all the flashcards
Zastosowania drzew
Zastosowania drzew
Signup and view all the flashcards
Sortowanie drzewiaste
Sortowanie drzewiaste
Signup and view all the flashcards
LIFO (Last In, First Out)
LIFO (Last In, First Out)
Signup and view all the flashcards
FIFO (First In, First Out)
FIFO (First In, First Out)
Signup and view all the flashcards
Dlaczego precyzyjna składnia?
Dlaczego precyzyjna składnia?
Signup and view all the flashcards
Formalna składnia
Formalna składnia
Signup and view all the flashcards
Co określa składnia?
Co określa składnia?
Signup and view all the flashcards
Przepływ sterowania
Przepływ sterowania
Signup and view all the flashcards
Struktury przepływu sterowania
Struktury przepływu sterowania
Signup and view all the flashcards
Sortowanie bÄ…belkowe
Sortowanie bÄ…belkowe
Signup and view all the flashcards
Schematy blokowe
Schematy blokowe
Signup and view all the flashcards
Podprogramy (funkcje)
Podprogramy (funkcje)
Signup and view all the flashcards
Rekurencja
Rekurencja
Signup and view all the flashcards
Co to jest rekurencja?
Co to jest rekurencja?
Signup and view all the flashcards
Wykorzystanie rekurencji
Wykorzystanie rekurencji
Signup and view all the flashcards
Notacja Big O
Notacja Big O
Signup and view all the flashcards
Big O: O(1)
Big O: O(1)
Signup and view all the flashcards
Big O: O(n)
Big O: O(n)
Signup and view all the flashcards
Wyszukiwanie binarne
Wyszukiwanie binarne
Signup and view all the flashcards
Jak działa wyszukiwanie binarne?
Jak działa wyszukiwanie binarne?
Signup and view all the flashcards
Study Notes
Dane i ich reprezentacja
- Dane to uporządkowane informacje, które można przechowywać, przetwarzać i przesyłać w systemach komputerowych.
- Sposób reprezentacji danych wpływa na efektywność przetwarzania, szybkość operacji i łatwość wymiany informacji.
Podstawowe Typy Danych
- Całkowite: przechowują liczby całkowite.
- Zmiennoprzecinkowe: przechowują liczby z ułamkami.
- Logiczne: przechowują wartości prawda/fałsz (true/false).
- Strukturalne: tablice, listy, struktury.
Bity i Bajty
- Bit to najmniejsza jednostka informacji, przyjmuje wartość 0 lub 1.
- Bajt składa się z 8 bitów.
- Ciągi bitów mogą reprezentować wiadomości poprzez odpowiednie kodowanie.
Operatory Logiczne
- AND (&&): oba argumenty muszą być prawdziwe (1).
- OR (||): jeden argument musi być prawdziwy.
- NOT (!): neguje wartość.
- XOR: zwraca prawdę, gdy argumenty są różne.
Bramki Logiczne
- Bramki logiczne wykonują operacje logiczne na sygnałach wejściowych, generując sygnał wyjściowy.
- Działają w oparciu o algorytmy logiczne: AND, OR, NOT, NAND, NOR, XOR, XNOR.
Przerzutnik
- Układ pamięciowy przechowujący stan logiczny (0 lub 1).
- Pełniąc ważna rolę w technologii przetwarzania informacji jako element pamięci.
Sposoby Przechowywania Informacji
- Pamięć RAM.
- Dyski twarde.
- Nośniki optyczne.
- Pamięć flash.
Standardy Reprezentacji Danych Alfanumerycznych
- Standardy określają kodowanie znaków, np. ASCII, Unicode.
- Różnią się liczbą obsługiwanych znaków.
Systemy Liczbowe
- Pozycyjne: wartość cyfry zależy od pozycji (dziesiętny, binarny).
- Niepozycyjne: każda cyfra ma stałą wartość (rzymski).
Systemy Dwójkowy, Dziesiętny i Szesnastkowy
- Dwójkowy (binarny): używa cyfr 0 i 1.
- Dziesiętny: używa 10 cyfr (0-9).
- Szesnastkowy (heksadecymalny): używa 16 cyfr (0-9, A-F, gdzie A=10, F=15).
- Każda liczba może być reprezentowana w każdym systemie.
Cyfry w systemach
- Binarny: 0, 1.
- Dziesiętny: 0-9.
- Szesnastkowy: 0-9, A-F.
Zamiana Liczb
- Binarna na dziesiętną: przekształcenie liczby binarnej według pozycji bitów, np. (11010101_2 = 2^7 + 2^6 + 2^4 + 2^2 + 2^0 = 213_{10}).
- Dziesiętna na binarną: dzielenie liczby przez 2 i zapisywanie reszt w odwrotnej kolejności.
- Binarna na szesnastkową: grupowanie bitów po cztery od prawej i zamiana każdej grupy na odpowiednią cyfrę szesnastkową.
Błędy Przepełnienia i Niedomiaru
- Przepełnienie: wynik operacji przekracza zakres reprezentacji liczby.
- Niedomiar: wynik operacji jest zbyt mały, by go poprawnie reprezentować.
Dodawanie Liczb Binarnych
- Dodawanie odbywa się podobnie jak w systemie dziesiętnym, z uwzględnieniem przeniesienia.
Ułamki w Kodzie Dwójkowym
- Ułamki zapisuje się jako sumę potęg liczby 2, zaczynając od miejsc po przecinku.
- Każda cyfra po przecinku to wartość (\frac{1}{2^n}), gdzie n to pozycja cyfry.
Dodawanie Liczb Rzeczywistych w Kodzie Dwójkowym
- Dodawanie polega na dodawaniu części całkowitej i ułamkowej oddzielnie, uwzględniając przeniesienia.
Zapis Liczby w Kodzie Uzupełnieniowym do Dwóch
- Używa się n-bitowego systemu, gdzie najstarszy bit oznacza znak (0 - dodatnia, 1 - ujemna).
- Dla liczby ujemnej najpierw zapisuje się jej wartość bezwzględną, a potem wykonuje uzupełnienie do dwóch.
Oznaczanie Znaku w Notacji Uzupełnieniowej do Dwóch
- Znak liczby oznaczany jest przez najstarszy bit: 0 – dodatnia, 1 – ujemna.
Zależności Między Ciągami Bitów w Kodzie Uzupełnieniowym do Dwóch
- Ciąg bitów liczby ujemnej jest odwrotnością ciągu bitów liczby dodatniej (po dodaniu 1).
Wartość Liczbowa w Notacji Uzupełnieniowej do Dwóch
- Jeśli najstarszy bit to 0, liczba jest dodatnia.
- Jeśli najstarszy bit to 1, liczbę trzeba odwrócić, dodać 1 i pomnożyć przez -1.
Dodawanie Liczb ze Znakiem w Notacji Uzupełnieniowej do Dwóch
- Dodawanie odbywa się jak dla liczb bez znaku, uwzględniając przeniesienie.
- Przepełnienie oznacza błąd.
Dlaczego Odejmowanie Można Sprowadzić do Dodawania w Systemie z Uzupełnieniem do Dwóch
- Odejmowanie to dodanie przeciwnika (negacji).
- Negacja liczby to jej uzupełnienie do dwóch, więc odejmowanie to dodawanie liczby uzupełnionej.
Przepełnienie i Wykrywanie Przepełnienia
- Przepełnienie występuje, gdy wynik wykracza poza zakres reprezentacji.
- Można je wykryć, obserwując przeniesienia.
Zapis Liczby w Notacji z Nadmiarem
- Polega na dodaniu do liczby stałej wartości (nadmiaru), co pozwala na reprezentację liczb ujemnych.
Elementy Ciągu Bitów w Notacji Zmiennopozycyjnej
- Mantysa: przechowuje znaczÄ…ce cyfry liczby.
- Wykładnik: określa potęgę, przez którą należy pomnożyć mantysę.
- Znak: określa, czy liczba jest dodatnia, czy ujemna.
Wartość w Notacji Zmiennopozycyjnej
- Wartość oblicza się jako mantysa * podstawa^(wykładnik).
Zapis Liczby w Notacji Zmiennopozycyjnej
- Liczbę przedstawia się w postaci mantysy i wykładnika.
Postać Znormalizowana Liczby
- Oznacza zapis liczby tak, aby mantysa była większa lub równa 1, ale mniejsza od 2.
Błędy Zaokrąglenia
- Występują, gdy liczba jest reprezentowana w systemie o ograniczonej precyzji.
Kolejność Wykonywania Operacji w Notacji Zmiennopozycyjnej
- Kolejność ma wpływ na dokładność, dlatego operacje, które zmieniają wykładnik, trzeba przeprowadzać w odpowiedniej kolejności.
Techniki Reprezentacji Obrazów
- Rastrowa (bitmapowa): obrazy reprezentowane przez siatkÄ™ pikseli.
- Wektorowa: obrazy opisane za pomocÄ… figur matematycznych.
- Oparta na transformatach: np. reprezentacja w przestrzeni częstotliwości (np. transformacja Fouriera).
Cel Kompresji Danych
- Zmniejszenie objętości danych, oszczędność miejsca.
Metody Kompresji Danych
- Bezstratna: dane po dekompresji są identyczne z oryginałem.
- Stratna: część informacji jest tracona, ale zmniejsza to objętość.
Metoda Kodowania Grupowego
- Grupowanie podobnych elementów danych i zapisanie ich jako pojedynczą jednostkę.
Kodowanie Względne
- Zapisywanie różnicy między kolejnymi wartościami.
Kodowanie Zależne od Częstości Wystąpień
- Przypisywanie krótszych kodów do częstszych symboli.
Kodowanie SÅ‚ownikowe
- Tworzenie słownika z powtarzających się fragmentów danych i zapisywanie odwołań do słownika.
Sposoby Kodowania Obrazów
- JPEG: kompresja stratna, idealna do zdjęć.
- PNG: kompresja bezstratna, do grafiki internetowej.
- GIF: kompresja bezstratna, ograniczona do 256 kolorów, do animacji.
Techniki Kodowania Filmów
- MPEG-4: kompresja obrazu i dźwięku, popularna w filmach i transmisjach strumieniowych.
- H.264: nowoczesny standard kompresji.
- HEVC (H.265): nowa generacja kompresji, lepsza jakość w mniejszych plikach.
Kodowanie Dźwięku
- Stratne (np. MP3, AAC): zmniejszenie rozmiaru pliku kosztem utraty jakości.
- Bezstratne (np. FLAC): pełna jakość, ale pliki są większe.
Błędy Komunikacji
- Mogą występować na różnych poziomach i wynikać z zakłóceń sygnału, błędów w transmisji, problemów z synchronizacją.
Techniki Minimalizacji Błędów Komunikacji
- Kody wykrywania błędów (np. suma kontrolna, CRC).
- Kody korekcji błędów (np. kody Hamminga, kody Reeda-Solomona).
- Redundancja.
- Protokół retransmisji.
Jednostki Opisywania Wielkości Danych
- Bajt (B): podstawowa jednostka, 8 bitów.
- Kilobajt (KB): 1024 bajty.
Wpływ Typu Danych
- Na rozmiar pamięci, zakres wartości, szybkość obliczeń, precyzję.
Elementy Niezbędne do Wykonania Algorytmu
- Sprzęt: komputery, procesory, pamięć.
- Oprogramowanie: system operacyjny, kompilatory, interpretery.
Algorytmika
- Zajmuje się opracowywaniem, analizowaniem i optymalizowaniem algorytmów.
Algorytmy w Czynnościach Codziennych
- Przepis kulinarny.
- Sortowanie książek.
Poziom Szczegółowości Algorytmu
- Szczegółowy opis kroków.
- Warunki brzegowe.
- Wejście i wyjście.
Akcje Podstawowe
- Najmniejsze, nierozkładalne operacje.
- Ważne jest uzgadnianie akcji podstawowych, aby algorytm działał spójnie i poprawnie.
Elementy Zadania Algorytmicznego
- Dane wejściowe.
- Kroki algorytmu.
- Dane wyjściowe.
Znaczenie Kolejności Wykonywania Akcji w Algorytmie
- Zmiana kolejności może prowadzić do błędów.
Struktury Przepływu Sterowania
- Warunkowe (np. instrukcja if).
- Pętle (np. for, while).
- Przerwania (np. break).
Sortowanie BÄ…belkowe
- Porównywanie par sąsiednich elementów i zamiana, jeśli są w złej kolejności.
- Złożoność czasowa O(n^2).
Schematy Blokowe
- Graficzne przedstawienie algorytmów, używa się symboli:
- ProstokÄ…ty: operacje.
- Równoległoboki: wejście/wyjście.
- Romb: decyzje, warunki.
- Strzałki: przepływ sterowania.
Podprogramy
- Modularność, wielokrotne użycie, łatwiejsza konserwacja, testowanie i debugowanie.
Rekurencja
- Funkcja wywołuje sama siebie.
- Wymaga warunku zakończenia.
Metody Budowy Algorytmów
- Analityczna: analiza istniejących problemów i poszukiwanie algorytmów.
- Syntetyczna: tworzenie algorytmu od podstaw.
ZwiÄ…zek Typu Danych z Akcjami Podstawowymi
- Typ danych określa, jakie operacje są dozwolone i jak są one przechowywane w pamięci.
Zmienne
- Zmienne to miejsca w pamięci, w których przechowywane są wartości, które wykorzystuje algorytm.
- Do przechowywania wyników, reprezentowania danych wejściowych i wyjściowych, przechowywania stanów.
Tablice Jednowymiarowe
- Przechowują kolekcję elementów tego samego typu, zorganizowanych w liniowy sposób.
Tablice Dwuwymiarowe
- Przechowują dane w postaci tabeli, składającej się z wierszy i kolumn.
Drzewo
- Struktura danych składająca się z węzłów połączonych krawędziami.
- Wykorzystywane do przechowywania danych, reprezentacji hierarchii, algorytmów przeszukiwania.
Sortowanie Drzewiaste
- Oparte na drzewie binarnym.
- Elementy:
- Wartości w lewym poddrzewie są mniejsze.
- Wartości w prawym poddrzewie są większe.
Listy LIFO i FIFO
- LIFO (Last In, First Out): ostatni na wejściu, pierwszy na wyjściu, np. stos (stack).
- FIFO (First In, First Out): pierwszy na wejściu, pierwszy na wyjściu, np. kolejka (queue).
Składnia Języków Programowania
- Precyzyjna składnia jest niezbędna, aby komputer mógł poprawnie zinterpretować program.
- Język musi zawierać: Reguły dotyczące słów kluczowych, Zasady używania nawiasów, średników, Definicje typów danych, Struktury kontrolne
Reguły Składniowe
- Reguły składniowe języka programowania przedstawione mogą być przy pomocy: Drzewa składniowe lub/i opis za pomocą przykładów.
Semantyka
- Oprócz składni i interpunkcji bardzo ważna jest semantyka danego język programowania. Składnia - określa poprawny sposób zapisywania instrukcji a semantyka - określa, co ta instrukcja faktycznie robi.
- Błąd Skladniowy doprowadzi do tego, że program się nie kompiluje za to błąd semantyczny sprawia, że program się skompiluje, ale się nie wykona lub wykona się niepoprawnie!
Sposoby Wykonywania Programu
- Etapy Niezbędne:
- Pisanie programu
- Kompilacjia
- Liknowanie
- Uruchomienie programu Istnieją różne sposoby wykonywania programu, np: Kompilacja, Interpretacja lub Kompilacja i interpretacja
Kompilacja i Interpretacja
- Kompilacja - Proces polega na tłumaczeniu całego programu na kod maszynowy przed jego uruchomieniem
- Interpretacja - Program jest tłumaczony i wykonywany linia po linii przez interpreter.
Język adresów symbolicznych
- Język programowania o bardzo niskim poziomie, który bezpośrednio odwzorowuje instrukcje procesora.
Uniwersalny język programowania
- Nie istnieje jeden uniwersalny język programowania, ponieważ: Różne potrzeby i zastosowania, Wydajność, Ewolucja technologii, Preferencje programistów
Metoda Dziel i Rządź
- Polega na dzieleniu problemu na mniejsze, Å‚atwiejsze do rozwiÄ…zania podproblemy. - Metoda te jest stosowana w wielu algorytmach, takich jak:. Sortowanie szybkie (Quicksort) oraz Sortowanie przez scalanie (Merge sort)
Metoda Zachłanna
- Polega na podejmowaniu decyzji, które w danym momencie wydają się najlepsze lokalnie, z nadzieją, że prowadzą one do rozwiązania optymalnego. - Metoda ta jest stosowana w wielu algorytmach, takich jak: Kruskal's algorithm, Algorytm Dijkstry
Graf
- Graf to struktura danych składająca się z wierzchołków (nodów) i krawędzi (połączeń między wierzchołkami). Graf ma następujące typy: Graf Skierowany, Graf Spójny lub Graf Acykliczny.
Planowanie Dynamiczne
- Technika algorytmiczna, która polega na rozwiązywaniu problemów przez dzielenie ich na mniejsze podproblemy, które są rozwiązywane raz, a ich wyniki są zapisywane i wykorzystywane w kolejnych obliczeniach. -- przykłady: Problem plecakowy, Obliczanie liczb Fibonacciego
Sposoby Konstrulowania Algorytmów
- Istnieją następujące ogólne podejścia do konstrukcji algorytmów: Podział na mniejsze podproblemy, Optymalizacja lokalna lub Zastosowanie dynamicznego programowania.
Złożoność Projektów
- Złożoność projektów należy szacować z powodu tego aby móc podejmować decyzje o wyborze najlepszych rozwiązań (zwłaszcza w przypadku dużych zbiorów danych, złożonych obliczeń lub systemów wymagających szybkiej odpowiedzi).
- Na złożoność algorytmu wpływają: Czas działania algorytmu, Zużycie pamięci, Rodzaj danych, Optymalizacja
Transakcja OptymalizujÄ…ca
- Polega na modyfikacji algorytmu lub kodu w celu poprawy jego wydajności bez zmiany jego funkcjonalności. Może to obejmować Optymalizację czasową - zmienia strukturę danych i ulepsza algorytm, Optymalizację pamięciową lub Optymalizację kompilatora
Notacja O()
- Służy do wyrażenia złożoności algorytmów w kontekście wzrostu czasu wykonywania lub pamięci w zależności od rozmiaru danych wejściowych
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.