Języki Programowania

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

Download "Języki Programowania"

Transkrypt

1 Języki Programowania materiały uzupełniające do wykładów 19 maj, 2006 Wojciech Sobieski Uniwersytet Warmińsko-Mazurski Wydział Nauk Technicznych Katedra Mechaniki i Podstaw Konstrukcji Maszyn Olsztyn, ul. M. Oczapowskiego 11. tel.: (89) fax: (89) Niniejszy dokument nie zawiera tekstów aktorskich lecz jest jedynie kompilacją różnych materiałów internetowych, powstałą w okresie opracowywania zakresu tematycznego przedmiotu Języki Programowania II (lata ), realizowanego na specjalności Inżynierskie Zastosowania Komputerów WNT UWM w Olsztynie. Na podstawie zebranych materiałów (przedstawionych w opracowaniu oraz innych) opracowany został autorski cykl wykładów do tego przedmiotu. Olsztyn /64

2 Spis treści 1 Historia rozwoju komputerów Od Starożytności do Średniowiecza Wiek XVII i XVIII Charles Babbage ( ) Przełom XIX i XX wieku Początek XX wieku Pierwsze komputery John von Neumann ( ) Komputer typu PC Kronika Języki programowania Rozwój programowania Generacje języków programowania Podstawowe definicje Środowisko programistyczne Etapy kompilacji Podział języków programowania Przegląd języków programowania Elementy języków programowania Podstawowe cechy języków programowania: Zmienne i stałe Wyrażenia Instrukcje Wyjątki Styl programowania Elementy stylu programowania Metody testowania programów Algorytmy Rodzaje algorytmów Rodzaje zapisu algorytmów Schematy blokowe Zasady tworzenia schematów blokowych: Etapy rozwiązywania problemów: Realizacja pętli i instrukcji warunkowych Przykłady schematów blokowych: Poprawność algorytmów Technologia programowania Fazy powstawania programu komputerowego: Rodzaje programowania /64

3 1 Historia rozwoju komputerów. Ludzkość wytwarza coraz więcej informacji. Tak wiele, że jej przetwarzanie, czyli pamiętanie, klasyfikowanie, poszukiwanie, obrazowanie i zestawianie jest ponad ludzkie siły. Dlatego tak duże znaczenie osiągnęły "maszyny", które radzą sobie z tym zadaniem lepiej i szybciej od człowieka - komputery. Komputery, czyli maszyny liczące (z ang. compute - obliczać) mają więcej lat niż się na ogół przypuszcza. Za przodków komputera uznać bowiem należy wszystkie urządzenia służące do liczenia. 1.1 Od Starożytności do Średniowiecza. W wykopaliskach między Mezopotamią i Indiami odnaleziono ślady stosowanych już w X wieku p.n.e. systematycznych metod znajdowania wyniku najprostszych operacji za pomocą specjalnie przygotowanych i poukładanych kamieni. Początkowo kamienie układano w rzędach na piasku tworząc w ten sposób plansze obliczeniowe, które nazywamy abakami (lub abakusami). Później zaczęto nawlekać kamienie na pręty, tworząc liczydła, czyli kompletne i przenośne przyrządy do obliczeń. W obu przypadkach, abakusa i liczydła, stan obliczeń określało rozmieszczenie elementów ruchomych na piasku lub na prętach. Liczydła przeżywały swój renesans w wiekach średnich. Wtedy na przykład ukształtował się japoński soroban w swej obecnej postaci. Jest on jeszcze dzisiaj dość powszechnie stosowanym liczydłem w Japonii. Soroban - jak każde liczydło - ma wady, które zostały naprawione częściowo w kalkulatorze, a ostatecznie dopiero w komputerach. Służy on bowiem tylko do odnotowania bieżących wyników obliczeń, gdyż nie ma w nim miejsca ani na pamiętanie wyników pośrednich, ani na pamiętanie kolejno wykonywanych działań. Rys. 1. Starożytna figurka przedstawiająca człowieka z abacusem. Wiemy, że Leonardo da Vinci był geniuszem, którego pomysły wykraczały daleko poza jego epokę, ale mało kto wie, że próbował on również skonstruować maszynę liczącą. 13 marca 1967 roku amerykańscy naukowcy pracujący w Madrycie w Bibliotece Narodowej Hiszpanii napotkali dwie nieznane dotąd prace Leonarda da Vinci nazwane "Codex Madrid". Dotyczyły one maszyny liczącej. Dr Roberto Guatelli znany ekspert w dziedzinie twórczości Leonarda, tworzący także repliki jego prac postanowił razem ze swoimi asystentami odtworzyć również i tą maszynę. Dokonano tego w 1968 r. jednak dzisiejsze dzieje tej repliki są nieznane i nie wiadomo gdzie ona się znajduje. Specjaliści zarzucali Guatellemu, że w swojej rekonstrukcji nadmiernie kierował się intuicją i współczesną wiedzą oraz, że wyszedł poza projekt Leonarda. Tak więc Leonardo da Vinci - geniusz epoki renesansu wniósł również wkład w rozwój maszyn liczących. 3/64

4 Rys. 2. Na zdjęciach: oryginalne zapiski Leonarda da Vinci oraz replika maszyny jego pomysłu 1.2 Wiek XVII i XVIII. Na początku XVII wieku John Neper opublikował najpierw swoje dzieło o logarytmach a następnie przedstawił system wspomagający wykonywanie mnożenia, zwany pałeczkami Nepera. Genialność tego systemu polegała na sprowadzeniu mnożenia do serii dodawań. Pomysł Nepera wykorzystało wielu konstruktorów urządzeń liczących, jemu współczesnych i żyjących po nim. Za twórcę pierwszej w historii mechanicznej maszyny do liczenia jest uznawany Wilhelm Schickard ( ), który przez długie lata był zupełnie zapomniany. Schickard opisał projekt swojej czterodziałaniowej maszyny, wykorzystując udoskonalone pałeczki Nepera w postaci walców, w liście do Keplera, któremu miała ona pomóc w jego astronomicznych (dosłownie i w przenośni) rachunkach. Niestety jedyny zbudowany egzemplarz maszyny spłonął w niewyjaśnionych okolicznościach, a dzisiejsze jej repliki zostały odtworzone dopiero niedawno na podstawie opisu z listu Keplera. W XVII wieku żyli i tworzyli wielcy matematycy Gottfried Wilhelm Leibniz ( ) i Blaise Pascal ( ). Pascal zainteresował się zbudowaniem maszyny liczącej z myślą o dopomożeniu swojemu ojcu, który był poborcą podatkowym. Wyprodukowano około 50 egzemplarzy Pascaliny - maszyny według pomysłu Pascala. Kilka egzemplarzy istnieje w muzeach do dzisiaj; część z nich była przeznaczona do obliczeń w różnych systemach monetarnych, a część - dla różnych miar odległości i powierzchni (z przeznaczeniem dla geodetów). Pascal który zbudował maszynę wykonującą tylko dwa działania (dodawanie i odejmowanie) przez ponad trzysta lat uchodził niesłusznie za wynalazcę pierwszej mechanicznej maszyny do liczenia. Schickard i Pascal wprowadzili w swoich maszynach mechanizm do przenoszenia cyfr przy dodawaniu i odejmowaniu. Obie maszyny miały także pewne możliwości zapamiętywania niektórych wyników pośrednich. Leibniz odkrył na nowo pochodzący ze starożytnych Chin system dwójkowy (zwany także binarnym) do zapisu liczb. Przypisuje się jemu także zbudowanie pierwszej mechanicznej maszyny mnożącej. Chociaż w tym czasie istniała już Pascalina i Leibniz miał możność zapoznania 4/64

5 się z nią w Paryżu, projekt swojej "żywej ławy do liczenia" opisał przed pierwszą wizytą w Paryżu. W maszynie tej wprowadził wiele części, które zostały użyte w późniejszych maszynach biurowych. Maszyny Schickarda, Pascala, i Leibniza wymagały od użytkownika manualnej pomocy w wielu czynnościach związanych z kolejnymi krokami obliczeń. Za ich pomocą nie było jeszcze można w pełni automatycznie i w całości wykonać prostego działania na dwóch liczbach. Rys. 3. Z lewej: pascalina; z prawej: maszyna Laibnizta. W tym miejscu wypada wspomnieć o udziale naszego rodaka w dziele tworzenia maszyn liczących. Abraham Stern ( ), z zawodu zegarmistrz, wykonał serię maszyn, które poza czterema działaniami podstawowymi, wyciągały także pierwiastki kwadratowe. Jedna z jego maszyn, raz uruchomiona, potrafiła wykonać za pomocą mechanizmu zegarowego wszystkie operacje bez ingerencji człowieka. Maszyny skonstruowane przez Sterna okazały się jednak mało praktyczne ze względu na wyjątkowo delikatną budowę. 1.3 Charles Babbage ( ). Za najwybitniejszego twórcę maszyn liczących, żyjącego przed erą elektroniczną, uważa się Anglika Charlesa Babbage'a. Swoją pierwszą maszynę nazwaną maszyną różnicową, (gdyż wykonywała obliczenia metodą różnicową), konstruował przez ponad 10 lat. Trapiony jednak wieloma kłopotami rodzinnymi i finansowymi oraz nie mogąc do końca porozumieć się ze swoim głównym wykonawcą - konstruktorem Clementem zaprzestał dalszych prac nad nią w 1842 roku. Zmontowaną część maszyny (podobno nadal sprawną) można oglądać w Muzeum Nauk w Londynie. Należy dodać, że w odróżnieniu od maszyn Leibniza i Pascala, po ręcznym ustawieniu początkowego stanu, dalsze działania maszyny różnicowej nie wymagają już żadnej ingerencji użytkownika poza kręceniem korbą. Prace Babbage'a zainspirowały wielu jemu współczesnych, którzy jak na przykład Szwedzi George i Edward Scheutzowie, często z większym powodzeniem ukończyli swoje, może mniej ambitne ale nadal praktyczne konstrukcje maszyn różnicowych. Ale Babbage nie poprzestał na próbie skonstruowania maszyny różnicowej. Marzył o maszynie, która mogłaby rozwiązywać bardziej złożone zadania. Tak narodził się jeszcze w trakcie prac nad maszyną różnicową pomysł zbudowania maszyny analitycznej, którym Babbage żył do śmierci. Było to przedsięwzięcie czysto abstrakcyjne - przewidywane przeszkody techniczne i trudności finansowe nie pozwoliły nawet na rozpoczęcie prac konstrukcyjnych. W projekcie Babbage zawarł jednak wiele pomysłów zrealizowanych dopiero we współczesnych komputerach. Między innymi rozdzielił pamięć (zwaną magazynem) od jednostki liczącej (młyna), czyli miejsce przechowywania danych od jednostki wykonującej na nich działania. Obie te części maszyny analitycznej miały być 5/64

