Podstawy programowania wykład



Podobne dokumenty
Języki i paradygmaty programowania

Technologie informacyjne - wykład 12 -

Metodyki i techniki programowania

Metodyki i techniki 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

Praktyka Programowania

Programowanie komputerów

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

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

Programowanie I. Wprowadzenie. Proces programowania

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!

Podstawy i języki programowania

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

Podstawy programowania

Języki i metodyka programowania

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

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

Środowiska i platformy programistyczne

Definicje. Algorytm to:

dr inż. Jarosław Forenc

Podstawy programowania. Wprowadzenie

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

Wstęp do programowania. Wykład 1

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

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

Podstawy programowania.

E5 potrafi zaprojektować i zaimplementować prosty model

Algorytmy od problemu do wyniku

Algorytm. Krótka historia algorytmów

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

PRZEWODNIK PO PRZEDMIOCIE

ALGORYTMY I PROGRAMY

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

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

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

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

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

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

Algorytmy i schematy blokowe

WYKŁAD 1 - KONSPEKT. Program wykładu:

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

Informatyka. dr inż. Paweł A. Mazurek

Wprowadzenie do programowania

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

Semestr letni Brak Tak

Języki Programowania z Programowaniem Obiektowym wykład (15 godzin/semestr) laboratorium (30 godzin/semestr)

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

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

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

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

Translacja wprowadzenie

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++

Język programowania PASCAL

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Tworzenie oprogramowania

Wstęp do Informatyki dla bioinformatyków

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

Języki programowania II - opis przedmiotu

Wstęp do programowania

Programowanie w języku Python. Grażyna Koba

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Technologia informacyjna Algorytm Janusz Uriasz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Kierunkowy Wybieralny Polski Semestr V

KARTA KURSU. Wstęp do programowania

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

Języki i metody programowania I

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

Wstęp do programowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Podstawy programowania

Język ludzki kod maszynowy

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

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

Języki Programowania z Programowaniem Obiektowym laboratorium (30 godzin/semestr)

Algorytm. a programowanie -

Wykład Ćwiczenia Laboratorium Projekt Seminarium

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

Podstawy Informatyki Języki programowania

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

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

Podstawy Programowania

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

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

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Podstawy Programowania Algorytmy i programowanie

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

Wstęp do Informatyki i Programowania

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Techniki Programowania

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Rok akademicki: 2017/2018 Kod: RIE s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Szablony funkcji i szablony klas

Transkrypt:

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 i ćwiczeń http://moskit.ie.tu.koszalin.pl/~bobby 2

Czym jest programowanie? Programowanie to formułowanie ciągu operacji rozwiązującego dany problem w postaci akceptowalnej przez komputer. inaczej: Proces tworzenia programu (systemu) komputerowego, na który składają się: opracowanie założeń kodowanie testowanie Dobre programowanie łączy elementy inżynierii, rzemiosła i sztuki. 3

Podstawowe pojęcia Algorytm Język programowania Program Kod źródłowy i wynikowy Kompilacja Programowanie strukturalne i obiektowe Środowisko programistyczne 4

Algorytm Algorytm to dokładny, jednoznacznie sformułowany sposób postępowania, umożliwiający rozwiązanie określonego zadania w skończonej liczbie kroków. (zbiór poleceń ze wskazaniem porządku, w jakim mają być realizowane). Słowo algorytm pochodzi od przydomka matematyka arabskiego (IX w.) Al-Chwarizmi (Algorismus, Algorithmus). Zapis algorytmu: w postaci opisu słownego w postaci pseudokodu w postaci schematu blokowego 5

Schematy blokowe Podstawowe symbole START STOP początek lub koniec algorytmu 1 WE WY 1 łącznik operacja wejścia/wyjścia 6

Schematy blokowe Podstawowe symbole blok operacyjny (wykonanie działania) PRAWDA FAŁSZ TAK NIE blok decyzyjny 7

Przykład schematu blokowego SIEĆ DZIAŁAŃ DIAGRAM PRZEPŁYWU DANYCH Start Wczytaj a, b, c Oblicz d b 2 4ac Założenie: a jest różne od 0 TAK d >= 0 NIE x,12 b d 2a x1, x2 Brak pierwiastków rzeczywistych Stop 8

Język programowania Język programowania to zbiór: zasad (tzw. składnia języka) instrukcji operatorów.. dzięki którym powstaje program komputerowy (a ściślej: kod źródłowy programu). 9

Dlaczego powstały języki programowania? Dodaj a do b, wynik zapamiętaj w c 01001101001 10001011011 11010111001 Język naturalny Język maszynowy c = a + b; Język programowania 10

