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!



Podobne dokumenty
Wstęp do programowania

Podstawy i języki programowania

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

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

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

Praktyka Programowania

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Podstawy programowania wykład

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

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

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Tworzenie oprogramowania

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

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

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

Wstęp do programowania. Wykład 1

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

KARTA KURSU. Wstęp do programowania

Języki i metodyka programowania. Wprowadzenie do języka C

Technologie informacyjne - wykład 12 -

Programowanie Proceduralne

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

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

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

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

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

PROGRAMOWANIE w C prolog

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Podstawy programowania - 1

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

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Podstawy Programowania

Proste algorytmy w języku C

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

Ćwiczenie 1. Przygotowanie środowiska JAVA

Podstawy Programowania

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

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

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

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Algorytm. a programowanie -

Metodyki i techniki programowania

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Metodyki i techniki programowania

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Definicje. Algorytm to:

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Algorytm. Krótka historia algorytmów

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

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

ALGORYTMY I PROGRAMY

Algorytmy i schematy blokowe

Podstawy programowania skrót z wykładów:

Wstęp do Programowania, laboratorium 02

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

Podstawy Programowania. Wykład 1

Programowanie obiektowe i C++ dla matematyków

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

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

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy programowania.

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Podstawy programowania (1)

Programowanie, algorytmy i struktury danych

PRZEWODNIK PO PRZEDMIOCIE

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

Język programowania PASCAL

1 Podstawy c++ w pigułce.

Java EE produkcja oprogramowania

KONSTRUKCJA KOMPILATORÓW

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

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

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

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

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

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Systemy Operacyjne - Operacje na plikach

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Programowanie proceduralne w języku C++ Podstawy

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Podstawy informatyki

Proces tworzenia programu:

1 Podstawy c++ w pigułce.

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Transkrypt:

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...) zasadnicze różnice organizacja kodu programu procedury/funkcje klasy, obiekty sposób zarządzania pamięcią wolna amerykanka środowisko kontrolowane 2 Plan wykładu z lotu ptaka Plan wykładu nieco dokładniej Podstawowy kurs języka C połączony ze wstępem do programowania Tam, gdzie skończy się kurs C (struktury, wskaźniki) zaczniemy mówić o programowaniu obiektowym w języku Java (klasy, obiekty) Kontynuacja wykład o programowaniu obiektowo- zdarzeniowym w przyszłym semestrze. Budowanie programów w języku C Struktura programu i podstawowe typy danych Zmienne, stałe, literały Operatory i wyrażenia Sterowanie wykonaniem programu Funkcje Złożone typy danych Wskaźniki i zarządzanie pamięcią w języku C Budowanie programów w języku Java Obiektowa organizacja kodu klasy i obiekty 3 4

Środowisko programistyczne Polecana literatura Przykłady uruchamiane w terminalu systemu operacyjnego Linux Używany kompilator: gcc (GNU C Compiler) Sugerowany edytor tekstowy w trybie graficznym jedit (napisany w języku Java) w trybie tekstowym np. nano, pico, vim lub wbudowany edytor programu Midnight Commander Brian W. Kerninghan, Dennis M. Ritchie, Język ANSI C, WNT 2004 Bruce Eckel, Thinking in C++,, rozdział poświęcony językowi C, Helion 2002. Książka dostępna za darmo w wersji elektronicznej (po angielsku) Chuck Allison, Thinking in C, prezentacja flashowa dostępna do pobrania ze strony: http://mindview.net/cds/thinkinginc/beta3 W dalszej części wykładu (oraz laboratoriów) korzystać również będziemy ze zintegrowanego środowiska programistycznego Eclipse 5 6 Algorytmy Prezentacja/zapis algorytmó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 polecenia te mają być wykonane Algorytmy można formułować (i wykonywać) niezależnie od programowania komputerów,, np. pisemne sposoby wykonywania operacji arytmetycznych na liczbach dziesiętnych różnego rodzaju procedury administracyjne np. algorytm rejestracji samochodu... Najczęściej spotykane metody: język naturalny (opis słowno-muzyczny ) pewna konwencja notacyjna ( pseudo-kod pseudo-kod ) schematy blokowe lub sieci działań (notacja graficzna) język programowania (C, Java, C#, PHP,...) 7 8

