JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 2

Wielkość: px
Rozpocząć pokaz od strony:

Download "JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 2"

Transkrypt

1 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 2 1

2 3. Pseudokod (zwykle jako lista kroków) o o o o o o ZAPIS ALGORYTMU Brak standardu. Najczęściej PASCAL pozbawiony informacji dla kompilatora (i czasem przetłumaczony na polski). Nie zawiera szczegółów implementacyjnych (np. inicjalizacja zmiennych, alokacja pamięci itp.). Nietrywialnie kroki algorytmu opisywane są z pomocą formuł matematycznych lub zdań w języku naturalnym. Zaleta: bardzo łatwa implementacja algorytmu za pomocą wybranego, istniejącego języka programowania. Wada: mniejsza przejrzystość zapisu (niż przy schemacie blokowym). albo: np. algorytm Euklidesa: 2

3 KLASYFIKACJA ALGORYTMÓW o proste i rozgałęzione; o cykliczne i mieszane; o sekwencyjne i równoległe/współbieżne; o numeryczne i nienumeryczne; o iteracyjne i rekurencyjne ; iteracja: wielokrotne wywołanie sekwencji poleceń aż do spełnienia warunku sterującego rekurencja: wywołanie procedury z wewnątrz tej samej procedury Żeby zrozumieć rekurencję trzeba najpierw zrozumieć rekurencję... 3

4 STRUKTURY DANYCH Struktura danych (ang. data structure) to sposób uporządkowania informacji w komputerze. Rozwiązując problem (nie tylko z użyciem komputera!) przyjmuje się pewien model rzeczywistości, np. należy określić jak przedstawić dane mające tą rzeczywistość reprezentować. Wykorzystuje się pewne specyficzne zbiory danych (struktury danych), które charakteryzują się: o różną wewnętrzną strukturą ułożenia danych; o różnym sposobem zapisu i dostępu do tych danych. Na strukturach danych operują algorytmy. Dobór struktur danych wpływa na złożoność obliczeniową algorytmu! 4

5 STRUKTURY DANYCH Wybór odpowiednich struktur danych uzależniamy od: o rozwiązywanego problemu; o możliwości obliczeniowych komputera; o przewidywanych operacji, jakie na danych będą wykonywane; o wykorzystywanego języka programowania (wiele języków programowania dostarcza biblioteki standardowe z zaimplementowanymi różnorodnymi strukturami danych). Przykładowe struktury danych: o tablica; o rekord lub struktura; o lista; o stos; o kolejka; o drzewo. 5

6 STRUKTURY DANYCH Tablica o jednorodna struktura, która składa się z elementów tego samego typu; o charakteryzuje się swobodnym dostępem do danych; o rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne); o składowe tablicy są indeksowane (zazwyczaj numerycznie ) umożliwia to łatwy dostęp do składowych); o w matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg, a tablicy dwuwymiarowej macierz; o praktycznie wszystkie języki programowania obsługują tablice. np. w C/C++: int t[5]; // statyczna tablica 5 obiektów typu całkowitego wrócimy do tego tematu... 6

7 STRUKTURY DANYCH Rekord lub struktura o złożony typ danych występujący w wielu językach programowania, grupujący logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci; o składowe struktury pola mają swe unikatowe nazwy; o struktury są powszechnie stosowane w programowaniu pozwalają w przejrzysty sposób opisywać złożone obiekty. np. deklaracja struktury w Fortranie 90/95: TYPE::wojewodztwo INTEGER(KIND=4)::mieszkancy CHARACTER(30)::stolica END TYPE wojewodztwo i definicja: zachodniopomorskie = wojewodztwo( , Szczecin ) 7