Języki programowania Niskiego poziomu Wysokiego poziomu asembler Lisp Forth SPECJALIZOWANE SQL Prolog STRUKTURALNE Pascal C Modula Visual Basic SKRYPTOWE Perl OBIEKTOWE C++ Java C# Object Pascal Smalltalk Eiffel JavaScript PHP Ruby Python

Program komputerowy Program to ciąg poleceń (instrukcji) do wykonania dla komputera. Program to algorytm zapisany w języku programowania. Program może występować w dwóch postaciach: kod źródłowy kod wynikowy 12

Kod źródłowy i wynikowy Kod źródłowy to zapis programu komputerowego w pewnym języku programowania. Jest to postać programu zrozumiała dla programisty (bez konieczności jego uruchamiania). Kod wynikowy to rezultat pracy translatora (kompilatora, interpretera), nadający się do bezpośredniego wykonywania przez procesor. 13

Kompilacja Kompilacja to proces przekształcania kodu źródłowego na kod wynikowy (maszynowy). Kompilator to translator języka wysokiego poziomu, którego programy wynikowe mogą być wprowadzone do pamięci i wykonane dopiero po zakończeniu tłumaczenia (w odróżnieniu od interpretera, w którym instrukcje wynikowe są wykonywane na bieżąco). 14

Kompilacja kodu źródłowego w C Kod źródłowy *.C, *.H PREPROCESOR KOMPILATOR Kod wynikowy (pośredni) *.OBJ Biblioteki KONSOLIDATOR (LINKER) Kod wynikowy *.EXE 15

Programowanie strukturalne Modularne Program podzielony jest na niewielkie fragmenty (podprogramy) nazywane procedurami lub funkcjami. Programowanie obiektowe Komponentowe Dane i wykonywane na nich operacje są połączone - tworzą tzw. klasę. obiekt 16

Środowisko programistyczne IDE (Integrated Development Environment) Visual Studio.NET C++ Builder NetBeans Eclipse Delphi PowerBuilder JBuilder Kylix RAD (Rapid Application Development) Szybkie tworzenie aplikacji 17

Etapy tworzenia programu POMYSŁ (koncepcja) KONSERWACJA TESTOWANIE strukturalna obiektowa ANALIZA PROBLEMU C PROJEKT (struktury danych, algorytmy) Pascal Wybór języka programowania DOKUMENTACJA KOMPILACJA KODOWANIE OPTYMALIZACJA KODU (szybkość, rozmiar) 18

Język C Historia języka Zaprojektowany w 1972 w Bell Laboratories (Dennis Ritchie). Zrealizowany pod systemem operacyjnym UNIX dla komputera DEC PDP-11. PDP 11/45 Początkowo był językiem oprogramowania systemowego (powstał jako język do programowania systemu UNIX). Szybko zyskał popularność jako uniwersalny język programowania ogólnego przeznaczenia. 19

Zaglądamy do muzeum 20

Zaglądamy do muzeum 21

Język C Główne cechy język proceduralny (strukturalny) język wysokiego poziomu, ale dość bliski sprzętowi zwięzły i elastyczny mały zestaw instrukcji rozbudowany zestaw operatorów duża przenośność kodu źródłowego przerzuca dużą odpowiedzialności na programistę (np. brak wbudowanej kontroli indeksowania tablic) Język C jest jak ostry nóż: w sprawnych rękach narzędzie proste i użyteczne, które jednak może skaleczyć nowicjusza (Andrew Koenig). 22

Język C Standard języka (ANSI C) tzw. pure C ( czysty język C) Standaryzacja w latach 1983-1988 ANSI (American National Standards Institute) Amerykański Narodowy Instytut Normalizacyjny Standard ANSI X3.159-1989 Programming Language C (1988 rok) 23

Literatura B. Kernighan, D. Ritchie: Język ANSI C, WNT, Warszawa, 2000. J. Grębosz: Symfonia C++. Programowanie w języku C++ orientowane obiektowo, Oficyna Kallimach, Kraków, 1999. K. Barteczko: Praktyczne wprowadzenie do programowania obiektowego w języku C++, Wydawnictwo Lupus, Warszawa 1993. B. Stroustrup: Język C++, WNT, Warszawa, 2000. S. Lippman: Podstawy języka C++, WNT, Warszawa, 1997. S. Lippman, J. Lajoie: Podstawy języka C++, WNT, Warszawa 2001. B. Eckel: Thinking in C++. Edycja polska, Wydawnictwo Helion, Gliwice 2002. 24