6 sterowane za pomocą dodatkowego urządzenia kontrolnego, które otrzymywało polecenia na kartach perforowanych, udoskonalonych i rozpowszechnionych przez Jacquarda do programowania maszyn tkackich. Można więc uznać maszynę analityczną Babbege'a za pierwszy pomysł kalkulatora sterowanego programem zewnętrznym. Rys. 4. Maszyna Babbaga. Opis działania maszyny analitycznej trafił w ręce Ady ( jej pełne nazwisko: Ada Augusta hrabina Lovelace), znanej w owych czasach z błyskotliwego umysłu. Urzeczona doskonałością projektu uważała, że... " maszyna analityczna tkać będzie wzory algebraiczne, tak jak krosna Jacquarda tkają licie i kwiaty...". Nie czekając na skonstruowanie maszyny (czego i tak by nie doczekała), Ada zajęła się sporządzaniem opisów jej używania do rozwiązywania konkretnych zadań obliczeniowych. Opisy te nazwano by dzisiaj programami, dlatego uważa się ją za pierwszą programistkę komputerów. Dla uczczenia zasług Ady na tym polu nazwano jej imieniem jeden z najbardziej uniwersalnych języków programowania. 1.4 Przełom XIX i XX wieku. Koniec XIX wieku był początkiem rozwoju urządzeń mechanograficznych, których głównym przeznaczeniem było usprawnienie rachunków statystycznych, księgowych i biurowych. Zaczęło się w Stanach Zjednoczonych od Hermana Holleritha, który postanowił zautomatyzować prace statystyczne związane ze spisem ludności przeprowadzanym wtedy w Stanach co dziesięć lat. Hollerith sięgnął po elektryczność, jako źródło impulsów i energii, rozwinął postać karty perforowanej, na której zapisywano dane i zbudował elektryczny czytnik - sorter kart. Olbrzymim sukcesem Holleritha okazał się spis 1890 roku, którego wyniki zostały całkowicie opracowane za pomocą jego urządzeń na podstawie danych zebranych na jego kartach. W następnych latach Hollerith dostarczał lub wypożyczał swoje urządzenia do przeprowadzenia spisów w wielu krajach, w tym także w Europie, między innymi w Rosji. Na przełomie XIX i XX wieku powstało wiele firm, które początkowo oferowały maszyny sterowane kartami perforowanymi i z latami zyskiwały na swojej potędze a wiele z nich przetrwało do dzisiaj, jak na przykład IBM, Bull, Remington - Rand, Burroughs, a także NCR (kasy), i Bell (telefony). Udoskonalona i znormalizowana karta perforowana przez wiele dziesięcioleci była uniwersalnym nośnikiem informacji, a pierwsze maszyny mechaniczne do przetwarzania danych zapoczątkowały stale rosnący popyt na przetwarzanie informacji. Wniosło to także zmiany w stosunkach 6/64

7 międzyludzkich, a w szczególności między państwem (posiadaczem maszyn do obróbki informacji) i obywatelem. 1.5 Początek XX wieku. Wśród modeli obliczeń powstałych w pierwszej połowie XX wieku największą popularność zdobyły maszyny Turinga. W swojej fundamentalnej pracy z 1936 roku, Alan Turing bardzo przystępnie opisał tok mylenia prowadzący od obliczeń wykonywanych ręcznie do obliczeń wykonywanych przez bardzo prostą maszynę. Oto jej opis. Obliczenia ręczne są najczęściej wykonywane na pokratkowanej kartce papieru, której pojedyncze kratki są wypełnione cyframi i symbolami działań. Dysponujemy tylko skończoną liczbą znaków ( cyfr, np. 0 oraz 1 i symboli działań ), które mogą być wpisywane w kratki. To, co robimy w ustalonej chwili, zależy od znaków, które obserwujemy i od działania, jakie podjęliśmy. Można przyjąć, że liczba kratek obserwowanych w danej chwili jest ograniczona. Przejrzenie za większej ich liczby sprowadza się do wykonania ciągu obserwacji. Możemy także założyć, że liczba wszystkich stanów, w jakich może znaleźć się nasz umysł wykonujący obliczenia, chociaż duża jest skończona. Turing doszedł do koncepcji swojej maszyny wprowadzając pewne uproszczenia i uściślenia w działaniach na kartce i nad nią. Po pierwsze, zapis obliczeń na kartce papieru (a dokładniej na dwuwymiarowym układzie kratek) można sprowadzić do zapisu na jednowymiarowej pokratkowanej kartce, czyli na tamie podzielonej na kratki. Wystarczy w tym celu treść obliczeń wypełniających kartkę zapisać wierszami. Traci się przy tym czytelność, ale zyskuje redukcję wymiaru kartki. Po drugie, umysł wykonujący obliczenia można zastąpić przez obiekt bardziej fizyczny zwany głowicą, która znajduje się nad tamą, może się poruszać w obie strony tamy, a w danej chwili widzi jedynie symbol umieszczony w kratce, nad którą zawisła. Działanie głowicy jest określone przez ustalony zbiór instrukcji, zgodnie z którymi może poruszać się w lewo, w prawo lub stać w miejscu, potrafi rozpoznawać symbole i może zmieniać zawartości kratki, nad którą się znajduje. Wykonanie instrukcji przez maszynę Turniga jest działaniem głowicy, uzależnionym od stanu, w jakim się znajduje i co widzi. Obliczenia wykonywane za pomocą maszyny Turinga zależą od początkowego zapisu symboli na tamie i od przyjętego zestawu dozwolonych instrukcji. Zatem działa ona podobnie jak dzisiejsze komputery - wyniki obliczeń zależą od zapisanych w pamięci komputera danych i od zestawu wykonywanych instrukcji. Zawartoć tamy po zatrzymaniu się maszyny zależy od obu tych czynników. Nieodparcie nasuwa się pytanie o to, co można policzyć za pomocą tak prostych maszyn. Okazuje się, że bardzo wiele. Sam Turing sformułował tezę, iż na maszynie tego typu można zrealizować każdy algorytm. Do dzisiaj nie obalono tej tezy. Zauważa się, że w związku z tym można przyjąć, iż algorytmem jest dowolny opis wykonania obliczeń na maszynie Turinga. Analizując moc swoich maszyn, Turing doszedł jednak do wniosku, że istnieją funkcje, których wartości nie mogą one obliczać. Wspomnieć tutaj należy jeszcze o dwóch innych dziedzinach działalności Turinga ściśle związanych z automatyzacją obliczeń i komputerami. W latach II wojny światowej Turing został włączony do grupy specjalistów zajmujących się w Wielkiej Brytanii deszyfracją kodów Enigmy - maszyny, którą Niemcy używali do kodowania meldunków i rozkazów rozsyłanych swoim jednostkom na wszystkich frontach. W 1941 roku działalność tej grupy przyczyniła się do zredukowania brytyjskich strat na morzach o 50%. Brytyjscy specjaliści korzystali z materiałów ( wśród których był egzemplarz Enigmy oraz maszyna deszyfrująca zwana bombą ) przekazanych im w 1939 roku przez grupę Polaków kierowaną przez Mariana Rejewskiego, zajmujących się od 7/64

