Programowanie komputerów



Podobne dokumenty
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Technologie informacyjne - wykład 12 -

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

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Języki i metodyka programowania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

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

Metody Kompilacji Wykład 1 Wstęp

Definicje. Algorytm to:

Podstawy programowania wykład

Java EE produkcja oprogramowania

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

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

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

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

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

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Metodyki i techniki programowania

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Algorytmy od problemu do wyniku

Programowanie w języku Python. Grażyna Koba

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

Informatyka. Michał Rad

Algorytm. Krótka historia algorytmów

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Translacja wprowadzenie

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

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

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

Podstawy programowania

Zapisywanie algorytmów w języku programowania

ALGORYTMY I PROGRAMY

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

Wstęp do programowania

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Metodyki i techniki programowania

Podstawy programowania. Wprowadzenie

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Język programowania PASCAL

EGZAMIN MATURALNY 2011 INFORMATYKA

Podstawy i języki programowania

Programowanie i techniki algorytmiczne

Wprowadzenie do inżynierii przetwarzania informacji

Podstawy Informatyki Języki programowania c.d.

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Algorytmika i programowanie usystematyzowanie wiadomości

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Wprowadzenie do programowania

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Podstawy programowania

Algorytmy i struktury danych - opis przedmiotu

Programowanie I. Wprowadzenie. Proces programowania

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

PRZEWODNIK PO PRZEDMIOCIE

Języki programowania zasady ich tworzenia

Opis efektów kształcenia dla modułu zajęć

KARTA KURSU. Wstęp do programowania

Podstawy programowania.

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wstęp do Informatyki dla bioinformatyków

Algorytmy i struktury danych

Algorytm. a programowanie -

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

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

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

Podstawy programowania w Pythonie

Architektura komputerów II - opis przedmiotu

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

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

Ryszard Myhan. Wykład 1: Języki programowania

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Język ludzki kod maszynowy

Podstawy Informatyki Języki programowania

PODSTAWY ALGORYTMIKI

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Cel stosowania metod i środków informatyki

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

Efektywność algorytmów

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

Języki i paradygmaty programowania. I. Wprowadzenie

Ocenianie ciągłe (praca przy Formująca tablicy oraz przy komputerze) pisemne, końcowe zaliczenie pisemne

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

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!

Wstęp do informatyki- wykład 1

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

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

2.8. Algorytmy, schematy, programy

Informatyka. dr inż. Paweł A. Mazurek

PRZEWODNIK PO PRZEDMIOCIE

KONSTRUKCJA KOMPILATORÓW

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Bieżący sylabus w semestrze zimowym roku 2016/17

Transkrypt:

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 email: helena.dudycz@ue.wroc.pl helena.dudycz@gmail.com budynek Z pokój: 620 Algorytm, język programowania, program, programowanie Translator (kompilator, interpreter) Podstawowe typy błędów programu Języki programowania: składnia i semantyka Wykłady Program Materiały z wykładów hdudycz.wordpress.com Ocena z wykładów: kolokwium (plus laboratoria) Kolokwium: 19 grudnia 2011 Literatura Wróblewski P., Algorytmy: struktury danych i techniki programowania, wyd 4. Wydawnictwo Helion, Gliwice 2009 Kingsley-Hughes A., Programowanie. Od podstaw, Wydawnictwo Helion, Gliwice 2005. Informatyka ekonomiczna, red. Stanisław Wrycza, Polskie Wydawnictwo Ekonomiczne, Warszawa 2010 Malina W., Szwoch M., Metodologia i techniki programowania, Wydawnictwo PWN, Warszawa 2008 Treichel W., Visual Basic dla studentów. Podstawy Programowania w Visual Basic 2010, Wydawnictwo WITKOM, Warszawa 2011 MSDN Library http://msdn.microsoft.com, http://www.microsoft.com/enable/products/docs Jest ponad 2000 opublikowanych języków programowania. 1

Laboratoria Plan wykładu Język programowania: Visual Basic MSDN - Visual Studio 2010 Ultimate (Visual Basic Express wersja darmowa) Omówienie programu, literatura, zaliczenie Etapy rozwiązywania problemów Algorytm, język programowania, program, programowanie Translator (kompilator, interpreter) Podstawowe typy błędów programu Etapy rozwiązywania problemów (od problemu do programu) 1. Sformułowanie zadania 2. Określenie danych wejściowych 3. Określenie celu, czyli wyniku (dane wyjściowe) 4. Poszukiwanie metody rozwiązania czyli algorytmu 5. Przedstawienie algorytmu 6. Programowanie (czyli zapis algorytmu w języku programowania) oraz testowanie Algorytmika Podstawowy dział informatyki poświęcony poszukiwaniom, konstruowaniu i badaniom algorytmów, zwłaszcza w kontekście ich przydatności do rozwiązywania problemów Jest to nauka o sposobach rozwiązywania problemów Algorytm To przepis postępowania prowadzący do rozwiązania konkretnego zadania; zbiór poleceń dotyczących pewnych obiektów (danych) ze wskazaniem kolejności w jakiej mają być wykonane. To zbiór reguł postępowania, które realizowane są zgodnie z ustalonym porządkiem, umożliwiającym rozwiązanie określonego zadania lub jednoznaczne stwierdzenie, że było ono nierozwiązywalne na gruncie przyjętych ograniczeń. Odpowiada na pytanie jak to zrobić postawione przy formułowaniu zadania. Istota algorytmu polega na rozpisaniu całej procedury na kolejne, możliwie elementarne kroki. W procesie wyznaczania rozwiązania zadania według ustalonego algorytmu wyróżniamy dane początkowe (dane wejściowe), wyniki pośrednie, wynik końcowy (dane wyjściowe). UWAGA: Algorytmiczne myślenie można kształtować niezależnie od programowania komputerów, chociaż każdy program komputerowy jest zapisem jakiegoś algorytmu. 2

Język programowania Pozwala na precyzyjny zapis algorytmów oraz innych zadań, które ma wykonać komputer. Służy do dialogu pomiędzy programistą a komputerem. Stanowi zbiór zasad. Podobnie, jak języki naturalne, składa się ze zbiorów reguł syntaktycznych oraz semantycznych, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Pierwszym językiem był kod binarny, składający się z ciągu rozkazów w postaci zer i jedynek. Program komputerowy (kod źródłowy) To logicznie uporządkowany ciąg instrukcji języka programowania realizujący algorytm. Jest zbiorem instrukcji (algorytmem) zapisanym w odpowiednim języku, który jest zrozumiały i możliwy do wykonania dla komputera. Jest on zapisany w pliku źródłowym (w przypadku języka Pascal posiada on rozszerzenie *.pas). Niklaus Wirth Programowanie Algorytmy + struktury danych = programy Programy stanowią skonkretyzowane sformułowanie abstrakcyjnych algorytmów na podstawie określonej reprezentacji i struktury danych Zespół czynności mających na celu utworzenie programu dla komputera. Przekształcenie algorytmu do postaci wykonywalnej przez komputer. Elementy procesu programowania Translator Program lub grupa programów służąca do translacji, czyli tłumaczenia kodu jednego języka na kod innego języka. Postać źródłowa (program źródłowy) program, który jest poddawany translacji. Postać wynikowa (program wynikowy) program, który otrzymujemy po działaniu translatora. 3

Podział translatorów Kompilator Schemat działania kompilatora To narzędzie (program), które tłumaczy (konwertuje) kod źródłowy na instrukcje maszynowe zrozumiałe dla komputera (Pascal, C/C++, Fortran). Kod źródłowy jest tłumaczony do postaci kodu maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania. Schematyczny przebieg powstawania programu Interpreter Przetwarza osobno każdą pojedynczą instrukcję czyli następuje wykonywanie przez maszynę od razu kolejnych instrukcji kodu źródłowego. Dlatego w przypadku języków interpretowanych nie powstaje plik o rozszerzeniu EXE. Rozwiązania pośrednie generowany jest kod pośredni, interpretowany przez procesor wirtualny (Java). Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania. 4

Działanie interpretera Konsolidacja I Faza. Pobranie linii zawierającej rozkaz. Interpreter sprawdza poprawność(składnię) rozkazu. II Faza. Tłumaczenie rozkazu na postać binarną. III Faza. Wykonywanie rozkazu binarnego przez procesor komputera. Trzy poziomy błędów I Poziom: błędy kompilacji programu II Poziom: błędy wykonania programu III Poziom: błędy logiczne programu Błąd Błąd Błędy Błędy składniowe (kompilacji lub interpretacji, program nie działa) Błędy wykonania programu (runtime errors, program czasami działa) Błędy logiczne (program działa ) Błędy danych Rada 1. Nie można się nauczyć programowania bez samodzielnego pisania programów! Rada 2. Nauka programowania nie polega na nauczeniu się na pamięć instrukcji danego języka programowania. Nauka programowania polega na zrozumieniu zasad działania instrukcji danego języka programowania oraz na umiejętnym ich zastosowaniu. 5