8 STRUKTURY DANYCH Lista (alternatywa dla tablicy) o struktura danych służąca do reprezentacji zbiorów dynamicznych, w której elementy (rekordy) ułożone są w liniowym porządku. o możliwość dodawania i usuwania obiektów w dowolnym miejscu listy; o dwa podstawowe typy: ojednokierunkowa (z każdego elementu można przejść do jego następnika); odwukierunkowa (można przejść zarówno do poprzednika jak i następnika); oponadto: listy cykliczne (pierwszy i ostatni rekord listy są ze sobą połączone). o Każdy element listy (rekord) składa się z co najmniej dwóch pól: danych oraz pola wskazującego na następny element listy (w listach dwukierunkowych także pole wskazujące poprzedni element). pusty wskaźnik korzeń listy 8

9 STRUKTURY DANYCH Stos o liniowa struktura danych; o dane są dokładane na wierzch stosu i wyłącznie stąd są pobierane (bufor LIFO Last In, First Out); o zastosowania: np. zapamiętywanie rejestrów procesora i przechowywanie zmiennych lokalnych; o do implementacji stosu o stałym rozmiarze n wystarczy n-elementowa tablica i jedna zmienna przechowująca aktualną liczbę elementów 9

10 STRUKTURY DANYCH Kolejka o liniowa struktura danych będąca przeciwieństwem stosu; o dane są dopisywane są na końcu kolejki a pobierane wyłącznie z jej początku (bufor FIFO First In, First Out); o zastosowania: np. sytuacje związane z różnego rodzaju obsługą zdarzeń; o implementacja zwykle z zastosowaniem tablic. 10

11 Drzewo STRUKTURY DANYCH o struktura nieliniowa; o rodzaj grafu (graf skierowany, spójny i acykliczny); o struktura danych reprezentująca hierarchię danych; o ułatwia i przyspiesza wyszukiwanie; o składowe: wierzchołki (węzły) oraz łączące je krawędzie. Jeden z wierzchołków jest wyróżniony i nazywany korzeniem drzewa; o każdy węzeł ma dokładnie jednego rodzica, za wyjątkiem korzenia, który nie ma rodzica; o drzewo binarne: każdy wierzchołek na co najwyżej 2 dzieci; o zastosowania: np. bazy danych, grafika komputerowa, przetwarzanie tekstu. 11

12 PROGRAMOWANIE Podejścia do pisania programów komputerowych 1. Z dołu (bottom-up, wstępujące, syntetyczne) o najpierw są rozwiązywane wszystkie (elementarne) podproblemy, które mogą być potrzebne o następnie ich wyniki są używane do rozwiązywania większych podproblemów. 2. Z góry (top-down, zstępujące, analityczne ) o problem jest dzielony na podproblemy; o podproblemy są rozwiązywane, a wyniki zapamiętywane, jeżeli będą użyte później. 12

13 PROGRAMOWANIE Czas potrzebny na napisanie programu: 1. Koncypowanie (30-35%) 2. Kodowanie (20-25%) 3. Testowanie i usuwanie błędów (pozostały czas) Siedem złotych reguł (ogólnych!) str Zawsze planuj. Błędem jest rozpoczynanie pisania programu bez uprzedniego sporządzenia planu ukazującego strukturę programu i różne poziomy szczegółowości. 2. Podziel pracę na etapy. W programie dowolnego rozmiaru konieczne jest niezależne opracowanie każdej część programu. 3. Podziel program na moduły. Stosowanie procedur i modułów, które mogą być pisane i badane niezależnie jest szczególnie istotne w przypadku dużych programów. 13

14 PROGRAMOWANIE 4. Nie komplikuj. Skomplikowany program jest zazwyczaj zarówno nieefektywny jak i podatny na błędy. 5. Dokładnie przetestuj. Możliwie dokładnie przetestuj swój program na każdym etapie przygotowując się na tak wiele sytuacji (zarówno sensownych jak i bezsensownych), jak to możliwe. Zachowaj swoje dane testowe na przyszłość (rozbudowa programu) Nie ma programów bezbłędnie działających, są co najwyżej niedostatecznie przetestowane. 6. Dokumentuj. Nie ma nic gorszego, niż powrót do nieudokumentowane programu po pewnym czasie. Większość programów może być odpowiednio udokumentowana poprzez używanie sensownych nazw oraz przez włączenie stosownych komentarzy. Czas poświęcony na pisanie komentarzy zazwyczaj zwraca się po wielokroć! 7. Ciesz się programowaniem! Pisanie programów jest wyzwaniem i działalnością rozwijającą zdolność logicznego myślenia. Powinno być również przyjemne. Pamiętaj - poprawnie działający program to źródło ogromnej satysfakcji dla autora! 14