8 pięciu lat skonstruowaniem maszyny deszyfrującej. Chociaż Brtyjczycy udoskonalili maszynę deszyfrującą otrzymaną od Polaków, pozostawała ona nadal maszyną mechaniczną i jej działanie nie nadążało za ciągle udoskonalanymi i zmienianymi przez Niemców egzemplarzami Enigmy. Ocenia się że w szczytowym okresie II wojny światowej Niemcy używali ponad 70 tysięcy maszyn szyfrujących Enigma. Prace nad maszyną deszyfrującą Enigmę przyczyniły się do powstania pod koniec wojny w Wielkiej Brytanii kalkulatorów elektronicznych. Powstało kilka wersji maszyny o nazwie Coloss, których głównym konstruktorem był T.H. Fowers. Były to już maszyny elektroniczne, w których wykorzystano arytmetykę binarną, sprawdzane były warunki logiczne (a więc można było projektować obliczenia z rozgałęzieniami), zawierały rejestry, mogły wykonywać programy (poprzez uruchomienie tablic rozdzielczych) i wyprowadzać wyniki na elektryczną maszynę do pisania. 1.6 Pierwsze komputery. Pierwsze komputery zbudowano dopiero w naszym stuleciu, chociaż pomysły, jakie w nich zrealizowano, pojawiły się przynajmniej sto lat wcześniej, już za czasów Babbage'a. Zastosowane w komputerach środki techniczne pojawiły się bowiem dopiero w latach międzywojennych. Za największego inspiratora powstania komputera w jego obecnej postaci uważa się Johna von Neumanna. Ale najpierw trzeba oddać właściwe miejsce twórcom rzeczywiście najwcześniejszych konstrukcji, pretendujących do miana komputera. Pojawienie się większości z nich przyspieszyła II wojna światowa. W 1941 roku Konrad Zuse ukończył w Niemczech prace nad maszyną Z 3, która wykonywała obliczenia na liczbach binarnych zapisanych w reprezentacji, nazywanej dzisiaj zmiennopozycyjną, sterowane programem zewnętrznym podawanym za pomocą perforowanej tamy filmowej. Maszyna Z 3 została całkowicie zniszczona w czasie bombardowania w 1945 roku. Następny model maszyny Zusego, Z 4 przetrwał i działał do końca lat pięćdziesiątych. Maszyny Zusego były kalkulatorami przekaźnikowymi. W tym czasie znane już były prace Claude Shannona dotyczące działań binarnych (logicznych) za pomocą układów elektronicznych zgodnie z regułami Boole'a. Rys. 5. ENIAC. W roku 1942 zespół specjalistów pod kierunkiem J.W. Mauchly'ego i J.P. Eckerta zaprojektował i zbudował maszynę ENIAC (ang. Electronic Numerical Integrator And Computer). Pierwsze obliczania maszyna ta wykonała w listopadzie 1945 roku. Maszyna ENIAC jest uznawana powszechnie za pierwszy kalkulator elektroniczny, chociaż w 1976 roku okazało się, że wczeniej zaczęły pracować w Wielkiej Brytanii maszyny Coloss I i II. Maszyna ENIAC była monstrualną konstrukcją złożoną z 50 szaf o wysokości 3 metrów zawierających około 20 tysięcy lamp. 8/64

9 Słabością tej maszyny było: użycie zwykłego systemu dziesiętnego do pamiętania liczb, brak rozdziału między funkcjami liczenia i pamiętania oraz bardzo uciążliwy sposób zewnętrznego programowania. Wady te zostały usunięte dopiero w projekcie EDVAC. 1.7 John von Neumann ( ). John von Neumann, z pochodzenia Węgier, był w swoich czasach jednym z najwybitniejszych matematyków. W 1946 roku zainspirował on prace w projekcie EDVAC (ang. Electronic Discrete Variable Automatic Computer ), których celem było zbudowanie komputera bez wad poprzednich konstrukcji. Zaproponowano architekturę, zwaną odtąd von neumannowską, według której buduje się komputery do dzisiaj. W komputerze von Neumanna można wyróżnić przynajmniej następujące elementy: pamięć złożoną z elementów przyjmujących stan 0 lub 1, arytrometr zdolny wykonywać działania arytmetyczne, logiczne i inne, sterowanie, wprowadzanie danych i wyprowadzanie wyników. Program, czyli zbiór instrukcji, według których mają odbywać się obliczenia, jest wpisywany do pamięci. Kolejne rozkazy programu są pobierane przez jednostkę sterującą komputerem w takt centralnego zegara i rozpoznawane zgodnie z mikroprogramem wpisanym w układ elektroniczny. Należy podkreślić, że program jest przechowywany w pamięci komputera i jego działanie może zmieniać zawartość dowolnego obszaru pamięci (programy mogą się także same modyfikować). Fizycznie nie ma żadnej różnicy między danymi i programami przechowywanymi w pamięci komputera: są podobnie kodowane jako ciąg zer i jedynek i tak samo zrealizowane technicznie. Można więc powiedzieć, że celem działania komputera von neumannowskiego jest przejście w takt zegara od jednego stanu zawartości pamięci (danego na początku) do innego, zawierającego oczekiwany wynik. Można zauważyć podobieństwo tego spojrzenia na komputer von Neumanna do maszyny Turinga. Nie ma w tym nic dziwnego gdyż von Neumann bardzo dobrze znał osiągnięcia Turinga. Postęp w elektronice umożliwił dalszy rozwój komputerów. W latach sześćdziesiątych lampy zastąpiono tranzystorami. Pierwszy tranzystorowy komputer zbudowano w 1956 roku w Massachusettes Institute of Technology. Z kolei układy scalone zastąpiły tranzystory (układ scalony zawierał w jednej obudowie kilkadziesiąt tranzystorów i innych elementów elektronicznych). Dalszy postęp produkcji tych układów pozwolił umieszczać w jednej "kostce" dziesiątki tysięcy tranzystorów. Obwody takie nazwano układami wielkiej skali integracji ( VLSI z ang. Very Large Scale of Integration ). Wymyślono termin: " generacja komputerów " i nazwano komputery lampowe mianem pierwszej generacji, tranzystorowe - drugiej, zbudowane z układów scalonych - trzeciej, a w technologii VLSI - czwartej. Postęp w technologii produkcji komputerów odbywał się tak szybko, że zaczęto mówić o rewolucji komputerowej. Wprowadzenie na rynek tanich układów scalonych umożliwiło powstanie mikrokomputerów, w których elementy przetwarzające informacje umieszczono w jednym układzie - mikroprocesorze. 1.8 Komputer typu PC. Pierwsze komputery osobiste (PC z ang. Personal Computer) zostały opracowane przez IBM. Ponieważ firma ta nie miała nic przeciwko temu, by inne przedsiębiorstwa skorzystały z jej pomysłu i podążyły jej śladem, wielu producentów sprzedaje dziś własne komputery, które jednak są wciąż budowane według tej samej koncepcji firmy IBM. Ponieważ na rynku pojawiało się coraz więcej produktów, zaczęto pisać programy dla tego typu komputerów. Producenci sprzętu 9/64

10 odpowiedzieli na to kolejną falą unowocześnionych komputerów typu IBM - PC. Proces ten rozwijał się na zasadzie lawiny: komputery, nowe komponenty i oprogramowanie są obecnie tworzone przez setki najróżniejszych producentów. Tym sposobem PC stał się najbardziej rozpowszechnionym typem komputera na wiecie. Niemal w tym samym czasie, którym narodził się PC, firma Apple zaczęła budować swój własny typ komputera osobistego, dzieło Steve Woźniaka i Steve Jobsa. System Apple nie był jednak zgodny z IBM - PC ani pod względem sprzętu, ani oprogramowania. Swój sukces zawdzięczał on faktowi, iż po raz pierwszy wykorzystano tam graficzny sposób komunikowania się z użytkownikiem bazujący na obrazkach i oknach - na rok przed rozpowszechnieniem się Windows firmy Microsoft. Komputery Apple od samego początku były systemami kompletnymi. Oznaczało to, że w ich przypadku nie było już konieczne kupowanie dodatkowych komponentów, aby na przykład osiągnąć dźwięk odpowiedniej jakości. W przeciwieństwie do ówczesnych komputerów PC - tów, komputery Apple były znacznie prostsze w obsłudze. Mac, jak chętnie nazywa się komputer firmy Apple, szybko stał się ulubionym narzędziem ludzi z kręgów twórczych. Używali go przede wszystkim architekci, muzycy i projektanci, którym najczęściej potrzebny był właśnie wydajny i łatwy w obsłudze komputer. Tak więc Mac wciąż pozostaje główną alternatywą dla komputerów typu IBM - PC, a fakt, iż w porównaniu z PC -tem jest mniej dostępny na rynku, wynika głównie stąd, że firma Apple nie udostępniła nikomu praw do kopii swojego projektu. Większość producentów skorzystała co prawda z koncepcji peceta firmy IBM, niemniej niektórzy wyłamali się i podążyli własną drogą tworząc komputery osobiste niezgodne ze standardem. Stąd też oprogramowanie stworzone dla typowego komputera PC z reguły nie może być na nich uruchamiane. W zupełnym oderwaniu od standardu IBM - a powstały rozwiązania, które przewyższają pierwowzór czy to pod względem ceny, czy przydatności do gier, czy też obróbki dźwięku czy też grafiki. Niejeden z tego typu systemów był i wciąż jeszcze jest wspaniałym narzędziem, jednakże przeznaczonym wyłącznie dla specjalistów skupiających się na wykonywaniu określonej grupy zadań. 1.9 Kronika : Blaise Pascal skonstruował jedną z pierwszych maszyn matematycznych. 1822: Brytyjski matematyk Charles Babbage zaprezentował model maszyny różnicowej, który miał różnice drugiego rzędu i osiem miejsc po przecinku. Zajął się on następnie maszyną o różnicach siódmego rzędu i 290 miejscach po przecinku, poniósł jednak porażkę przy rozwiązywaniu problemu wykonania skomplikowanego napędu zębatego /64