Prosty przykład Kilka słów na temat przykładu opis schemat blokowy Obliczanie średniej arytmetycznej dwóch liczb: 1. Rozpocznij obliczenia 2. Wczytaj wartości argumentów: a i b 3. Oblicz wartość wynik = (a+b)/2 4. Zapisz wynik 5. Zakończ obliczenia start wczytaj(a) wczytaj(b) wynik =(a+b)/2 zapisz(wynik) początek obliczeń operacja wejścia operacja/instrukcja prosta operacja wyjścia Algorytm obliczania średniej arytmetycznej jest przykładem algorytmu liniowego nie zawiera rozgałęzień (punktów podejmowania decyzji) nie zawiera nawrotów (pętli( pętli) ) pozwalających na wielokrotne wykonywanie jakiegoś podciągu operacji Algorytmy liniowe to najprostsza, z punktu widzenia programisty, klasa algorytmów; w pierwszej fazie wykładu do niej się ograniczymy Mówiąc o strukturach kontrolnych w języku C, dowiemy się, jak tworzyć zarówno rozgałęzienia, jak i pętle stop koniec obliczeń 9 10 komentarz pomijany przez kompilator 11 12

dyrektywa preprocesora Funkcja main program główny 13 14 Budujemy i uruchamiamy HelloWorld kompilacja (i parę innych rzeczy...) gcc hello.c o hello opcja o ustala nazwę programu wykonywalnego będącego wynikiem działania polecenia gcc uruchomienie programu./hello Ciąg instrukcji treść programu głównego 15 16

Kompilacja z ostrzeżeniami Tradycyjne Hello World Bardzo przydatną opcją kompilatora gcc jest przełącznik Wall Wall, który powoduje, że informowani jesteśmy o wszystkich ewentualnych ostrzeżeniach gcc Wall hello.c o hello W funkcji `main,: 7: ostrzeżenie: control reaches end of non-void function Czyli po ludzku : kompilator zauważył, że funkcja main nie zwraca żadnego wyniku chociaż powinna... Funkcja main powinna zwrócić (jako wynik) liczbę całkowitą tzw. kod wyjścia 17 18 Hello World zgodne z ANSI C return 0; Kod wyjścia z programu Wartość 0 oznacza, że wykonanie programu zakończyło się sukcesem Wartość różna od 0 oznacza niepowodzenie znaczenie poszczególnych wartości błędnych nie jest ustalone przez standard ANSI C dzięki użyciu różnych kodów błędów możemy precyzyjnie poinformować otoczenie programu o przyczynie niepowodzenia Kod wyjścia może być wykorzystany przez inne programy do ustalenia jakim wynikiem zakończyło się wykonanie naszego Hello World. 19 20

Anatomia programu w C Anatomia programu w C Program w języku C (oraz innych językach proceduralnych ) jest zbiorem funkcji zwanych inaczej procedurami lub podprogramami Na ogólną strukturę programu, poza funkcjami, składać się mogą jeszcze deklaracje zmiennych i stałych oraz (opcjonalnych) zmiennych globalnych definicje typów (np. struktur) program może być zawarty w kilku plikach źródłowych Funkcja to ciąg instrukcji otoczony nawiasami {... main() jest szczególnym przypadkiem funkcji, od jej wywołania i wykonania jej instrukcji rozpoczyna się wykonanie programu dyrektywy preprocesora komentarze /*... */ Instrukcje (występują jedynie wewnątrz funkcji) podstawienie instrukcje sterujące 21 22 Schemat budowania programu w C Składniki programu pliki nagłówkowe Pliki nagłówkowe errno.h moje.h stdio.h Pliki źródłowe glowny.c menu.c Pliki obiektowe glowny.o menu.o Plik wykonywalny (program) program Pliki nagłówkowe *.h zawierają deklaracje zmiennych, stałych, funkcji, definicje typów danych, makra itp. Dwa sposoby odwoływania się przez #include: <plik.h> - plik zawierający informacje zdefiniowane w bibliotece systemowej (dostępne dla wszystkich programów); systemowe pliki nagłówkowe położone są w ustalonych katalogach np. /usr/include, /usr/local/include plik.h - plik zawierający informacje zdefiniowane na potrzeby konkretnego programu; pliki tego rodzaju najczęściej znajdują się w bieżącym katalogu 23 24