15 JĘZYKI PROGRAMOWANIA Język programowania: Forma zapisu instrukcji dla komputera i programów komputerowych. Postać programu wyrażona w języku programowania to kod źródłowy. Historia (pobieżnie): 1952 asemblery 1957 Fortran 1960 LISP 1960 Algol 1960 COBOL 1962 APL 1962 SIMULA 1964 BASIC 1964 PL/I 1971 Prolog 1972 C 1975 Pascal Do 1959 roku ok. 200 języków programowania! 1979 Modula dbase II 1983 Smalltalk Ada 1986 C Pearl 1988 Mathematica, 1995 Java, Visual Fortran 95, Ruby 2000 C# 15

16 JĘZYKI PROGRAMOWANIA 16

17 JĘZYKI PROGRAMOWANIA Generacje języków programowania Pierwszej generacji języki maszynowe: o instrukcje zapisywane w postaci binarnej, np.: Symboliczne języki programowania: pozwalają tłumaczyć (zrozumiałe dla człowieka) napisy na kod maszynowy (zrozumiały dla danego procesora). 17

18 JĘZYKI PROGRAMOWANIA Generacje języków programowania Drugiej generacji asemblery: o niskiego poziomu, składnia tożsama z maszynowym, zamiast liczb tzw. mnemoniki; o jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora; o wykonuje się na konkretnej maszynie działającej pod kontrolą danego systemu operacyjnego ; o np.: mov al, 12 mov ah, 0 ; wpisz do rejestru AX wartość 12 - wyzeruj starszą int 21h połówkę AX (czyli AH) i wpisz 12 do młodszej(al) ; wywołaj przerwanie nr 33 (21 szesnastkowo) 18

19 JĘZYKI PROGRAMOWANIA Generacje języków programowania Trzeciej generacji języki wysokiego poziomu, proceduralne: o jedna instrukcja jest tłumaczona na kilka (5-10) instrukcji procesora; o przykłady: o np.: - języki niestrukturalne (FORTH, BASIC); - języki strukturalne (FORTRAN, PASCAL, C); - języki zorientowane obiektowo (C++, Java); if(liczba==7) cout<< Liczba to 7 <<endl; else cout<< Liczba inna niż 7 <<endl; 19

20 JĘZYKI PROGRAMOWANIA Generacje języków programowania Czwartej generacji języki bardzo wysokiego poziomu, nieproceduralne: o najważniejszy problem a nie sposób jego rozwiązania; o składnia często przypomina język naturalny (np. SQL); o np.: SELECT * FROM pracownicy WHERE pensja > 2000 ORDER BY staz DESC; Piątej generacji języki sztucznej inteligencji: o najbardziej zbliżone do języka naturalnego; o inteligentne systemy wiedzy (systemy ekspertowe); o przykład: PROLOG (fr. Programmation en Logique, jeden z najpopularniejszych języków programowania logicznego) 20