11 1833: Charles Babbage przedstawił pomysł pierwszej cyfrowej maszyny analitycznej. Nie została ona nigdy zbudowana. Projekt przewidywał jednak istotne składniki nowoczesnego przetwarzania danych. 1930: W Massachusetts Institute of Technology w Cambridge (USA) grupa naukowców pod kierownictwem inżyniera elektryka Vannevara Busha konstruuje pierwszy - pracujący elektromechanicznie - komputer analogowy. 1936: Francuz R. Valtat zgłosił do opatentowania maszynę liczącą, której zasada działania oparta była na systemie dwójkowym. 1937: Niemiec Konrad Zuse zbudował elektromechaniczną maszynę liczącą opartą na systemie dwójkowym. George Stibitz zbudował binarną maszynę sumującą Model K. George Stibitz tworzy w Laboratoriach Bella pierwszy cyfrowy obwód. 1940: Alianci zbudowali pierwszą nadającą się do użytku maszynę deszyfrującą. 1941: Niemiecki inżynier Konrad Zuse zaprezentował swoją cyfrową maszynę liczącą "Zuse Z3".Była to pierwsza sterowana programowo maszyna matematyczna, o wysokich parametrach eksploatacyjnych. "Zuse Z3" posiadała binarny mechanizm liczący z prawie 600 przekaźnikami jako bistabilnymi elementami i pamięcią z około 1400 przekaźnikami. 1942: Amerykanin John V. Atanasoff ukończył pierwszą sprawną elektroniczną maszynę liczącą w technice lampowej. Atanasoff podjął plan już w roku Był przekonany, że metoda cyfrowa i zastosowanie liczb binarnych będzie najwłaściwsze do budowy maszyn liczących. 1943: Niemiecki inżynier Henning Schreyer zgłosił do opatentowania pełnoelektroniczną pamięć i urządzenie liczące z lampami jarzeniowymi. Schreyer od 1937 r. wspólnie z Konradem Zuse zajmował się konstruowaniem układu połączeń lampowych do przetwarzania danych. Teraz opracował on ideę budowy pełnoelektronicznej maszyny liczącej. Jednakże w czasie wojny w Niemczech brakowało środków na realizację jego planów. 1944: Węgiersko-amerykański matematyk i chemik John von Neuman rozpoczął próby z modelem pierwszej maszyny liczącej z pamięcią EDVAC (Electronic Discrete Variable Automatic Computer). W urządzeniu kodowano program, składający się z serii pojedynczych instrukcji. Program zawierał instrukcje warunkowe, które umożliwiały tworzenie pętli. Każda instrukcja programowa mogła być zmieniona przez samą maszynę, jak każdy inny argument operacji. Z takim sposobem działania maszyna zdecydowanie górowała nad wszystkimi dotychczasowymi maszynami matematycznymi. Fizyk Howard Hathavay oddał do użytku na Universytecie Harvarda cyfrową maszynę liczącą. Nazywała się MARK I bądź ASCC - miała potężne wymiary i była pierwszą sterowaną programowo maszyną liczącą USA. 11/64

12 1945: Na Uniwersytecie Pensylwania uruchomiono pierwszą wielką elektroniczną maszynę liczącą wiata ENIAC (Electronic Numerical Integrator and Computer). Zbudowana została przez Johna Prespera Ecckerta i Johna Williama Mauchly. Do czasu aż wszystkie jej zespoły stały się całkowicie zdolne do użytku, minęły jeszcze dwa lata. Wielka maszyna matematyczna wyposażona była w lampy elektronowe i liczyła 2000 razy szybciej niż komputer z elektromechanicznymi przekaźnikami. ENIAC zajmował powierzchnię zasadniczą 140 m.kw., posiadał przeszło lamp elektronowych, 1500 przekaźników i zużywał W mocy. Całe urządzenie waży ok. 80 ton i może wykonać maksymalnie 5000 operacji dodawania i 360 mnożenia w ciągu sekundy. Komputer cechuje duża awaryjność średnio co 5 minut przepala się jedna z kilkunastu tysięcy lamp elektronowych. Szybkość taktowania zegara ENIAC-a wynosi 100. Powstaje pierwszy podręcznik obsługi komputera. Instrukcję posługiwania się komputerem ENIAC pisze Amerykanka Emily Goldstine. Grace M. Hopper w prototypie komputera Mark II znajduje pierwszą pluskwę. Jest nią ćma, która spowodowała błąd w pracy jednego z przekaźników. John von Neumann opracowuje koncepcję programu, który umieszczony w pamięci steruje komputerem. Rozpoczyna karierę termin bit. Niemiecki inżynier Konrad Zuse zakończył prace nad swoją maszyną liczącą " Zuse Z4". Komputer był rozwinięciem poprzedniego typu Z : W Stanach Zjednoczonych zbudowano maszynę liczącą " Mark II " w technice przekaźnikowej. Amerykańska firma IBM buduje komputer SSEC z lampami i przekaźnikami. Jest on sterowany za pomocą tamy dziurkowanej. Umożliwiono ingerencję w program. 1948: W toku rozwoju elektronicznych maszyn liczących, opartych na dwójkowym systemie liczbowym, znaczenie praktyczne zyskuje ugruntowana już przed ok. stu laty algebra Boole'a. Posługuje się ona wartościami logicznymi "Tak / Nie" lub " 0 / 1". Ten " krok binarny" określa matematyk John W. Tukey jako " bit" (binarny digit). Bit staje się jednostką informacji w przetwarzaniu danych. IBM 604 jest pierwszą dużą maszyną liczącą sterowaną tamą perforowaną. Richard Hamming opracowuje sposób wykrywania błędów w programach. 1949: Short Order Code, wymyślony przez Johna Mauchly, jest pierwszym językiem programowania wysokiego poziomu. Na Uniwersytecie Manchester (Anglia) pod kierownictwem Maurica V. Wilkesa skonstruowano po trzech latach pierwszy komputer lampowy z programowalną pamięcią EDSAC (Electronic Delay Storage Automatic Computer). W tym samym czasie również IBM uruchamia w Nowym Jorku pod kierownictwem Johna Prespera Eckerta układ z programowalną pamięcią - SSEC (Selective Sequence Electronic Calculator). EDSAC pracuje z 4500 lampami elektronowymi, a SSEC z lampami elektronowymi i przekaźnikami. Nowością w tych komputerach jest to, że tak przebieg programu jak i obróbka danych są zakodowane w pamięci maszyny, program zawiera rozkazy warunkowe, które umożliwiają rozgałęzienia i skoki i wreszcie każdy rozkaz programowy z operacyjną częścią adresową może samodzielnie zmienić. Koncepcję tych komputerów opracował już w 1944 r. matematyk amerykański pochodzenia węgierskiego John von Neamann. Jednakże jego urządzenie EDVAC rozpoczyna pracę dopiero w roku Np. w 1945 r. Zuse sformułował ogólny algorytmiczny język formuł, który uwzględniał możliwe warianty programowania pamięci. 12/64

13 1950: Univac I firmy Eckert and Mauchly Computer Company jest komputerem produkowanym seryjnie. Komputer " Mark III " używa tamy magnetycznej zamiast kart perforowanych. 1951: Grace Murray Hopper wymyśla pierwszy kompilator A-0. Na Uniwersytecie Harwarda w Cambridge (Massachusetts) matematyk Howard H. Aiken uruchomił swoją maszynę cyfrową MARK III. Urządzenie to było kontynuacją urządzeń poprzednich MARK I i MARK II, które Aiken budował już od roku W niedługim czasie Aiken buduje pierwszy, wykonany w pełni w technice lampowej maszynę liczącą MARK IV. 1952: Pierwsze asemblery. Howard H. Aiken uruchomił w USA lampową maszynę liczącą MARK IV. 1954: J.W. Backus stworzył język komputerowy FORTRAN (formula translator). Umożliwia on dialog pomiędzy użytkownikiem a bankiem danych bez konieczności korzystania z pomocy programisty. FORTRAN jest skomplikowanym językiem komputerowym, który nie tylko przekazuje maszynie polecenia, lecz zawiera w sobie szereg wzorów ułatwiających programowanie. 1955: W Bell Telephone Laboratory w USA rozpoczęła pracę pierwsza tranzystorowa maszyna licząca " Tradic " skonstruowana przez zespół pod kierownictwem J. H. Felkera. Jest ona znana jako " komputer drugiej generacji ".Wkrótce pojawiły się na rynku tranzystorowe komputery ("7090 IBM" i "Gamma 60 Bull"). 1957: Fortran II. John McCarthy tworzy wydział sztucznej inteligencji na Uniwersytecie MIT. 1958: Opracowano komputerowy język programowania ALGOL (Algorithmic Language). Podobnie jak FORTRAN - ALGOL jest językiem problemowo zorientowanym, ale nie bardziej niż te, które są specjalistycznymi językami naukowo-technicznymi. Ma on inną strukturę niż FORTRAN. 1959: John McCarthy opracowuje język programowania Lisp (list processing). 1960: Powstaje język programowania Algol 60. Zostaje opracowany język programowania COBOL (Common Business Oriented Language). COBOL używa stosunkowo dużej liczby symboli słownych. Powstaje LISP. W listopadzie firma DEC przedstawia PDP-1, pierwszy komputer wyposażony w monitor i klawiaturę. 13/64

