Podział algorytmów ze względu na obszar zastosowań. algorytmy numeryczne (matematyczne) wykonują obliczenia arytmetyczne, algorytmy przeszukujące
|
|
- Lech Cieślik
- 8 lat temu
- Przeglądów:
Transkrypt
1 Podział algorytmów ze względu na obszar zastosowań. algorytmy numeryczne (matematyczne) wykonują obliczenia arytmetyczne, algorytmy przeszukujące badają zbiór w celu wyszukania wyróżnionego elementu, algorytmy porządkujące ustawiają elementy zbioru, wymaganej kolejności, algorytmy rekurencyjne rozwiązują problemy, które da się rozbić na mniejsze części, stanowiące kopie wzorca, algorytmy szyfrujące zmieniają dane tak, by ich odczyt nie był możliwy bez znajomości klucza kodującego, algorytmy kompresji danych określają taki sposób zapisu danych, by zmniejszyć objętość pliku kompresowanego, Złożoność algorytmów. Teoria złożoności jest to nauka której głównym celem jest określanie ilości zasobów potrzebnych do rozwiązania problemów obliczeniowych. Rozważanymi zasobami są takie wielkości jak czas, pamięć lub liczba procesorów. Złożoność algorytmów Ilość zasobów niezbędnych do wykonania algorytmu można rozumieć jako jego złożoność. W zależności od rozważanego zasobu mówimy o złożoności czasowej czy też pamięciowej. Oczywiście w większości wypadków ilość potrzebnych zasobów będzie się różnić w zależności od danych wejściowych z zakresu danego zagadnienia. Złożoność algorytmu jest więc funkcją rozmiaru danych wejściowych. Kolejnym problemem jest fakt, iż złożoność zwykle nie zależy wyłącznie od rozmiaru danych, ale może się znacznie różnić dla danych wejściowych o identycznym rozmiarze. Dwoma często stosowanymi sposobami podejścia są: rozpatrywanie przypadków najgorszych (złożoność pesymistyczna) oraz zastosowanie określonego sposobu uśrednienia wszystkich możliwych przypadków (złożoność oczekiwana). Ostatnim sposobem najrzadziej używanym jest szacowanie (złożoność optymistycznej) czyli złożoności obliczonej dla przypadku najkorzystniejszego dla danego algorytmu. Operacja elementarna (dominująca) w teorii obliczeń operacja charakterystyczna dla danego algorytmu, na ogół zajmująca w nim najwięcej czasu. Za jednostkę złożoności czasowej przyjmuje się wykonanie jednej operacji elementarnej. Złożoność czasowa Przyjętą miarą złożoności czasowej jest liczba operacji podstawowych w zależności od rozmiaru wejścia. Dlatego w charakterze czasu wykonania rozpatruje się zwykle liczbę operacji podstawowych (dominujących). Operacjami podstawowymi mogą być na przykład: podstawienie, porównanie lub prosta operacja arytmetyczna. Algorytmy analizuje się, wykorzystując abstrakcyjne modele obliczeń. Nie uwzględniając specyfiki sprzętu ni języka programowania. Złożoność pamięciowa jest miarą ilości wykorzystanej pamięci. Jako tę ilość najczęściej przyjmuje się użytą pamięć maszyny abstrakcyjnej w funkcji rozmiaru wejścia. Możliwe jest również obliczanie rozmiaru potrzebnej pamięci fizycznej wyrażonej w bitach lub bajtach. Porównywanie złożoności algorytmów przy porównywaniu bierzemy jak zachowuje się funkcja określająca złożoność dla odpowiednio dużych, granicznych argumentów (rozmiarów danych wejściowych) ignorując zachowanie dla małych danych. Ponadto złożoności algorytmów różniące się o stałą uważamy za takie same, co eliminuje wpływ szybkości działania komputera, na którym dany algorytm ma być wykonany. Klasa złożoności problemy, do rozwiązania których potrzebna jest podobna ilość zasobów łączymy w klasy. Przykładowo mówimy o problemach o liniowej złożoności pamięciowej, jeśli ilość potrzebnej pamięci rośnie liniowo względem rozmiaru danych; czy też o problemach o kwadratowej złożoności czasowej, jeśli liczba operacji podstawowych rośnie z kwadratem rozmiaru danych. Podobne określenia stosujemy do algorytmów.
2 Rzędy złożoności czasowej(obliczeniowej) Złożoność czasowa Opis Szybkość O(1) stała złożoność algorytm wykonuje się w stałej ilości operacji, niezależnie od liczby danych wejściowych. najszybszy O(log2(n)) złożoność logarytmiczna algorytm wykonuje logarytmiczną ilość operacji w stosunku do liczby danych wejściowych. *podstawa logarytmu zazwyczaj wynosi 2, jednak czasami może być większa (np. w B-drzewach). bardzo O(n) O(n*log2(n)) złożoność liniowa algorytm wykonuje wprost proporcjonalną ilość operacji do liczby danych wejściowych. złożoność liniowo-logarytmiczna O(n2) O(nX) O(Xn) złożoność kwadratowa ilość operacji algorytmu jest wprost proporcjonalna do liczby danych wejściowych podniesionej do potęgi drugiej. złożoność wielomianowa ilość operacji algorytmu jest wprost proporcjonalna do liczby danych wejściowych podniesionej do potęgi X. *X jest stałą o dowolnej wartości. Uwaga! Pamiętaj, że zarówno funkcja liniowa jak i funkcja kwadratowa są również wielomianami. W informatyce posługując się terminem złożoności wielomianowej zazwyczaj mamy na myśli algorytmy, których złożoność obliczeniowa (lub pamięciowa) jest co najmniej kwadratowa. złożoność wykładnicza ilość operacji algorytmu jest wprost proporcjonalna do stałej X większej lub równej 2, podniesionej do potęgi równej liczbie danych wejściowych. *X jest stałą większą niż 2. niezbyt wolny bardzo wolny
3 Narzędzia programistyczne. Podstawowe narzędzia programistyczne to: Edytor Debugger. Zintegrowane środowisko programistyczne (IDE) Edytor programistyczny do tworzenia programu można użyć dowolny edytor tekstu np. Notatnik w Winows. Vi, Nano Pico w Linux Text w Macintosch. Jednakże pisząc program należy kontrolować składnię języka itd. więc często wykorzystuje się wyspecjalizowane edytory kodu źródłowego. Edytor kodu źródłowego to program komputerowy wspomagający pisanie kodu źródłowego. Rozpoznaje i wyróżnia składnie (np. poprzez nadawanie koloru czy kroju czcionki) i zapisuje w odpowiednim formacie. Często ma dodatkowe funkcję jak: auto uzupełnianie kodu, możliwość pisania makr, itp. Może stanowić samodzielny program lub być częścią zintegrowanego środowiska programistycznego. Przykładowy edytor dla Windows to Notepad++ pozwalający na pracę w C,C++,Java, C# JavaScript, VB, ASP Debug tool, Debugger (po polsku - program do usuwania błędów, czytaj dibager - z ang. odpluskwiacz) program komputerowy służący do analizy innych programów, w celu odnalezienia i identyfikacji zawartych w nich błędów, zwanych z angielskiego bugami (robakami). Proces nadzorowania wykonania programu za pomocą debuggera określa się mianem debugowania. Podstawowym zadaniem debuggera jest sprawowanie kontroli nad wykonaniem kodu, co umożliwia zlokalizowanie instrukcji odpowiedzialnych za wadliwe działanie programu. Współczesne debuggery pozwalają na efektywne śledzenie wartości poszczególnych zmiennych, wykonywanie instrukcji krok po kroku czy wstrzymywanie działania programu w określonych miejscach. Debugger jest standardowym wyposażeniem większości współczesnych środowisk programistycznych. Wadą debuggera jest to że jest wstanie tylko wykryć wadliwe działanie programu nie wykrywa natomiast błędów wynikłych z powodu niewłaściwego zrozumienia problemu przez programistę (program nie robi to co powinien, ale robi to co programista żeby robił). Zintegrowane środowisko programistyczne (ang. Integrated Development Environment, IDE) aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania. Charakteryzują się tym, że udostępniają złożoną, wieloraką funkcjonalność obejmującą edycję kodu źródłowego, kompilowanie kodu źródłowego, tworzenie zasobów programu (tzn. formatek / ekranów / okien dialogowych, menu, raportów, elementów graficznych takich jak ikony, obrazy itp.), tworzenie baz danych, komponentów i innych, debugowanie itd.
4 1. Określanie wymagań (specyfikacja), 2. Wybór języka programowania, 3. Tworzenie algorytmu, 4. Projektowanie systemu, 5. Implementacja, 6. Scalanie systemu, 7. Testy końcowe, 8. Tworzenie dokumentacji użytkowej, 9. Konserwacja systemu. Fazy powstawania programu komputerowego: Określanie wymagań służy do sprecyzowania potrzeb. Na tym etapie formułuje się wyobrażenia o programie i jego działaniu oraz precyzuje wymagania. Na podstawie wymagań tworzona jest tzw. specyfikacja projektu, czyli zakres czynności, jaki dany program ma wykonywać. Jeżeli program jest tworzony na zamówienie, należy w pewnym momencie zażądać zamrożenia specyfikacji w przeciwnym razie klient może zażądać zmian (nawet po napisaniu programu), a wykonawca będzie to musiał zrobić nieodpłatnie. Czasami nawet mała zmiana wymagań może w decydujący sposób wpłynąć na sposób realizacji zamówienia, co może nawet doprowadzić do konieczności rozpoczęcia praktycznie od nowa. Określanie wymagań należy przeprowadzić razem z osoba zamawiająca program tak długo aż obie strony nie będą zgodne że program robi to co chcemy i w tym momencie zamrażamy projekt. Z fazy określenia należy przegotować dokumentacje zawracającą: zakres systemu, opis ewolucji systemu, specyfikację wymagań funkcjonalnych i niefunkcjonalnych, modelu systemu, opis wymagań sprzętowych, słownik pojęć fachowych i informatycznych. Jeżeli program komputerowy powstaje na użytek programisty, faza określania wymagań może zostać skrócona do minimum. 2. Wybór języka programowania zależy głównie od przeznaczenia aplikacji. Przeważnie istnieje przynajmniej kilka języków programowania nadających się budowy systemu spełniającego wymagania. Wybór języka programowania może być dokonany przed lub po stworzeniu algorytmu. Jeżeli wybór jeżyka nie jest narzucony przez zamawiającego to jest on podyktowany najczęściej preferencjami zespołu programistycznego. 3. Tworzenie algorytmu - jest to jeden z najważniejszych etapów projektowania, wymaga on od programisty (bądź projektanta) starannego przemyślenia i przygotowania. Nie należy przystępować do pisania programu nie mając wyobrażenia o jego budowie. 4. Projektowanie systemu służy do stworzenia szkieletu kodu źródłowego (systemu). Może być to projektowanie strukturalne lub obiektowe. 5. Implementacja jest to właściwa faza budowy programu. Małe systemy informatyczne mogą być realizowane przez jednego programistę. Systemy większe wymagają utworzenia zespołu bądź też grupy zespołów programistycznych. 6. Scalanie systemu w przypadku tworzenia aplikacji przez zespół programistów należy połączyć wszystkie moduły w jedną całość. Rozróżnia się trzy podstawowe techniki integracji systemu informatycznego: metoda zstępująca najpierw integrowane są moduły sterujące, a później moduły wykonawcze,
5 nazywana inaczej od ogółu do szczegółu metoda wstępująca najpierw integrowane są moduły wykonawcze a później sterujące, nazywana inaczej od szczegółu do ogółu. metoda mieszana moduły sterujące integrowane są metodą zstępującą, a wykonawcze wstępującą. 7. Testy końcowe służą do ostatecznego potwierdzenia poprawności systemu. Rozróżnia się następujące etapy testów:, testowanie przez Dział Kontroli Jakości, alfa-testy przez wybraną (najczęściej małą) grupę użytkowników, beta-testy przez wybraną (większą) grupę użytkowników, testy akceptacji (na rzeczywistych danych), wykonywane przez odbiorcę. 8. Dokumentacja użytkowa powinna zawierać następujące elementy: opis funkcjonalny, podręcznik użytkownika, kompletny opis systemu. 9. Konserwacja systemu zawiera zespół czynności, dokonywanych po stworzeniu aplikacji, obejmujących: poprawianie błędów, udoskonalanie produktu, dostosowywanie do nowych warunków.
Podział algorytmów ze względu na obszar zastosowań. algorytmy numeryczne (matematyczne) wykonują obliczenia arytmetyczne, algorytmy przeszukujące
Podział algorytmów ze względu na obszar zastosowań. algorytmy numeryczne (matematyczne) wykonują obliczenia arytmetyczne, algorytmy przeszukujące badają zbiór w celu wyszukania wyróżnionego elementu, algorytmy
Bardziej szczegółowoINFORMATYKA SORTOWANIE DANYCH.
INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania
Bardziej szczegółowoZasady organizacji projektów informatycznych
Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych
Bardziej szczegółowoAnaliza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
Bardziej szczegółowoTechnika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym
Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania
Bardziej szczegółowoKompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/
STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go
Bardziej szczegółowoEfektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Bardziej szczegółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoZłożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Bardziej szczegółowoWprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Bardziej szczegółowoWybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w
Bardziej szczegółowoTechnologia programowania
Technologia programowania Olsztyn 2007-2012 Wojciech Sobieski Technologia programowania Technologia programowania - nauka o procesach wytwarzania systemów informatycznych (programów komputerowych). Technologia
Bardziej szczegółowoTeraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje
Bardziej szczegółowoEfekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.
Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-
Bardziej szczegółowoMetody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Bardziej szczegółowoC++ - [1-3] Debugowanie w Qt Creator
Slajd 1 z 10 C++ - [1-3] Debugowanie w Qt Creator Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 15 maja 2013 r. Slajd 2 z 10 Pojęcia związane z debugowaniem DEBUGOWANIE (z ang. debugging odrobaczanie)
Bardziej szczegółowoWykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Wytwarzanie oprogramowania Model tworzenia oprogramowania
Bardziej szczegółowoRoman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE
Różnice między podstawą programową z przedmiotu Technologia informacyjna", a standardami wymagań będącymi podstawą przeprowadzania egzaminu maturalnego z przedmiotu Informatyka" I.WIADOMOŚCI I ROZUMIENIE
Bardziej szczegółowoLaboratorium Informatyka (I) AiR Ćwiczenia z debugowania
Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Krzysztof Kluza, Janusz Miller 1 Debugowanie Debugowanie, czy też po polsku odpluskiwanie, to proces polegający na kontrolowanym wykonaniu programu
Bardziej szczegółowoPlan nauczania informatyki Opracował: mgr Daniel Starego
Obowiązuje od roku szkolnego 000/00 Plan nauczania informatyki Opracował: mgr Daniel Starego Szkoła podstawowa klasy IV VI Dział, tematyka L. godz. I rok II rok. TECHNIKA KOMPUTEROWA W ŻYCIU CZŁOWIEKA
Bardziej szczegółowoPROGRAM PRAKTYKI ZAWODOWEJ. Technikum Zawód: technik informatyk
PROGRAM PRAKTYKI ZAWODOWEJ Technikum Zawód: technik informatyk 351203 Lp. Temat 1 Zajęcia wprowadzające. Zapoznanie z zakładem, regulaminem pracy, przepisami BHP oraz instruktaż bhp. 2 Montaż i eksploatacja
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowobiegle i poprawnie posługuje się terminologią informatyczną,
INFORMATYKA KLASA 1 1. Wymagania na poszczególne oceny: 1) ocenę celującą otrzymuje uczeń, który: samodzielnie wykonuje na komputerze wszystkie zadania z lekcji, wykazuje inicjatywę rozwiązywania konkretnych
Bardziej szczegółowoZaawansowane programowanie w języku C++
Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Bardziej szczegółowoWYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI
WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI 1. Cele ogólne Podstawowym celem kształcenia informatycznego jest przekazanie wiadomości i ukształtowanie umiejętności w zakresie analizowania i
Bardziej szczegółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoINŻYNIERIA OPROGRAMOWANIA
INSTYTUT INFORMATYKI STOSOWANEJ 2013 INŻYNIERIA OPROGRAMOWANIA Inżynieria Oprogramowania Proces ukierunkowany na wytworzenie oprogramowania Jak? Kto? Kiedy? Co? W jaki sposób? Metodyka Zespół Narzędzia
Bardziej szczegółowoZa pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Bardziej szczegółowoPROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Bardziej szczegółowoWstęp do Informatyki. Klasyfikacja oprogramowania
Wstęp do Informatyki Klasyfikacja oprogramowania Oprogramowanie komputerowe Funkcjonalność komputera jest wynikiem zarówno jego budowy, jak i zainstalowanego oprogramowania Komputer danej klasy znajduje
Bardziej szczegółowoTworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Bardziej szczegółowoWstęp do Informatyki dla bioinformatyków
Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 3 2 Złożoność obliczeniowa algorytmów Notacja wielkie 0 Notacja Ω i Θ Algorytm Hornera Przykłady rzędów
Bardziej szczegółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoEfekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA
Symbol Efekty kształcenia dla kierunku studiów INFORMATYKA, specjalność: 1) Sieciowe systemy informatyczne. 2) Bazy danych Absolwent studiów I stopnia kierunku Informatyka WIEDZA Ma wiedzę z matematyki
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoProjektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)
Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Narzędzia modelowania
Bardziej szczegółowoWstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania
Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:
Bardziej szczegółowoWymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.
1 Wymagania na poszczególne oceny szkolne dla klasy VI (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI ) 2 1. Obliczenia w arkuszu kalkulacyjnym słucha poleceń nauczyciela
Bardziej szczegółowoKod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.
Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania
Bardziej szczegółowoProgramowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Bardziej szczegółowoPaństwowa Wyższa Szkoła Techniczno-Ekonomiczna w Jarosławiu
Załącznik nr 1 do Uchwały nr 9/12 Rady Instytutu Inżynierii Technicznej PWSTE w Jarosławiu z dnia 30 marca 2012r Państwowa Wyższa Szkoła Techniczno-Ekonomiczna w Jarosławiu EFEKTY KSZTAŁCENIA DLA KIERUNKU
Bardziej szczegółowo2/4. informatyka" studia I stopnia. Nazwa kierunku studiów i kod. Informatyka WM-I-N-1 programu wg USOS. Tytuł zawodowy uzyskiwany przez
Załącznik Nr 5 do Uchwały Nr 67/2015 Senatu UKSW z dnia 22 maja 2015 r. Dokumentacja dotycząca opisu efektów kształcenia dla programu kształcenia na kierunku informatyka" studia I stopnia Nazwa kierunku
Bardziej szczegółowoKrótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Bardziej szczegółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoTeraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI Opis założonych osiągnięć ucznia przykłady wymagań na poszczególne oceny szkolne dla klasy VI Grażyna Koba Spis treści 1. Obliczenia w arkuszu
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoWymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020
Prowadzący: Elwira Kukiełka Ewa Pawlak-Głuc 1 Opracowano na podstawie: 1. Podstawa programowa(dz.u. z 017r. poz. ) Rozporządzenie Ministra Edukacji Narodowej z dnia 1 lutego 017 r. w sprawie podstawy programowej
Bardziej szczegółowoEFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW
EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW WYDZIAŁ KIERUNEK z obszaru nauk POZIOM KSZTAŁCENIA FORMA STUDIÓW PROFIL JĘZYK STUDIÓW Podstawowych Problemów Techniki Informatyka technicznych 6 poziom, studia inżynierskie
Bardziej szczegółowoREFERAT PRACY DYPLOMOWEJ
REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany
Bardziej szczegółowoSystem komputerowy. Sprzęt. System komputerowy. Oprogramowanie
System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.
Bardziej szczegółowoKATEGORIA OBSZAR WIEDZY NR ZADANIA. 2.1.2. Podstawowe informacje i czynności
Moduł 2 - Użytkowanie komputerów - od kandydata wymaga się zaprezentowania wiedzy i umiejętności w zakresie wykorzystania podstawowych funkcji komputera klasy PC i jego systemu operacyjnego. Kandydat powinien
Bardziej szczegółowoProgramowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Bardziej szczegółowoProgramowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Bardziej szczegółowoEFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW INFORMATYKA. STUDIA PIERWSZEGO STOPNIA - PROFIL OGÓLNOAKADEMICKI
EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW INFORMATYKA. STUDIA PIERWSZEGO STOPNIA - PROFIL OGÓLNOAKADEMICKI Umiejscowienie kierunku w obszarze kształcenia: Kierunek studiów informatyka należy do obszaru kształcenia
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoPodstawa programowa Technik informatyk PODSTAWA PROGRAMOWA KSZTAŁCENIA W ZAWODZIE TECHNIK INFORMATYK SYMBOL CYFROWY 312[01]
PODSTAWA PROGRAMOWA KSZTAŁCENIA W ZAWODZIE TECHNIK INFORMATYK SYMBOL CYFROWY 312[01] I. OPIS ZAWODU 1. W wyniku kształcenia w zawodzie absolwent powinien umieć: 1) posługiwać się systemami operacyjnymi;
Bardziej szczegółowoPodstawy programowania.
Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil
Bardziej szczegółowoProgramowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoTeraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem
Bardziej szczegółowoAnaliza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoTechnik informatyk. 3) efekty kształcenia właściwe dla kwalifikacji wyodrębnionych w zawodzie technik informatyk
Technik informatyk Technik informatyk potwierdzając kwalifikacje wchodzące w skład tego zawodu, uzyskuje wiedzę i umiejętności niezbędne do pracy w trzech obszarach branży informatycznej. E12 - montaż
Bardziej szczegółowoEgzamin / zaliczenie na ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW33/01 KARTA PRZEDMIOTU Nazwa w języku polskim : INŻYNIERIA OPROGRAMOWANIA Nazwa w języku angielskim: SOFTWARE ENGINEERING Kierunek studiów (jeśli
Bardziej szczegółowoPROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy
Bardziej szczegółowoPorównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Bardziej szczegółowoBłędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)
Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation) Zarządzanie wymaganiami Ad hoc (najczęściej brak zarządzania nimi) Niejednoznaczna, nieprecyzyjna komunikacja Architektura
Bardziej szczegółowoOpracował: Jan Front
Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny
Bardziej szczegółowoZasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
Bardziej szczegółowoPodsumowanie wyników ankiety
SPRAWOZDANIE Kierunkowego Zespołu ds. Programów Kształcenia dla kierunku Informatyka dotyczące ankiet samooceny osiągnięcia przez absolwentów kierunkowych efektów kształcenia po ukończeniu studiów w roku
Bardziej szczegółowoWymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.
Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie
Bardziej szczegółowoStudia I stopnia, stacjonarne, inżynierskie 3,5 letnie. kierunek: INFORMATYKA. Specjalność: PROGRAMOWANIE. Rok immatrykulacji 2018
Studia I stopnia, stacjonarne, inżynierskie 3,5 letnie kierunek: INFORMATYKA Specjalność: PROGRAMOWANIE Rok immatrykulacji 2018 WYKAZ KIERUNKOWYCH EFEKTÓW KSZTAŁCENIA Symbol kierunkowego efektu kształcenia
Bardziej szczegółowoInformatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski
Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest
Bardziej szczegółowoSortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Bardziej szczegółowoSCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Bardziej szczegółowoModuł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.
Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego. Kandydat winien wykazać się wiedzą i umiejętnościami w zakresie: - korzystania z głównych
Bardziej szczegółowoICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4
ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.
Bardziej szczegółowoTeraz bajty. Informatyka dla szkoły podstawowej. Klasa IV
Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV 1 Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady ich, m.in.: dba o porządek na stanowisku
Bardziej szczegółowoCZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM
CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM 1.1. PODSTAWOWE INFORMACJE PC to skrót od nazwy Komputer Osobisty (z ang. personal computer). Elementy komputera można podzielić na dwie ogólne kategorie: sprzęt - fizyczne
Bardziej szczegółowoProgramowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne
Programowanie w Javie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod Język
Bardziej szczegółowoEfekty kształcenia dla makrokierunku: INFORMATYKA STOSOWANA Z KOMPUTEROWĄ NAUKĄ O MATERIAŁACH Wydział: MECHANICZNY TECHNOLOGICZNY
Efekty kształcenia dla makrokierunku: INFORMATYKA STOSOWANA Z KOMPUTEROWĄ NAUKĄ O MATERIAŁACH Wydział: MECHANICZNY TECHNOLOGICZNY nazwa kierunku studiów: Makrokierunek: Informatyka stosowana z komputerową
Bardziej szczegółowoINFORMATYKA KLASA IV
1 INFORMATYKA KLASA IV WYMAGANIA NA POSZCZEGÓLNE OCENY SZKOLNE 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowoAlgorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Bardziej szczegółowoPodstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowoDLA SEKTORA INFORMATYCZNEGO W POLSCE
DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej
Bardziej szczegółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoProjektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012
Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel
Bardziej szczegółowo