21 JĘZYKI PROGRAMOWANIA (Orientacyjny) podział ze względu na zastosowanie: o skryptowe (np. skrypty powłoki systemu operacyjnego) o obsługi stron internetowych - po stronie serwera (np.: PHP, JSP) o obsługi stron internetowych - po stronie klienta (np.: JavaScript, ActionScript) o opisu dokumentów (np.: TeX, HTML) o opisu danych (np. XML) o przetwarzania tekstu i danych (np.: AWK, Perl) o programowania baz danych (np. PL/SQL) o ogólnego przeznaczenia (np.: C++, C#, Delphi, Java, Assembler) 21

22 JĘZYKI PROGRAMOWANIA Program (zapis algorytmu) może mieć postać: o źródłową - w konkretnym języku programowania; o kodu pośredniego - ciąg instrukcji wykonywanych przez interpreter; o binarną (skompilowaną) - ciąg instrukcji do bezpośredniego wykonania przez procesor. Interpretery: Np.: 1. Pobierają jedną instrukcję programu. 2. Tłumaczą ją na język maszynowy. 3. Przekazują do wykonania procesorowi. 4. Powracają do pkt. 1. BASIC, SQL, JavaScript 22

23 JĘZYKI PROGRAMOWANIA Kompilatory: o tłumaczą cały program na język maszynowy; o zapisują przetłumaczony program (w pamięci komputera, na dysku itp.); o skompilowany program jest gotowy do wykonania. Np.: Pascal, C, C++, Asembler (Zgrubne) porównanie: interpreter kompilator szybkość działania niska wysoka przenośność wysoka niska dodatkowe wymagania przy uruchamianiu niezbędny interpreter brak 23

24 JĘZYKI PROGRAMOWANIA Subiektywny (i bardzo krótki) przegląd języków programowania: FORTRAN ang. FORmula TRANslator Karta perforowana z podziałem na pola dla Fortranu IV. o pierwotnie (1957) zaprojektowany do zapisu programów obliczeniowych i jako język strukturalny; o obecnie (nadal rozwijany, Fortran 2008) język ogólnego przeznaczenia (również obiektowy). Cechy: o szybkość obliczeń (musiał konkurować z asemblerami); o doskonała skalowalność i przenośność (różne platformy sprzętowe i systemy operacyjne) o dostępność bibliotek dla programowania wieloprocesorowego i równoległego oraz bibliotek graficznych. o często obecnie stosowany np. do obliczeń aerodynamicznych, wytrzymałościowe i cieplnych. 24

25 JĘZYKI PROGRAMOWANIA BASIC (Beginner's All-purpose Symbolic Instruction Code) o napisany (1964) w oparciu o Fortran i Algol; o założenia: łatwość użytkowania, wszechstronność zastosowań, interaktywność i jasne komunikaty błędów; o istnieje ponad 200 różnych dialektów języka. Wybrane cechy: o starsze wersje - numerowanie wierszy (problem przy rozbudowie) o pętle konstruuje się za pomocą instrukcji skoku GOTO (trudny do zrozumienia kod) en.wikipedia.org/wiki/basic 25

26 JĘZYKI PROGRAMOWANIA Pascal o stworzony (1971) przez N. Wirtha z Politechniki w Zurychu jako język przeznaczony do nauki programowania strukturalnego; o nazwa na cześć nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala; o popularność zdobył dzięki implementacji TurboPascal (1983) firmy Borland; Cechy: o rozbudowane struktury danych; o prosta składnia. 26

27 JĘZYKI PROGRAMOWANIA Dlaczego języki wysokiego poziomu? o nie zmuszają programisty do zajmowania się takimi elementami budowy komputera, jak wewnętrzna reprezentacja danych, rejestry, kanały WE-WY itp; o możliwość (do pewnego stopnia) przenoszenia programów między procesorami i systemami; o zwięzłość programów (1 zdanie to ok. 10 instrukcji kodu maszynowego); o możliwość używania nazw zmiennych kojarzących się z danym problemem oraz wyrażeń matematycznych. Nie istnieje najlepszy język programowania... Jaki więc wybrać? To Państwa w ramach tego przedmiotu nie dotyczy, ale w innych przypadkach... 27

28 JĘZYKI PROGRAMOWANIA Np: Wybór języka na podstawie przedsięwzięcia: a) Wybierz język, który jest podobny do czegoś, co znasz. b) Wybierz język, do którego środowisko jest popularne i dostępne jest większa szansa, że ktoś odpowie na twoje pytania lub znajdziesz odpowiednią publikację. c) Wybierz język, do którego dostępne są biblioteki, przykłady lub moduły, mogące pomóc w realizacji zadania. Zwróć uwagę na ich: dostępność, zgodność, poprawność działania i licencję. d) Wybierz język, który oszczędzi Ci pracy jest relatywnie łatwy, patrz też: uwaga a) Wybieramy zatem język programowania i jest nim: C++ 28

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. 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ółowo

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Wstęp Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie 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ółowo