14 1962: Powstaje APL, APL/PC, APL*PLUS. Powstaje SIMULA. Maleńkie tranzystory zwiększają prędkość elektronicznego przetwarzania danych (trzecia generacja komputerów). 1963: Powstaje program Eliza, który wykazuje pewne przejawy inteligencji. Potrafi prowadzić proste rozmowy z człowiekiem. Na uniwersytecie Kalifornijskim rozpoczynają się prace nad logiką rozmytą (fuzzy logic), która ma pomóc w stworzeniu komputera myślącego. Zatwierdzony zostaje 7-bitowy kod ASCII. 1964: Powstaję języki PL/I, dialekty: EPL, PL/S, XPL. Thomas Kurz i John Kemeny opracowują w Dartmouth College prosty język programowania Basic. 1966: Fortran IV (1966). 1967: Ole-Johan Dahl i Kristen Nygaard z Norwegian Computing Centre opracowują język Simula, który jest pierwszym obiektowo zorientowanym językiem programowania. Holender Edsger Dijkstra opracowuje zasady programowania strukturalnego. Powstaje firma Intel założona przez dwóch byłych pracowników Fairchild Semiconductor. Powstaje pierwszy radziecki superkomputer - BESM : Powstaje Algol 68. Edsger Dijkstra przekonuje, że instrukcja GOTO może być szkodliwa i nie powinno się jej stosować. Monolityczne układy przełączające zastępują minitranzystory i hybrydowe układy scalone. Zaczyna się czwarta generacja komputera. Podczas gdy komputery drugiej generacji wykonywały na sekundę 1300 dodawań, a trzeciej dodawań, to nowe urządzenia wykonują ponad Dzięki upowszechnieniu się komputerów Odra powstają pierwsze ZETO - Zakłady Elektronicznej Techniki Obliczeniowej. 1969: IBM podejmuje decyzję o niedostarczaniu programów aplikacyjnych razem ze sprzętem. Tak powstaje rynek oprogramowania. Szwajcar Niklaus Wirth opracowuje język programowania Pascal. Douglas Engelbart z Xerox PARC (Palo Alto Research Center) tworzy podstawy hipertekstu (pierwowzoru HTML). Engelbart jest również twórcą myszy komputerowej (1964 r.). 1970: Powstaje Prolog, Prolog-2, Prolog++, Prolog-D-Linda. W IMM powstają dwa zespoły zajmujące się technikami kompilacji. Zespół Jana Walaska buduje kompilatory COBOL i Pascala. Zespół Stanisława Niewolskiego tworzy kompilator Fortran IV dla RIAD. Prace te podjęto, by możliwe było samodzielne opracowywanie i 14/64

15 rozpowszechnianie kolejnych języków oprogramowania oraz tworzenie przy ich użyciu programów systemowych i aplikacyjnych. 1972: Dennis Ritchie opracowuje język programowania C w firmie Bell Labs. W laboratoriach PARC powstaje obiektowy języka programowania Smalltalk, stworzony przez Alana Kaya. Powstaje procesor Intel 8008 (200 Khz), pierwszy 8 bitowy układ, zastąpiony niebawem przez Intel : W kwietniu powstaje 8 bitowy procesor 8080 (2 Mhz). Składa się z 6 tys. tranzystorów. 1976: Departament Obrony USA ogłasza przetarg na opracowanie środowiska i języka do produkcji oprogramowania, które ma być wbudowane w postaci sterowników do dział okrętowych, stacji radiolokacyjnych, wyrzutni rakietowych. W konkursie wygrywa zespół reprezentujący kilka wydziałów informatyki uczelni francuskich. Ostatecznie Departament Obrony zatwierdza specyfikację wynikową języka ADA oraz związane z nim środowisko programistyczne. Cray 1 - pierwszy komputer wektorowy do intensywnych obliczeń numerycznych. Zilog wprowadza na rynek procesor Z : Fortran : W czerwcu Intel przedstawia pierwszy 16-bitowy procesor (4,77 Mhz). Składał się z 29 tys. tranzystorów. 1979: Powstają Modula-2, Modula-2+, Modula-3, Modula-P, Modula/R. 1980: Powstaje język programowania Ada. Powstaje dbase II - wersje późniejsze: dbase III, III+, IV, V Brytyjscy inżynierowie wprowadzili na rynek komputer osobisty (Sinclair ZX - 80). Microsoft tworzy pierwowzór DOS-u. 1981: IBM dostarcza pierwszy Personal Computer (PC) z 16-bitowym procesorem 8088, pracującym z częstotliwością 4,7 MHz pod kontrolą DOS. 1982: W lutym Intel prezentuje 16-bitowy procesor (6 Mhz). Zawiera on 134 tys. tranzystorów. John Warnock opracowuje w firmie Adobe język PostScript. 1983: Bjarne Stroustroup opracowuje C++. Borland wprowadza Turbo Pascal. Powstaje Smalltalk-80, Smalltalk/V na PC. 15/64

16 Powstaje standard Ada 83, rozszerzenia Ada++, Ada 9X. Microsoft wprowadza edytor Word dla DOS. 1984: Powstaje Macintosh. Microsoft prezentuje system operacyjny Windows. 1985: Powstaje COBOL 85 W październiku Intel przedstawia 32 bitowy procesor : Intel wprowadza procesor : W kwietniu powstaje procesor Intel 80486, który zawiera 1,2 mln tranzystorów. 1990: Powstaje procesor Intel i486. Microsoft wprowadza ikony do Windows : Fortran 90 Linus Thorvalds opracowuje system operacyjny Linux. 1992: Pojawia się Windows 3.1 przeznaczony dla krajów naszego regionu. System Microsoftu nie ma jeszcze polskego menu, ale obsługuje polskie znaki diakrytyczne. 1993: W marcu powstaje procesor Pentium Microsoft wprowadza Windows NT. Do sprzedaży trafiają polskie wersje Word i Excel. Z Wordem konkuruje edytor QR-Tekst firmy Malkom. 1994: Uchwalona przez Sejm Ustawa o prawie autorskim miała ograniczyć piractwo komputerowe. 1995: Sun przedstawia światu język Java. Powstaje Visual Fortran sierpnia na rynku pojawia się Windows : Powstaje Pentium Pro 1998: W kwietniu Intel przedstawia procesor Pentium II (350 MHz i 400 MHz). W czerwcu Microsoft wypuszcza system operacyjny Windows /64

