Întrebare |
Răspuns |
zbiór poleceń zapisanych w określonym języku programowania zgodnie z obowiązującymi w tym języku regułami începe să înveți
|
|
|
|
|
proces tworzenia i testowania programu începe să înveți
|
|
|
|
|
posiada ściśle zdefiniowane reguły syntaktyczne i semantyczne, które opisują, jak należy budować poprawnie wyrażenia începe să înveți
|
|
|
|
|
zarezerwowane słowa, które w danym języku programowania mają ściśle określone znaczenie i mogą zostać użyte tylko zgodnie z ich przeznaczeniem. Są nimi m.in. nazwy poleceń începe să înveți
|
|
|
|
|
ciąg instrukcji i deklaracji zapisany w języku programowania. Opisuje operację, jakie powinien wykonać komputer. Składa się z jednego lub kilku plików tekstowych (przetwarzany na kod maszynowy lub pośredni) începe să înveți
|
|
|
|
|
program służący do tłumaczenia programu zapisanego w języku programowania z postaci źródłowej do postaci wynikowej (kompilatory - języki wysokiego poziomu, asemblery - języki symboliczne) începe să înveți
|
|
|
|
|
program służący do tłumaczenia kodu zapisanego w języku źródłowym na odpowiadający mu kod w języku wynikowym (kod maszynowy najczęściej) începe să înveți
|
|
|
|
|
program, który analizuje kod źródłowy instrukcja po instrukcji i każdy przeanalizowany fragment kodu wykonuje na bieżąco începe să înveți
|
|
|
|
|
wydzielony fragment programu komputerowego (ułatwia pracę, kompilowane osobno) începe să înveți
|
|
|
|
|
urządzenie służące do łączenia przekomplikowanych modułów w jeden plik wykonalny începe să înveți
|
|
|
|
|
proces polegający na połączeniu skomplikowanych modułów i utworzeniu pliku wynikowego (mogą być dołączone biblioteki) începe să înveți
|
|
|
|
|
program użytkowy, wykonywujący konkretne zadania i oferujący interfejs użytkownika începe să înveți
|
|
|
|
|
program komputerowy, który pracuje na serwerze i komunikuje się z użytkownikiem poprzez sieć komputerową z wykorzystaniem przeglądarki internetowej începe să înveți
|
|
|
|
|
niewielki program komputerowy, którego wykonanie jest możliwe tylko z poziomu innej aplikacji începe să înveți
|
|
|
|
|
służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów (może zawierać konstrukcje składniowe) începe să înveți
|
|
|
|
|
zbiór reguł opisujących sposób definiowania struktur danych, rodzaje dostępnych słów kluczowych i symboli oraz zasad începe să înveți
|
|
|
|
|
zbiór reguł definiujących znaczenie słów kluczowych i symboli ich funkcji w programie. începe să înveți
|
|
|
|
|
określają dostępne typy danych, ich właściwości oraz operacje, które mogą być wykonane na wartościach danego typu începe să înveți
|
|
|
|
|
przetwarzanie kodu źródłowego za pomocą preprocesora începe să înveți
|
|
Wstępne przetwarzanie kodu
|
|
|
sprawdzeniu, czy nie występują niedozwolone znaki, oraz na podzieleniu tekstu na jednostki odseparowane białymi znakami, analiza składni programu (analiza liniowa, skanowanie) începe să înveți
|
|
|
|
|
parser sprawdza kod źródłowy struktury składniowej i ustalenia, czy dane są poprawne składniowo, zgodność gramatyczna (hierarchiczna) începe să înveți
|
|
Analiza syntaktyczna (składniowa)
|
|
|
sprawdza poprawność programu na poziomie znaczenia poszczególnych instrukcji oraz programu jako całość, czy program może być skopmilowany începe să înveți
|
|
Analiza semantyczna (znaczeniowa)
|
|
|
sprawdzanie poprawności typów (w językach silnym typowaniem) începe să înveți
|
|
|
|
|
sprawdzanie, czy instrukcje i wyrażenia mają sens w kontekście, w którym zostały użyte începe să înveți
|
|
kontrola poprawności instrukcji
|
|
|
sprawdzanie, czy nazwy jednoznacznie identyfikują funkcje, etykiety i inne konstrukcje języka programowania. începe să înveți
|
|
|
|
|
są czynności mające na celu przyspieszenie działania programu lub zmniejszenie jego objętości (analizy przepływu sterowania i przepływu danych) începe să înveți
|
|
Optymalizacja kodu wynikowego
|
|
|
W wyniku kompilacji na podstawie kodu źródłowego generowany jest kod języka niskiego poziomu, kod wykonywalny, lub kod w języku pośrednim începe să înveți
|
|
|
|
|
program napisany w języku skryptowym, który jest wykonywany wewnątrz aplikacji. începe să înveți
|
|
|
|
|
język programowania służący do wykonywania wyspecjalizowanych czynności. tworzone z myślą o interakcji z użytkownikiem. Często są wykorzystywane do zadań administracyjnych, w stronach dynamicznych începe să înveți
|
|
|
|
|
zawierają definicje typowych operacji wykonywalnych w programach începe să înveți
|
|
|
|
|
Typowe biblioteki standardowe to: începe să înveți
|
|
Operacje na ciągach tekstowych, na typach danych oraz funkcje do zarządzania nimi, Obsługa wejścia-wyjścia, plików, wielowątkowości, zarządzanie pamięcią
|
|
|
dołączone do programu na etapie konsolidacji începe să înveți
|
|
|
|
|
ładowane przez program na etapie wykonywania începe să înveți
|
|
|
|
|
zestaw ścisłe określonych czynności, prowadzących do wykonania pewnego zadania. Określa sposób rozwiązania problemu începe să înveți
|
|
|
|
|
Zapis algorytmu w wybranym języku programowania începe să înveți
|
|
|
|
|
operacje, które należy wykonać, są zapisywane za pomocą zwykłego tekstu (wstępna faza) începe să înveți
|
|
|
|
|
opis słowny, który może zawierać instrukcje z języka programowania începe să înveți
|
|
|
|
|
operacje które należy wykonać zapisane są w postaci numerowanego kroku începe să înveți
|
|
|
|
|
reprezentacja graficzna algorytmu, może zostać przedstawione jako graf, wyróżnia się: korzeń, gałęzie, liście începe să înveți
|
|
|
|
|
operacje, które należy wykonać, są przedstawiane w postaci graficznej z użyciem symboli începe să înveți
|
|
|
|
|
algorytm powinien zwracać poprawne wyniki, odzwierciedlające rzeczywistość începe să înveți
|
|
|
|
|
algorytm powinien przy takim samym zbiorze danych wejściowych zwracać takie same wyniki începe să înveți
|
|
|
|
|
dla każdego zbioru poprawnych danych wejściowych algorytm powinien zwracać wyniki w skończonej liczbie kroków începe să înveți
|
|
|
|
|
algorytm powinien prowadzić do rozwiązania problemu w jak najmniejszej liczbie kroków începe să înveți
|
|
|
|
|
începe să înveți
|
|
Poprawność Jednoznaczność Skończoność Efektywność
|
|
|
Specyfikacja algorytmu powinna zawierać începe să înveți
|
|
podanie danych wejściowych; określenie wyniku, warunków jakie mają spełniać, podanie zmiennych pomocniczych
|
|
|
problem, który należy rozwiązać, jest dzielony na kilka mniejszych, a te znowu są dzielone aż do uzyskania problemów łatwych do rozwiązania. începe să înveți
|
|
|
|
|
Problem, który należy rozwiązać jest dzielony na kilka mniejszych. Wyniki analizy cząstkowych problemów wykorzystuje się do rozwiązywania głównego problemu începe să înveți
|
|
|
|
|
nie jest przeprowadzana dokładna analiza problemu, tylko wybierane jest rozwiązanie, które w danym momencie wydaje się najskuteczniejsze începe să înveți
|
|
|
|
|
przeszukiwany jest zbiór danych aż do znalezienia rozwiązania. przeszukiwany jest zbiór danych aż do znalezienia rozwiązania. przeszukiwany jest zbiór danych aż do znalezienia rozwiązania. începe să înveți
|
|
Poszukiwanie i wyliczanie
|
|
|
na podstawie niepełnych danych tworzony jest algorytm, który działa w sposób najbardziej prawdopodobny începe să înveți
|
|
|
|
|
Klasyfikacja algorytmów ze względu na sposób konstruowania algorytmu. începe să înveți
|
|
Dziel i zwyciężaj Programowanie dynamiczne Metoda zachłanna Poszukiwanie i wyliczanie Heurystyka
|
|
|
Klasyfikacja algorytmów ze względu na sposób wykonywania działań începe să înveți
|
|
Liniowy Warunkowy (z rozgałęzieniem) Z pętlą (cykliczne)
|
|
|
kolejne kroki w algorytmie wykonywane są w kolei jakiej zostały zapisane. Żaden krok nie może być pominięty ani powtórzony începe să înveți
|
|
|
|
|
Warunkowy (z rozgałęzieniem) începe să înveți
|
|
wykonywanie poleceń zależy od spełnienia lub niespełnienia określonego warunku
|
|
|
grupa poleceń jest powtarzana wielokrotnie. începe să înveți
|
|
|
|
|
Klasyfikacja algorytmów ze względu na sposób wykonywania operacji: începe să înveți
|
|
Sekwencyjne Inercyjne Rekrutacyjne
|
|
|
operacje w algorytmie są wykonywane w kolejności, w jakiej zostały opisane. începe să înveți
|
|
|
|
|
niektóre kroki są powtarzane aż do spełniania wymaganego warunku. începe să înveți
|
|
|
|
|
formuła powtarzająca dane i odwołująca się do niej samej. Zakończenie wywoływania formuły następuje po spełnieniu warunku zakończenia începe să înveți
|
|
|
|
|
Klasyfikacja algorytmów ze względu na obszar zastosowań. începe să înveți
|
|
Matematyczne Przeszukujące Porządkujące Rekurencyjne Szyfrujące
|
|
|
- program jest dzielony na fragmenty (procedury) wykonując ściśle określone operacje. Tworzone programy korzystają ze standardowych procedur wywoływanych podczas pracy programu. începe să înveți
|
|
|
|
|
– procedury są wykonywane według kolejności ich wywołań. W danym momencie może być wykonywania tylko jedna procedura. începe să înveți
|
|
|
|
|
pozwala na uruchomienie co najmniej dwóch procedur w tym samym czasie. Kolejne procedury wykonywane są sekwencyjnie, lecz kolejność ich wykonywania nie jest z góry określona. începe să înveți
|
|
|
|
|
pozwala na uruchomienie wielu procedur w tym samym czasie începe să înveți
|
|
|
|
|
– procedura lub funkcja wywołuje sama z siebie aż do uzyskania ostatecznego wyniku. începe să înveți
|
|
|
|
|
procedury i dane są definiowane jako klasa obiektów. Algorytmy mają znacznie drugorzędne. Programy są tworzone jako zbiory klas. începe să înveți
|
|
|
|
|
decyzje dotyczące zachowania się algorytmu są podejmowane w sposób losowy. Działanie programu nie musi być poprawne, ale daje duże prawdopodobieństwo poprawności. începe să înveți
|
|
Algorytm probabilistyczny
|
|
|
Do najważniejszych technik implementacji algorytmów należy: începe să înveți
|
|
Proceduralność Praca sekwencyjna – Praca wielowątkowa Praca równoległa Rekurencja Obiektywność Algorytm probabilistyczny
|
|
|
ilość czasu potrzebnego do rozwiązania problemu w zależności od liczby danych wejściowych. (podawana w liczbie wykonanych operacji) începe să înveți
|
|
Złożoność czasowa algorytmu
|
|
|
operacją, której wykonanie wpływa bezpośrednio na czas wykonania całego algorytmu începe să înveți
|
|
|
|
|
określa wielkość pamięci operacyjnej komputera, która jest potrzebna do przechowywania danych wejściowych, danych pośrednich oraz ostatecznych wyników obliczeń. începe să înveți
|
|
Złożoność pamięciowa algorytmu
|
|
|
określa zużycie zasobów dla najgorszego przypadku începe să înveți
|
|
|
|
|
określa zużycie zasobów dla uśrednionych wszystkich możliwych przypadków lub dla typowych przypadkówv începe să înveți
|
|
|
|
|
określa zużycie zasobów dla najkorzystniejszego przypadku începe să înveți
|
|
|
|
|
liczba wierzchołków pośrednich w drodze od korzenia do wybranego wierzchołka końcowego începe să înveți
|
|
|
|
|
to największa długość drogi od korzenia do wierzchołka końcowego. începe să înveți
|
|
|
|
|
porządkowanie zbioru danych według określonych jego cech începe să înveți
|
|
|
|
|
algorytm szybkiego wyszukiwania elementu w zbiorze începe să înveți
|
|
Znajdowanie najmniejszego lub największego elementu w zbiorze
|
|
|