Programowanie 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 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ółowo

Wstę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 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ółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, 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ółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Programowanie komputerów

Programowanie 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ółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. 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ółowo

Podstawy programowania

Podstawy 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ółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Podstawy programowania wykład

Podstawy programowania wykład Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu

Bardziej szczegółowo

Języki i metodyka programowania

Języki i metodyka programowania Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura

Bardziej szczegółowo

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

3. 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ółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych

Bardziej szczegółowo

Modelowanie i Programowanie Obiektowe

Modelowanie i Programowanie Obiektowe Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do

Bardziej szczegółowo

INFORMATYKA DANE.

INFORMATYKA DANE. INFORMATYKA DANE http://www.infoceram.agh.edu.pl DANE Dane to zbiory liczb, znaków, sygnałów, wykresów, tekstów, itp., które mogą być przetwarzane. Pojęcie danych jest relatywne i istnieje tylko razem

Bardziej szczegółowo

Programowanie 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 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ółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Algorytmika i pseudoprogramowanie

Algorytmika 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ółowo

Klasa 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 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ółowo

Języki i paradygmaty programowania. I. Wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Podstawy Informatyki Języki programowania

Podstawy Informatyki Języki programowania Podstawy Informatyki Języki programowania alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Języki programowania 2 Przykład Wczytywanie programu do pamięci Podsumowanie 3 Przykład

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python 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

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Cel stosowania metod i środków informatyki

Cel stosowania metod i środków informatyki Cel stosowania metod i środków informatyki Głównym celem stosowania metod i środków informatyki jest wspomaganie człowieka w procesie rozwiązywania problemów. Przykładowe rodzaje problemów: obliczenia

Bardziej szczegółowo

ALGORYTMY I PROGRAMY

ALGORYTMY I PROGRAMY ALGORYTMY I PROGRAMY Program to ciąg instrukcji, zapisanych w języku zrozumiałym dla komputera. Ten ciąg instrukcji realizuje jakiś algorytm. Algorytm jest opisem krok po kroku jak rozwiązać problem, czy

Bardziej szczegółowo

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie 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ółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 13 Rekurencja 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Rekurencja - pojęcie 2 Rekurencja - pojęcie Rekurencja (rekursja) wywołanie

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

Szczegółowy program kursów szkoły programowania Halpress

Szczegółowy program kursów szkoły programowania Halpress Szczegółowy program kursów szkoły programowania Halpress Lekcja A - Bezpłatna lekcja pokazowa w LCB Leszno "Godzina kodowania - Hour of Code (11-16 lat) Kurs (B) - Indywidualne przygotowanie do matury

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie 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ółowo

Algorytmy i struktury danych. wykład 2

Algorytmy i struktury danych. wykład 2 Plan wykładu: Pojęcie algorytmu. Projektowanie wstępujące i zstępujące. Rekurencja. Pojęcie algorytmu Pojęcie algorytmu Algorytm skończony zbiór operacji, koniecznych do wykonania zadania z pewnej klasy

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. 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ółowo

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Teraz 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ółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

KARTA KURSU. Wstęp do programowania

KARTA KURSU. Wstęp do programowania KARTA KURSU Nazwa Nazwa w j. ang. Wstęp do programowania Introduction to Programming Kod Punktacja ECTS* 6 Koordynator dr inż. Magdalena Andrzejewska Zespół dydaktyczny: dr inż. Magdalena Andrzejewska

Bardziej szczegółowo

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 01 Algorytm Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn Musy al-chorezmi (z Chorezmu), który ok. 820 r n.e. opisał

Bardziej szczegółowo

EGZAMIN MATURALNY 2012 INFORMATYKA

EGZAMIN MATURALNY 2012 INFORMATYKA Centralna Komisja Egzaminacyjna EGZAMIN MATURALNY 2012 INFORMATYKA POZIOM PODSTAWOWY Kryteria oceniania odpowiedzi MAJ 2012 2 Zadanie 1. a) (0 2) Egzamin maturalny z informatyki CZĘŚĆ I Obszar standardów

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania Wprowadzenie do programowania Olsztyn 2007-2012 Wojciech Sobieski Podstawowe pojęcia Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne. Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis

Bardziej szczegółowo

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie. Wykład 4 Algorytmy + struktury danych = programy Niklaus Wirth Algorytm = logika + sterowanie Robert Kowalski J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 80 / 277 algorytm program język

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, reprezentacja algorytmów. Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

PODSTAWY ALGORYTMIKI

PODSTAWY ALGORYTMIKI 1 PODSTAWY ALGORYTMIKI Algorytm sposób rozwiązania danego problemu Może być opisany słownie, może być przedstawiony wzorem matematycznym lub za pomocą schematów blokowych. Programowanie jest to metoda

Bardziej szczegółowo

Podstawy Informatyki. Wykład 6. Struktury danych

Podstawy Informatyki. Wykład 6. Struktury danych Podstawy Informatyki Wykład 6 Struktury danych Stałe i zmienne Podstawowymi obiektami występującymi w programie są stałe i zmienne. Ich znaczenie jest takie samo jak w matematyce. Stałe i zmienne muszą

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstę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ółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego

wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego wstęp (podstawowe pojęcia związane z programowaniem, przegląd języków programowania, sieci działań, ogólne zasady programowania zorientowanego obiektowo) historia języka Delphi i ogólna charakterystyka

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,

Bardziej szczegółowo

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe Algorytmy i schematy blokowe Algorytm dokładny przepis podający sposób rozwiązania określonego zadania w skończonej liczbie kroków; zbiór poleceń odnoszących się do pewnych obiektów, ze wskazaniem porządku,

Bardziej szczegółowo

Abstrakcyjne struktury danych - stos, lista, drzewo

Abstrakcyjne struktury danych - stos, lista, drzewo Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą

Bardziej szczegółowo

Technologie 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 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ółowo

Podstawy Programowania. Języki programowania

Podstawy Programowania. Języki programowania Podstawy Programowania Wykład XII Języki programowania Robert Muszyński ZPCiR ICT PWr Zagadnienia: generacje języków progamowania, kod maszynowy, asembler, drzewo genealogiczne języków wysokiego poziomu,

Bardziej szczegółowo

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy 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ółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

SPOSÓB PRZETWARZA -NIA DANYCH

SPOSÓB PRZETWARZA -NIA DANYCH Język C zajęcia nr 1 Cel stosowania metod i środków informatyki Głównym celem stosowania metod i środków informatyki jest wspomaganie człowieka w procesie rozwiązywania problemów. Przykładowe rodzaje problemów:

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inż. Grzegorz Zych Copernicanum, pok. 3 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje programistyczne.

Bardziej szczegółowo

Język ludzki kod maszynowy

Ję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ółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Algorytmy. Programowanie Proceduralne 1

Algorytmy. Programowanie Proceduralne 1 Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn

Bardziej szczegółowo

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski O (o)programowaniu R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl Próba klasyfikacji Nie jest możliwa jednoznaczna klasyfikacja oprogramowania! Oto jedna

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elż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ółowo

Zagadnienia na egzamin dyplomowy

Zagadnienia na egzamin dyplomowy Zagadnienia na egzamin dyplomowy Zagadnienia podstawowe i kierunkowe 1. Wyjaśnij budowę i działanie pojedynczego neuronu w sztucznej sieci neuronowej. 2. Definicja złożoności czasowej i obliczeniowej algorytmów.

Bardziej szczegółowo

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Podstawy programowania.

Podstawy 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ółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Algorytmy od problemu do wyniku

Algorytmy od problemu do wyniku Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie

Bardziej szczegółowo