17 2 Języki programowania. 2.1 Rozwój programowania. Możliwość zaprogramowania maszyny, a tym samym dostosowanie jej działania do wymogów użytkownika w danym momencie, przyczyniła się do tego, że komputer stał się obecnie urządzeniem niemal niezbędnym w wielu dziedzinach. Byłoby to niemożliwe bez znaczących postępów w programowaniu, a w szczególności bez rozwoju języków i narzędzi automatyzujących pracę programisty. Pierwsze komputery były programowanie przez fizyczną zmianę układów elektronicznych (tzw. hardware'u) lub przestawienie przeznaczonych do tego przełączników. Była to metoda powolna, kosztowna, o bardzo ograniczonych możliwościach. W ten sam sposób były wprowadzane dane. Z biegiem czasu ilość danych do opracowywania wzrosła tak bardzo, że nie pozostało nic innego, jak tylko poszukać nowego systemu. Tak powstały dziurkowane karty i taśmy. Kolejnym krokiem było zastosowanie takich samych kart i taśm do przechowywania programów. Dzięki temu komputery zyskały pewną elastyczność. Można było stosunkowo szybko i łatwo załadować dany program do pamięci maszyny. Możliwość przechowywania w pamięci komputera programu i danych stanowiła wielki krok naprzód, lecz jednocześnie stworzyła nowe problemy. Teraz bowiem okazało się, że potrzebny jest prosty system porozumiewania się z komputerem i kodowania programów, które maszyna ma wykonywać. I tak doszło do pojawienia się pierwszych języków programowania. Żeby komputer wykonał określone zadanie, należy wskazać mu sposób, w jaki ma to uczynić. Nie jest to proste, gdyż trzeba posłużyć się językiem zrozumiałym dla maszyny, którego podstawę stanowi szereg precyzyjnych instrukcji. Takie porozumiewanie się z komputerem odbywa się za pomocą środków, których dostarczają języki programowania, a które w swoich początkach były bardzo prymitywne i trudne w użyciu. Wszystkie języki programowania wykorzystują system ściśle ustalonych reguł, które w większym lub mniejszym stopniu mają zbliżyć do siebie język naturalny człowieka i maszyny; są pośrednikiem między skompilowanym kodem maszynowym (zrozumiałym dla komputera) a językiem naturalnym. Ponieważ jednak komputer rozumie i posługuje się tylko tzw. językiem binarnym, którego podstawę stanowi rozróżnienie dwóch stanów, jakie może przyjąć wyłącznik (włączone/wyłączone), a reprezentowanych przez 0 i 1, to ciąg instrukcji - czyli program - trzeba przetworzyć tak, aby stał się zrozumiały dla maszyny. Na szczęście, tłumaczenie takiego kodu na język zrozumiały dla komputera jest procesem mechanicznym i powtarzalnym, więc może być wykonane przez samą maszynę. Służy do tego specjalny program tłumaczący zwany translatorem. Obecnie do tłumaczenia kodu z języka programowania na język maszynowy używa się dwóch typów programów tłumaczących: kompilatorów i interpreterów. Kompilator przekształca program napisany w języku wysokiego poziomu na program w języku zrozumiałym dla maszyny. W ten sposób otrzymuje się tak zwany kod wynikowy, który może być wykonywany dowolnie wiele razy. W przypadku kompilatorów należy rozróżniać trzy języki: ten, w którym napisano program i który jest mniej lub bardziej zbliżony do naturalnego (kod źródłowy); właściwy dla danego typu komputera język maszynowy, na który tłumaczony jest program (kod wynikowy); język samego kompilatora, którym może być język programu źródłowego lub maszynowy (albo jeszcze jakiś inny). Interpreter natomiast tłumaczy kolejno poszczególne instrukcje programu napisanego w języku wysokiego poziomu (może to być ten sam język, co w przypadku kompilatora), a te są natychmiast wykonywane. Tak więc, odmiennie niż kompilator, który jednorazowo przekształca program w całości, interpreter tłumaczy każdą instrukcję oddzielnie, bezpośrednio przed jej wykonaniem. Interpreter nie generuje programu wynikowego. Dlatego za każdym razem, kiedy wykonuje się 17/64

18 dany program, interpreter ponownie musi go tłumaczyć linia po linii. Co więcej, również powtarzające się fragmenty programu muszą być tłumaczone oddzielnie, za każdym razem od nowa. W przypadku interpretera rozróżnia się tylko dwa języki. Jeden - to język programu źródłowego, a drugi - to język, w jakim został napisany sam interpreter. Nie wyodrębnia się kodu wykonywalnego, gdyż jest on podawany stopniowo, w miarę jak mikroprocesor zgłasza taką potrzebę. Programy interpretowane wykonują się wolniej niż kompilowane, ale interpreter, jako środowisko programowania i uruchomieniowe, jest bardziej elastyczny, gdyż wszelkie błędy (termin przejęty z angielskiego: bug - pluskwa) mogą być wyłapywane i poprawiane już w trakcie normalnego wykonywania programu. Techniki programowania rozwijały się równolegle do ewolucji komputera. Pierwsze języki starały się maksymalnie wykorzystać niewielką moc ówczesnych procesorów oraz skromne możliwości systemów operacyjnych. W tamtym czasie do programowania używano często języka niskiego poziomy zwanego asemblerem (w jęz. angielskim assembler), który jest językiem symbolicznym, lecz ściśle związanym z maszyną, na której program będzie wykonywany. W asemblerze jedna instrukcja tłumaczy się na jedną instrukcję procesora. Mimo tej niedogodności asembler był dobrą alternatywą dla żmudnego wprowadzania do pamięci maszyny nie kończących się ciągów zer i jedynek lub liczb szesnastkowych, z drugiej strony, wpisany weń stopień komplikacji sprawił, że środowisko to było wyłączną domeną wysokiej klasy profesjonalistów. Wprowadzenie asemblera przyczyniło się głównie do tego, że programy stały się czytelniejsze, chociaż do kodu symbolicznego dodano instrukcje nie mające swojego odpowiednika w rozkazach procesora. Służą one do przekazywania informacji kompilatorowi i zostały nazwane "pseudorozkazami". Pseudorozkazem są na przykład te, które określają początek i koniec pewnych części programu (podprogramów i procedur) lub wskazują kompilatorowi sposób wykonania konkretnego zadania. Wkrótce stwierdzono, że język symboliczny nie rozwiązuje ostatecznie problemów związanych z programowaniem, gdyż zmiana procesora wymaga nowego asemblera, dostosowanego do instrukcji nowej maszyny, a programowanie w asemblerze wymaga bardzo dobrego poznania mikroprocesora, jego rejestrów, struktury pamięci i wielu innych rzeczy. Mimo tych wad języki symboliczne są nadal stosowane z dwóch zasadniczych powodów. Po pierwsze, istnieje jeszcze olbrzymia ilość oprogramowania napisanego w tych językach, z którego nie można po prostu zrezygnować. Po drugie, z języków symbolicznych korzysta się do pisania niektórych krytycznych sekcji programów, gdyż dzięki temu, że stoją blisko języka wewnętrznego maszyny, mają bardzo wydajny kod, co pozwala budować zajmujące niewiele miejsca i szybko działające programy, specjalnie dostosowane do danego modelu. Reasumując można powiedzieć, że programowanie w języku maszynowym lub symbolicznym ma pewne zalety (lepsze dostosowanie do sprzętu, maksymalna prędkość działania, minimalne zajęcie pamięci), ale i znaczne wady (niemożność napisania kodu nie związanego z maszyną, wyższy stopień trudności przy pisaniu programu oraz w rozumieniu kodu programu). Kolejny krok naprzód w dziedzinie programowania nastąpił wraz z pojawieniem się języków wysokiego poziomu. Ponieważ języki te nie są tak ściśle związane z konkretną maszyną, programista znający którykolwiek z nich jest w stanie zaprogramować dowolny komputer, pod warunkiem, że istnieje odpowiedni dla niego kompilator lub interpreter. Zazwyczaj kompilatory języków wysokiego poziomu działają dwuetapowo. W pierwszej fazie kod źródłowy jest przekształcany do pewnej postaci pośredniej, również niezależnej od maszyny. W drugiej fazie, otrzymany w ten sposób kod pośredni jest tłumaczony na kod wewnętrzny maszyny, na której ma być wykonywany dany program. W ten sposób, zmieniając jedynie program tłumaczący w drugiej fazie, niewielkim wysiłkiem można przekształcić dany kod do postaci różnych języków maszynowych. 18/64

19 Pierwsze języki wysokiego poziomu, jak COBOL, FORTRAN i APL, pochodzą z lat pięćdziesiątych i sześćdziesiątych. Choć znacznie uprościły proces, w praktyce nie wyszły poza krąg zastosowań zawodowych. Wszystkie języki programowania - również asembler - muszą być tłumaczone na język zrozumiały dla komputera, a ten rozumie tylko ciągi zer i jedynek i jedynie na nich operuje. Obecnie oprócz języków dysponujących zarówno kompilatorem jak i interpreterem, na przykład BASIC, stosowane są inne, tradycyjnie interpretowane, np. APL, oraz takie, które są niemal wyłącznie kompilowane, np. COBOL i FORTRAN. W miarę pojawiania się na rynku kolejnych języków wysokiego poziomu użytkownicy stwierdzili, że do konkretnych zadań jedne były lepsze od innych. Dlatego też COBOL stał się ulubionym narzędziem do tworzenia aplikacji dotyczących zarządzania, podczas gdy FORTRAN rozpowszechnił się jako język do prac naukowo-technicznych dzięki łatwości, z jaką radzi sobie z wyrażeniami i skomplikowanymi działaniami matematycznymi. Pomimo że języki, o których wyżej mowa, są nadal stosowane, to obecnie zawodowi programiści korzystają zazwyczaj z bardziej rozwiniętych języków wysokiego poziomu, w szczególności dla środowiska komputerów osobistych PC, które bardzo upraszczają programowanie. Takimi językami są np. PASCAL i C, choć ten ostatni jest stopniowo wypierany przez swoją wydajniejszą odmianę C++. Innym, szybko rozpowszechniającym się językiem, jest JAVA. Z założenia przeznaczony do wykorzystania w Internecie, umożliwia jednak konstruowanie złożonych aplikacji. Główne cechy wyróżniające język JAVA to przenośność pomiędzy różnymi platformami sprzętowymi i systemami operacyjnymi oraz czytelny kod źródłowy programów napisanych w tym języku. Do tworzenia stron Internetu korzysta się również z innego języka - HTML (angielski skrót nazwy Hypertext Markup Language). Oferuje on mniej możliwości niż Java, a zasadniczym jego przeznaczeniem jest właśnie tworzenie stron WWW. Odpowiedzią na konieczność szybkiego i łatwego konstruowania złożonych programów było pojawienie się na rynku tzw. języków programowania wizualnego. Są to narzędzia, które na bazie języków wysokiego poziomu, takich jak BASIC, PASCAL i C++, pozwalają na budowanie programu przez wybranie obiektów i elementów, które mają pojawić się na ekranie. Główną zaletą języków wizualnych jest to, że udostępniają użytkownikowi środowisko graficzne, pozwalające budować kompletne aplikacje, nawet bez dobrej znajomości skomplikowanej składni danego języka. Spośród tego typu środowisk programistycznych należy wymienić, w szczególności, Delphi i ObjectVision firmy Borland oraz Visual Basic Microsoftu. Czasem narzędzia te są określane także mianem automatycznych generatorów kodu źródłowego. 2.2 Generacje języków programowania. Języki programowania można podzielić na pięć wyraźnie różniących się generacji (niektórzy mówią o czterech). W miarę jak zmieniał się komputer, wystąpiła konieczność dostarczania użytkownikowi narzędzi programistycznych, które umożliwiłyby mu maksymalne wykorzystanie sprzętu. Nie ma jednak pełnej zbieżności chronologicznej między poszczególnymi generacjami języków i sprzętu. Pierwsza generacja - Programowanie pierwszych komputerów akceptujących zmianę oprogramowania odbywało się bezpośrednio w kodzie binarnym, który można przedstawić jako ciągi zer i jedynek. Każdy typ komputera operuje własnym kodem, który dlatego został określony nazwą język maszynowy lub wewnętrzny. I to właśnie stanowi główną wadę tych języków, gdyż programista każdorazowo musi dostosowywać się do języka konkretnej maszyny. Druga generacja - Ponieważ operowanie ciągami zerojedynkowymi nie jest wygodne dla programisty, przypisano im łatwiejsze do zrozumienia znaki mnemotechniczne. Tak narodziły się 19/64

20 języki symboliczne, zwane też asemblerami. Choć stanowią proste tłumaczenie języka maszynowego na symbole i są ściśle związane z danym modelem komputera, to ułatwiają pisanie instrukcji i czynią je bardziej czytelnymi. Trzecia generacja - Kolejnym krokiem w rozwoju języków programowania było powstanie języków wysokiego poziomu. Symbole asemblera reprezentujące konkretne instrukcje zostały zastąpione kodem nie związanym z maszyną, bardziej zbliżonym do języka naturalnego lub matematycznego. Czwarta generacja - Na czwartą generację języków programowania składa się szereg narzędzi, które umożliwiają budowę prostych aplikacji przez zestawianie prefabrykowanych modułów. Obecnie wielu specjalistów uważa, że nie są to języki programowania w ścisłym znaczeniu, gdyż częstokroć stanowią jedynie rozszerzenie języków już istniejących. Niektórzy autorzy proponują stosować nazwę czwarta generacja wyłącznie w odniesieniu do programowania obiektowego (OOP). Piąta generacja - Nazwę język piątej generacji stosuje się czasem w odniesieniu do języków używanych do tworzenia programów wykorzystujących tzw. sztuczną inteligencję (AI) lub inaczej - systemów ekspertowych. 2.3 Podstawowe definicje. Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich użycia. Język, który jest stosowany do przetwarzania algorytmów nosi nazwę języka algorytmicznego, a przy zastosowaniu go do celów programowania określony jest jako język programowania. Ponieważ komputer posługuje się językiem binarnym, tzn. rozróżnia stany 0,1, program w języku programowania należy przetworzyć tak, aby był zrozumiały dla maszyny zadaniem tym zajmują się translatory. Język programowania - zbiór zasad składni, instrukcji, dzięki którym powstaje kod źródłowy programu. Procesor jest w stanie wykonywać program w kodzie maszynowym. Jednakże tworzenie programów w tym języku jest praktycznie niemożliwe. Dlatego programista używa języka zrozumiałego dla człowieka, który następnie jest kompilowany bądź interpretowany do postaci maszynowej. Istnieje wiele rodzajów języków programowania. Można je podzielić na języki strukturalne i obiektowe. Innym kryterium podziału jest zastosowanie języków (innych używa się do tworzenia programów multimedialnych, a innych do obliczeń numerycznych czy np. aplikacji sieciowych). Niektóre z języków są bardziej uniwersalne niż inne. Język niskiego poziomu (angielskie low-level language) język programowania, w którym środki strukturalizacji kodu są ograniczone do co najwyżej podprogramów i makroinstrukcji. Polecenia w nim są zapisywane symbolicznie, a jednemu rozkazowi dla komputera odpowiada jeden rozkaz programisty. Do języków niskiego poziomu zalicza się języki adresów symbolicznych, czyli asemblery. Poziom języków programowania nie określa jego jakości, lecz rodzaj zastosowań. Język wysokiego poziomu (angielskie high-level language) język programowania, zazwyczaj o budowie blokowej, spełniający wymagania programowania strukturalnego, programowania z użyciem obiektów lub nawet programowania obiektowego. Typowymi i najczęściej używanymi językami wysokiego poziomu są języki: C, C++, Smalltalk, Java, Pascal i Lisp, lecz również języki specjalizowane, np. język SQL służący do formułowania zapytań do baz danych lub edukacyjny język Logo. Istnieje wiele modyfikacji języków starszej generacji, np. Fortranu, Basica lub Cobolu, które po unowocześnieniu spełniają w zupełności kryteria języków wysokiego poziomu. Cechą znamienną dla nich jest możliwość bezpieczniejszego programowania, tj. programowania mniej 20/64

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

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

2014-10-15. Historia komputera. Architektura komputera Historia komputera. Historia komputera. Historia komputera. Historia komputera

2014-10-15. Historia komputera. Architektura komputera Historia komputera. Historia komputera. Historia komputera. Historia komputera Architektura komputera dr inż. Tomasz Łukaszewski 1 2 500 p.n.e: pierwsze liczydło (abakus) Babilonia. 1614kostkiJohnaNapiera szkockiego matematyka pozwalające dodawać i odejmować 3 4 1621suwak logarytmicznyopracowany

Bardziej szczegółowo

Komputery. Komputery. Komputery PC i MAC Laptopy

Komputery. Komputery. Komputery PC i MAC Laptopy Komputery Komputery PC i MAC Laptopy 1 Spis treści: 1. Komputery PC i Mac...3 1.1 Komputer PC...3 1.2 Komputer Mac...3 2. Komputery przenośne...4 2.1 Laptop...4 2.2 Netbook...4 2.3 Tablet...5 3. Historia

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. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow. Informatyka Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl 1 Program zajęć Wykład: Wprowadzenie Budowa i działanie sprzętu komputerowego

Bardziej szczegółowo

Wstęp do Informatyki. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Wstęp do Informatyki. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Wstęp do Informatyki dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Literatura 1. Brookshear, J. G. (2003). Informatyka w ogólnym zarysie. WNT, Warszawa. 3. Małecki, R. Arendt D. Bryszewski A. Krasiukianis

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

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

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

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

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

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

Podstawy informatyki. Podstawowe pojęcia Historia informatyki

Podstawy informatyki. Podstawowe pojęcia Historia informatyki Podstawy informatyki Podstawowe pojęcia Historia informatyki Plan wykładu Historia, budowa i rodzaje komputerów Systemy operacyjne budowa i użytkowanie Oprogramowanie, licencje Przetwarzanie tekstów Arkusze

Bardziej szczegółowo

Przeszłość i przyszłość informatyki

Przeszłość i przyszłość informatyki Przeszłość i przyszłość informatyki Rodzaj zajęć: Wszechnica Popołudniowa Tytuł: Przeszłość i przyszłość informatyki Autor: prof. dr hab. Maciej M Sysło Redaktor merytoryczny: prof. dr hab. Maciej M Sysło

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

Pracownia Komputerowa. Wyk ad I Magdalena Posiada a-zezula

Pracownia Komputerowa. Wyk ad I Magdalena Posiada a-zezula Pracownia Komputerowa Wyk ad I Magdalena Posiada a-zezula Kontakt Zak ad Cząstek i Oddzia ywań Fundamentalnych pok 4.20, Pasteura 5. http://www.fuw.edu.pl/~mposiada email: Magdalena.Posiadala@fuw.edu.pl

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

Technologie Informacyjne

Technologie Informacyjne page.1 Technologie Informacyjne Wersja: 4 z drobnymi modyfikacjami! Wojciech Myszka 2013-10-14 20:04:01 +0200 page.2 Cel zajęć Cele zajęć: Uaktualnienie i ujednolicenie wiedzy/terminologii oraz zdobycie

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

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

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

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład I: Kodowanie liczb w systemach binarnych 1 Część 1 Dlaczego system binarny? 2 I. Dlaczego system binarny? Pojęcie bitu Bit jednostka informacji

Bardziej szczegółowo

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow. Informatyka Prowadzący: Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl 1 Program zajęć Wykład: Wprowadzenie Budowa i działanie sprzętu komputerowego

Bardziej szczegółowo

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

PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA

PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA PRZESŁANKI I PIERWSZE KONCEPCJE AUTOMATYCZNEGO LICZENIA Pierwszą maszyną cyfrową, w której operacje wykonywane były za pomocą układów elektronicznych, był ENIAC (Electronic Numerioal Integrator And Computer)

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Jak liczono dawniej? 1

Jak liczono dawniej? 1 Jak liczono dawniej? 1 SPIS TREŚCI PALCE... 3 KAMIENIE... 4 SYSTEM KARBOWY... 5 ABAKUS:... 6 MECHANICZNY KALKULATOR LEONARDA DA VINCI:... 7 TABLICE NAPIERA:... 8 SUWAK LOGARYTMICZNY:... 9 MECHANICZNY KALKULATOR

Bardziej szczegółowo

Komputery to w dzisiejszych czasach urządzenie praktycznie nie do zastąpienia, trudno sobie wyobrazić pracę bez tego urządzenia. Niezwykła popularność uzyskały całkiem niedawno. To jak bardzo są przydatne

Bardziej szczegółowo

Pytania do egzaminu część historyczna [Na podstawie: http://www.historiainformatyki.za.pl/kalendarium.html]

Pytania do egzaminu część historyczna [Na podstawie: http://www.historiainformatyki.za.pl/kalendarium.html] Pytania do egzaminu część historyczna [Na podstawie: http://www.historiainformatyki.za.pl/kalendarium.html] 1500 Leonardo da Vinci wykonuje szkic prostego kalkulatora mechanicznego. 1600 John Napier buduje

Bardziej szczegółowo

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

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

Opracował: Jan Front

Opracował: 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ół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

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

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: TECHNOLOGIA INFORMACYJNA 2. Kod przedmiotu: Ot 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Informatyka

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

PRACA ZALICZENIOWA Z WORDA

PRACA ZALICZENIOWA Z WORDA PRACA ZALICZENIOWA Z WORDA Wykonał: mgr Henryk Janeczek Olesno, 2011 Test zaliczeniowy z Worda spis treści Numerowanie, punktory.. 3 Tabela. 4 Tekst wielokolumnowy, grafika... 5 Tekst matematyczny, rysunki,

Bardziej szczegółowo

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Technika mikroprocesorowa. Języki programowania mikrokontrolerów Języki programowania mikrokontrolerów Przed rozpoczęciem pisania kodu źródłowego programu należy zdecydować się na wybór określonego języka programowania. Stosuje się dwa rodzaje języków programowania

Bardziej szczegółowo

Algorytmika i programowanie usystematyzowanie wiadomości

Algorytmika i programowanie usystematyzowanie wiadomości Temat 1. Algorytmika i programowanie usystematyzowanie wiadomości Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm, program, specyfikacja zadania, lista kroków, schemat blokowy, algorytm

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

Technologie informacyjne (wyk. 1) Podstawowe pojęcia związane z informatyką, zarys historii informatyki, komputerowy zapis informacji

Technologie informacyjne (wyk. 1) Podstawowe pojęcia związane z informatyką, zarys historii informatyki, komputerowy zapis informacji Technologie informacyjne (wyk. 1) Podstawowe pojęcia związane z informatyką, zarys historii informatyki, komputerowy zapis informacji dr Tomasz Ordysiński ordych@wneiz.pl tomaszordysinski.pl Podstawowe

Bardziej szczegółowo

12:00 1 MAJA 2015, CZWARTEK

12:00 1 MAJA 2015, CZWARTEK Mój wymarzony zawód: 12:00 1 MAJA 2015, CZWARTEK Kacper Bukowski, Uczeń klasy III B Gimnazjum nr 164 z Oddziałami Integracyjnymi i Dwujęzycznymi im. Polskich Olimpijczyków w Warszawie www.kto-to-informatyk.pl

Bardziej szczegółowo

Jako pierwszych do liczenia używano palców.

Jako pierwszych do liczenia używano palców. Jako pierwszych do liczenia używano palców. Kolejnymi przedmiotami do liczenia były kamienie. Małe, okrągłe kamyki mogły być używane do wyrażania większych liczb niż starcza na to palców, a posiadały one

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

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 Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko

Bardziej szczegółowo

Dział II Budowa sieci komputerowej, typologie sieci. Ocena dostateczna. Ocena dobra. Ocena bardzo dobra [1+ 2] [1+ 2+ 3] [1+ 2+ 3+ 4] Uczeń:

Dział II Budowa sieci komputerowej, typologie sieci. Ocena dostateczna. Ocena dobra. Ocena bardzo dobra [1+ 2] [1+ 2+ 3] [1+ 2+ 3+ 4] Uczeń: INFORMATYKA - KLASA II I PÓŁROCZE - umie wymienić elementy zewnętrznej i wewnętrznej budowy komputera. - rozumie, w jakim celu podłącza się elementy zewnętrzne komputera. - rozumie różnicę między informacją

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

Podstawy Informatyki

Podstawy Informatyki Podstawy Informatyki Metalurgia, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl tel. 012 617 28 89 Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 Podstawy Informatyki

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy Informatyki Organizacja prostego komputera dydaktycznego

Podstawy Informatyki Organizacja prostego komputera dydaktycznego Podstawy Informatyki Organizacja prostego komputera dydaktycznego alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 2 Wprowadzenie Architektura maszyny W Rozkazy maszyny W 3 Rozkazy arytmetyczne

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

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

Fascynujący świat komputerów

Fascynujący świat komputerów Barbara Szczepańska INFORMATYKA Barbara Szczepańska Fascynujący świat komputerów Kto wynalazł komputer? Komputery zmieniły ogromnie naszą cywilizację, wpływają bezpośrednio na wiele aspektów naszego życia,

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Programowanie. Oprogramowanie Pojęcia wstępne Programem - sekwencja rozkazów, które instruują komputer, jakie operacje i w jakiej kolejności powinien wykonać, by rozwiązać określony problem. Programowanie

Bardziej szczegółowo

Podstawy Informatyki. Podstawy Informatyki. Warunki zaliczenia. Program wykładów. Metalurgia, I rok. Czym jest informatyka? Z czego się uczyć?

Podstawy Informatyki. Podstawy Informatyki. Warunki zaliczenia. Program wykładów. Metalurgia, I rok. Czym jest informatyka? Z czego się uczyć? Podstawy Informatyki Metalurgia, I rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@metal.agh.edu.pl tel. 012 617 28 89 Konsultacje: poniedziałek, 11.30-13; B-4, pok. 207 PROGRAM ZAJĘĆ

Bardziej szczegółowo

Podział komputerów. Wykład z Technologii Informacyjnych. Piotr Mika

Podział komputerów. Wykład z Technologii Informacyjnych. Piotr Mika Podział komputerów Wykład z Technologii Informacyjnych Piotr Mika Superkomputery Przeznaczone do wykonywania skomplikowanych obliczeń numerycznych, modelowania giełdy, symulacje, modelowanie atmosfery

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Powrót do przeszłości i przyszłości

Powrót do przeszłości i przyszłości Wykład 7 Powrót do przeszłości i przyszłości Krótka (bardzo) historia komputerów: ok. 2600 r. p.n.e. stosowano liczydła zwane abakusami IV w. p.n.e. Euklides w swoim fundamentalnym dziele Elementy podał

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE 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ół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

Historia maszyn liczących

Historia maszyn liczących Historia maszyn liczących pierwsze potrzeby liczenia już w czasach, kiedy ludzie żyli w jaskiniach i lasach (religia, jesienne zbiory). Zaczęto liczyć nacięcia na drewnie, znaki na ścianach pierwszy kalendarz

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

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia Budowa komputera Schemat funkcjonalny i podstawowe parametry Podstawowe pojęcia Pojęcia podstawowe PC personal computer (komputer osobisty) Kompatybilność to cecha systemów komputerowych, która umoŝliwia

Bardziej szczegółowo

Przedmiotowy system oceniania z informatyki

Przedmiotowy system oceniania z informatyki Przedmiotowy system oceniania z informatyki Przedmiotowy system oceniania został skonstruowany w oparciu o następujące dokumenty: Rozporządzenie MEN z dnia 7 września 2004 roku w sprawie zasad oceniania,

Bardziej szczegółowo

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/

Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/ Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

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

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo

Historia komputera. Narzędzia informatyki

Historia komputera. Narzędzia informatyki Historia komputera Narzędzia informatyki 12 października 2015 dr inż. Bartłomiej Prędki Bartlomiej.Predki@cs.put.poznan.pl http://zajecia.predki.com http://ni.predki.com tel. 61 665 2932 pok. 124 CW Konsultacje

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

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

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta 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 Autorzy scenariusza:

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

KIERUNKOWE EFEKTY KSZTAŁCENIA

KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE

WYMAGANIA EDUKACYJNE GIMNAZJUM NR 2 W RYCZOWIE WYMAGANIA EDUKACYJNE niezbędne do uzyskania poszczególnych śródrocznych i rocznych ocen klasyfikacyjnych z INFORMATYKI w klasie II gimnazjum str. 1 1. Algorytmika i programowanie

Bardziej szczegółowo

Przeszłość i Przyszłość Informatyki

Przeszłość i Przyszłość Informatyki Przeszłość i Przyszłość Informatyki Maciej M. Sysło Uniwersytet Wrocławski syslo@ii.uni.wroc.pl Łączą nas ludzie nie maszyny Plan Nie rozstrzygnę : Kto jest ojcem komputerów: Który komputer był pierwszy:

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

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

Lata 40-te. Powstaje pierwszy komputer (I generacja)

Lata 40-te. Powstaje pierwszy komputer (I generacja) K OMPUTER - elektroniczna maszyna cyfrowa, urządzenie elektroniczne, służące do automatycznego przetwarzania informacji (danych) przedstawionych cyfrowo (tzn. za pomocą odpowiednio zakodowanych liczb).

Bardziej szczegółowo

Odniesienie do obszarowych efektów kształcenia 1 2 3. Kierunkowe efekty kształcenia WIEDZA (W)

Odniesienie do obszarowych efektów kształcenia 1 2 3. Kierunkowe efekty kształcenia WIEDZA (W) EFEKTY KSZTAŁCENIA NA KIERUNKU "MECHATRONIKA" nazwa kierunku studiów: Mechatronika poziom kształcenia: studia pierwszego stopnia profil kształcenia: ogólnoakademicki symbol kierunkowych efektów kształcenia

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Krótka historia języków programowania

Krótka historia języków programowania Krótka historia języków programowania Rok Język Twórca, wersje, dialekty, uwagi 1952 asemblery 1957 Fortran 1960 LISP 1960 Algol Algol 60, Algol 68 1960 COBOL 1962 APL 1962 SIMULA 1964 BASIC Do 1959 roku

Bardziej szczegółowo

Przedmiotowy system oceniania i wymagania edukacyjne dla klasy I III z informtyki

Przedmiotowy system oceniania i wymagania edukacyjne dla klasy I III z informtyki Przedmiotowy system oceniania i wymagania edukacyjne dla klasy I III z informtyki Przedmiotem oceniania są: - wiadomości, - umiejętności, - postawa ucznia i jego aktywność. Formy aktywności podlegającej

Bardziej szczegółowo

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

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

Architektura komputerów wer. 7

Architektura komputerów wer. 7 Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik

Bardziej szczegółowo

Języki programowania Bardzo krótka historia Przykłady

Języki programowania Bardzo krótka historia Przykłady Języki programowania Bardzo krótka historia Przykłady Wojciech Myszka, Jakub Słowiński 3 grudnia 2014 Krótkie podsumowanie Co wiemy dotychczas: 1. 2. 3. 4. Trochę z historii komputerów Co to jest komputer.

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

Roman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE

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

Justyna Klimczyk j_klimczyk@poczta.onet.pl Nauczyciel informatyki Szkoła Podstawowa im. Janusza Korczaka w Kleszczowie

Justyna Klimczyk j_klimczyk@poczta.onet.pl Nauczyciel informatyki Szkoła Podstawowa im. Janusza Korczaka w Kleszczowie Justyna Klimczyk j_klimczyk@poczta.onet.pl Nauczyciel informatyki Szkoła Podstawowa im. Janusza Korczaka w Kleszczowie Scenariusz lekcji informatyki klasa V Temat : Zbieramy i opracowujemy dane Cel lekcji:

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo