ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2016 ) prof. nzw. dr hab. inż. Barbara Putz

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

Download "ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2016 ) prof. nzw. dr hab. inż. Barbara Putz"

Transkrypt

1 POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2016 ) prof. nzw. dr hab. inż. Barbara Putz pok. 306, bputz@mchtr.pw.edu.pl Język programowania: C/C++ Środowisko programowania: Qt Creator Wykład 1 : Podstawowe pojęcia, proste programy, instrukcje warunkowe.

2 Informacje organizacyjne 2 ZASADY PROGRAMOWANIA STRUKTURALNEGO TYGODNIOWY WYMIAR ZAJĘĆ Rok ak. Semestr W L P ECTS 2016/2017 I 1 E /2017 II Program, regulamin i harmonogram zajęć, literatura, prezentacje do wykładu: na witrynie przedmiotu ZAP w systemie komunikacji ze studentami (SKS) - tam też będą zamieszczane oceny z zajęć laboratoryjnych i egzaminu: (wejście przez login i hasło, które każdy student otrzyma w mailu). Tymczasowo niniejsza prezentacja będzie pod adresem:

3 Zespół prowadzący ćwiczenia laboratoryjne 3 nr pokoju prof. Barbara Putz 306 dr inż. Anna Sztyber 339 dr inż. Marcin Stachura 341 mgr inż. Alicja Cegielska 345 mgr inż. Bartłomiej Fajdek 341 mgr inż. Jan Klimaszewski 307 mgr inż. Maciej Przybylski 307 mgr inż. Kornel Rostek 339 Bliższe dane (godziny konsultacji, ) będą w ogłoszeniach SKS oraz na stronie Instytutu Automatyki i Robotyki:

4 Program wykładu 2 Temat 1: Podstawowe pojęcia i proste programy. Pojęcia algorytmu, programu, kodu wykonywalnego. Kompilacja i wykonanie programu. Sieci działań. Struktura programu. Komentarze i dokumentacja programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Definicje zmiennych. Instrukcje: czytania, pisania, przypisania. Klasyfikacja typów. Stałe, wyrażenia i funkcje standardowe. Instrukcje: warunkowa, złożona. Instrukcje cykliczne: pętla for, pętle sterowane warunkiem. Instrukcje przerywające wykonanie pętli. Instrukcja wielokrotnego wyboru. Temat 2: Tablice, rekordy i pliki. Tablice: definiowanie tablic, zmienna tablicowa i indeksowana. Operacje na tablicach. Algorytmy sortowania i przeszukiwania w tablicach, porównanie złożoności obliczeniowej. Struktury i rekordy, operacje wykonywane na rekordach. Definiowanie plików, zasady dostępu, operacje wejścia wyjścia. Temat 3: Funkcje i rekurencja. Zasady definiowania i wywołania funkcji. Funkcje z typem i funkcje typu void. Parametry formalne i aktualne. Wiązanie parametrów przez wartość i referencję. Zasięg nazw, zasłanianie. Rekurencja jako jedna z podstawowych technik konstruowania algorytmów. Zasada działania rekurencji i warunek końca. Przykłady algorytmów rekurencyjnych.

5 Program wykładu (c.d.) 3 Temat 4: Wskaźniki i listy. Zmienne dynamiczne i wskaźniki. Przydział i zwalnianie pamięci. Dynamiczna rezerwacja tablic. Listy jednokierunkowe: zasada tworzenia, podstawowe operacje na listach. Listy dwukierunkowe i cykliczne. Iteracyjne i rekurencyjne algorytmy przetwarzania list. Temat 5: Struktury drzewiaste. Drzewa binarne i binarne drzewa sortowane (BST). Podstawowe operacje na drzewach z wykorzystaniem rekurencji. Drzewa wyważone (AVL i RBT). Kopce, B-drzewa, zastosowania do baz danych. Złożoność obliczeniowa. Temat 6: Przegląd algorytmów, algorytmy grafowe. Przegląd zasad konstruowania algorytmów: programowanie typu dziel i zwyciężaj, programowanie dynamiczne, algorytmy z powrotami, metody zachłanne. Grafy i algorytmy grafowe: problem najkrótszej ścieżki, minimalne drzewa rozpinające grafów. Temat 7: Wstęp do ZAP II. Modułowa budowa programów. Elementy programowania obiektowego. Temat 8: Przygotowanie do egzaminu. Przykłady zadań egzaminacyjnych z rozwiązaniami. Przegląd najczęściej popełnianych błędów, wskazówki, jak ich unikać.

6 Efekty kształcenia 3 1. WIEDZA: uporządkowana wiedza ogólna obejmująca: kluczowe zagadnienia z zakresu konstrukcji języka strukturalnego i programowania strukturalnego w języku C/C++ zagadnienia konstruowania algorytmów dla prostych zadań przetwarzania danych klasyfikację algorytmów i dobór struktur danych 2. UMIEJĘTNOŚCI: praktyczna umiejętność opracowania algorytmu i wynikającego stąd programu strukturalnego w języku C/C++ (z wykorzystaniem struktur dynamicznych włącznie) dla prostego zadania programistycznego praktyczną umiejętność napisania i uruchomienia w trakcie 45 min. zajęć programu w środowisku C/C++ na podstawie otrzymanego zadania umiejętność posługiwania się kompilatorem i debuggerem 3. KOMPETENCJE SPOŁECZNE: nawyk ustawicznego kształcenia się i wyszukiwania nowych informacji, aby radzić sobie z rozwiązywaniem nowych, nietypowych zadań.

7 Weryfikacja efektów kształcenia 3 1. ZALICZENIE ĆWICZEŃ LABORATORYJNYCH: 2 sprawdziany złożone z części teoretycznej (2 zadania do opracowania w rękopisie) i praktycznej (1 zadanie do uruchomienia w postaci programu na komputerze) każda część do napisania na jednej godzinie zajęć, oceniana w skali 0-6 pkt, max. 2 pkt dodatkowe za aktywność na zajęciach. sprawdzian 1: koniec listopada, sprawdzian 2: koniec stycznia sprawdzian poprawkowy: ostatnie zajęcia (tylko dla jednej części teor. i jednej prakt.) warunek zaliczenia ćwiczeń i dopuszczenia do egzaminu: min. 6 pkt z każdego sprawdzianu (na 12 możliwych). 2. EGZAMIN: część zadaniowa (18 pkt ) - opracowanie w rękopisie 5 zadań wymagających napisania funkcji lub całych programów, czas trwania: 60 minut część testowa (8 pkt) 8 pytań jednokrotnego wyboru z zakresu algorytmów i struktur danych, czas trwania: 5 minut warunek zdania egzaminu: uzyskanie min. 13 pkt łącznie z obu części egzaminu. możliwość zwolnienia z pisemnej części egzaminu: min. 11 pkt z każdego sprawdzianu, min. 23 pkt łącznie. SZCZEGÓŁY: REGULAMIN ZAJĘĆ i HARMONOGRAM będą w SKS, tymczasem:

8 Kompilacja i wykonanie programu 4 zob. anim1.swf Błędy kompilacji jeśli kompilator nie rozumie programu źródłowego. Błędy wykonania programu jeśli program po kompilacji nie daje się wykonać. Błędy logiczne jeśli program wykonuje się nieprawidłowo.

9 Prezentacja algorytmu w postaci sieci działań 6 Algorytmy przedstawiane są z różnym stopniem szczegółowości. Najczęściej stosuje się: opis słowny lub sieci działań (schematy blokowe). Symbole graficzne do budowy sieci działań Przykłady: Początek Koniec Instrukcja Tak Warunek prawdziwy? Nie Rozgałęzienie

10 Program w C/C++ 7 STRUKTURA PROGRAMU # include <iostream> dołączanie plików nagłówkowych bibliotek... using namespace std; int main ( ) { definicje, deklaracje i instrukcje return 0; } // udostępnienie nazw ze standardowych bibliotek // po znakach // wpisujemy komentarze ignorowane przez kompilator funkcja main (główna) - musi być w programie... inne funkcje (przed lub za funkcją main) - niekonieczne SŁOWA KLUCZOWE: ciąg znaków o ściśle określonym znaczeniu; np. (tych będziemy używać): bool break case char const continue do else extern false float for goto if int namespace new not or return short sizeof struct switch true using void while SYMBOLE SPECJALNE: jednoznakowe: + - * / = < > ( ) [ ] { }., ; : ' ^ % ~ dwuznakowe (dwa znaki traktowane jako całość):!= <= >= == && itd.

11 Przykłady programów 8 Najprostsza funkcja main: int main ( ) { return 0; } To samo w innej konwencji zapisu nawiasów klamrowych: int main ( ) { return 0; } 1) Wydrukować większą wartość spośród dwóch wczytanych: 2) Wczytać imię i numer grupy, a następnie wydrukować powitanie: # include <iostream> // dołączamy bibliotekę wejścia-wyjścia using namespace std; // standardowy początek programu int main ( ) { double x, y; // definicje zmiennych rzeczywistych x i y cin >> x >> y; // wczytywanie zmiennych x i y if (x > y) // jeśli x>y cout << x; // wydrukuj x else // w przeciwnym razie cout << y; // wydrukuj y return 0; } #include <iostream> using namespace std; int main ( ) { int nrgrupy; string imie; // definicje zmiennych: całkowitej (int) i napisowej (string) cout << "Podaj imie: \n"; // drukowanie tekstu zapraszającego do pisania i przejście do nowej linii (\n) cin >> imie; // wczytywanie tekstu napisanego przez użytkownika cout << "Podaj numer grupy: " ; // drukowanie tekstu zapraszającego do pisania cin >> nrgrupy; // wczytywanie liczby napisanej przez użytkownika cout << "Witaj " << imie << " w grupie " << nrgrupy << " :) " << endl; // drukowanie powitania return 0; // i przejście do nowej linii (endl) }

12 Środowisko programowania 9 Na zajęciach laboratoryjnych obowiązuje: środowisko programowania Qt Creator z biblioteki Qt w wersji (z roku 2013) biblioteka wieloplatformowa, bezpłatna, typu open source, z kompilatorem MinGW4.7, qt-windowsopensource mingw47_32-x86-offline.exe, do pobrania ze strony: Zmiana wersji językowej: Narzędzia>Opcje>Środowisko>Język Można też używać wersji najnowszej 5.7.0, do pobrania stąd: Tworzymy tylko aplikacje konsolowe: Sesje i projekty > Utwórz projekt > Projekt nieużywający Qt > Zwykły projekt C++ Tymczasowo wprowadzenie do obsługi Qt Creator jest pod adresem:

13 Szkielety aplikacji konsolowych w Qt Creator 10 Szkielet nowego programu po wykonaniu Utwórz projekt > Projekt nieużywający Qt > Zwykły projekt C++ Tu dołączamy ew. inne biblioteki Tę linię możemy usunąć A tu wpisujemy własne definicje i instrukcje Okno wynikowe - po wykonaniu Uruchom : Ctrt-R albo Wynik działania programu (Naci w polskiej wersji językowej skrót od: Naciśnij Enter, aby zamknąć to okno)

14 Zmienne, ich typy i nazwy 14 Zmienną nazywa się daną mogącą przyjmować różne wartości. Każda zmienna występująca w programie ma swoją nazwę i musi mieć określony typ Najprostsze typy zmiennych: całkowite (int) rzeczywiste (double) znakowe (char) 'a' 'A' '?' napisowe (string) "Wcisnij jakis klawisz" "Napisz swoje imie" Znaki w apostrofach pojedynczych, napisy w apostrofach podwójnych. Nazwa zmiennej Dowolny ciąg liter i cyfr zaczynający się od litery (tylko litery alfabetu łacińskiego). Znak podkreślenia jest traktowany jak litera. Małe i duże litery są rozróżniane. Nazwy zmiennych muszą się różnić od słów kluczowych. Nazwy poprawne: a A4 a4 _A4 liczbapunktow przyklad_1 NowyTyp Nazwy błędne: 5gr przykład_1 przyklad-1 a+b a[4] Wszystkie zmienne występujące w programie muszą być zdefiniowane przed ich pierwszym użyciem.

15 Definiowanie zmiennych 15 Definicja zmiennej Informuje o typie zmiennej i przydziela na nią pamięć. Najpierw podaje się typ, a potem wymienia nazwy wszystkich zmiennych tego typu. Definicja zmiennych typ zmienna1, zmienna2,...; Zmienne mogą być definiowane w dowolnym miejscu, jak tylko zajdzie potrzeba ich wykorzystania. Definicja zmiennej może być nawet wpleciona w instrukcje, np. połączona z instrukcją przypisania wartości początkowej (to jest zalecane - przykłady dalej). Przykład definicji zmiennych prostych : int i,j,k; double x1,x2,y1,y2 ; char znak_wczytany, znakwczytany; string nazwa_pliku, nazwapliku, filename; zalecany styl nazwy zmiennych zaczynać z małej litery styl1 styl2 Przykładowy zalecany styl programowania:

16 Wyrażenia arytmetyczne 16 Wyrażenia - zapis tworzony z wykorzystaniem stałych, zmiennych, funkcji i łączących je operatorów i nawiasów okrągłych. OPERATORY ARYTMETYCZNE + - * / % dodawanie odejmowanie mnożenie dzielenie reszta z dzielenia (modulo) lub symbol lub symbol liczby dodatniej liczby ujemnej Resztę z dzielenia można wyznaczyć tylko dla argumentów całkowitych: 5%2 czyli 1 (reszta z dzielenia 5 przez 2=1) 6%3 czyli 0 PRIORYTET OPERATORÓW - wewnątrz jednej pary nawiasów okrągłych 1. jednoargumentowy + oraz - (symbol liczby dodatniej oraz ujemnej) 2. * / % (dodawanie i odejmowanie) Przykłady: b UWAGA: W sytuacjach wątpliwych -b / 2*a oznacza a -b / (2*a) b najpewniejszym sposobem jest 2 -b / 2 / a oznaczają 2a używanie nawiasów okrągłych. Wyrażenie z dwoma jednoargumentowymi minusami -5+3*-8 daje wynik -29, bo kolejność obliczeń odpowiada wyrażeniu (-5) + (3* (-8))

17 Konwersja typów 17 Dzielenie można wykonać dla różnych typów argumentów. W razie potrzeby kompilator dokonuje niejawnej konwersji typów, np. zamienia liczbę rzeczywistą na całkowitą, obcinając ją. UWAGA: dzielenie dwóch liczb całkowitych daje wynik całkowity (!!) powstały przez obcięcie części ułamkowej wyniku dzielenia: 8/3 = /3 = /3 = /3 = Operatory rzutowania postaci: typ (nazwa zmiennej) lub: (typ) nazwa zmiennej służą do jawnej konwersji typów, np. double(x) zamienia dowolny typ zmiennej x na typ double. To samo wykona się dla (double)x. Dzięki temu np. możemy policzyć dokładnie iloraz x/y w przypadku, gdy x i y są typu int, pisząc: double(x)/y albo (double)x/y Można napisać też po prostu: x*1.0/y Ale uwaga: nie wolno napisać tak: double(x/y), to niczego nie zmienia!

18 Instrukcje 18 INSTRUKCJE - polecenia dla komputera - zmuszają go do przetwarzania danych podczas procesu obliczeniowego. UWAGA: w C++ każda instrukcja kończy się średnikiem. Na początek: instrukcja pisania instrukcja czytania instrukcja przypisania instrukcja złożona instrukcja warunkowa

19 Instrukcja pisania (drukowania) 19 Instrukcja drukowania wyników Służy do wyprowadzania wyników (wartości wyrażeń) na standardowe urządzenia wyjściowe komputera (domyślnie na konsolę, czyli monitor ). Wymaga dołączenia pliku nagłówkowego biblioteki iostream (mamy to gotowe w szkielecie Qt): #include <iostream>... cout << wyrażenie1 << wyrażenie2...; W rzeczywistości cout jest obiektem tzw. klas strumieni wejścia-wyjścia, zaś << operatorem, ale dla uproszczenia będziemy mówili o instrukcji drukowania. Np.: cout <<34 <<x << y+5; cout << endl; cout << " Wynik = " << x+2*y <<endl; Funkcja endl oznacza przejście do nowej linii i jest równoważna wstawieniu \n do napisu: cout << " napisz swoje imie " << endl; cout << " napisz swoje imie \n" ;

20 Instrukcja czytania 20 Instrukcja czytania danych Służy do wprowadzania danych (nadawania wartości zmiennym) ze standardowego urządzenia wejściowego komputera (domyślnie z konsoli, czyli klawiatury ). #include <iostream> //... cin >> zmienna1 >>zmienna2...; // UWAGA: // Tu muszą być pojedyncze zmienne, a nie całe wyrażenia! Np.: cin >> x; cin >> y; cin >> x >> y; cin >> znak; równoważne

21 Instrukcja przypisania 21 INSTRUKCJA PRZYPISANIA ( podstawienia ) Służy do nadawania zmiennej nowej wartości: ZMIENNA = WYRAŻENIE; // ta zmienna powinna być wcześniej zdefiniowana lub: typ ZMIENNA = WYRAŻENIE; //a tu definiujemy zmienną i od razu nadajemy jej wartość początkową Typ zmiennej i wyrażenia nie muszą się zgadzać. Np. w przypadku podstawienia wartości rzeczywistej pod zmienną całkowitą następuje obcięcie części ułamkowej - jest to niejawna konwersja typów (niezalecane!) int k = -10.6; // k będzie równe -10 int k = int (-10.6); // k będzie równe -10 zalecany styl jawna konwersja typów Przykłady instrukcji przypisania: k = 3; x = k-4.5; k = k+1; // zwiększ wartość k o 1 double y = 2.5*(x+3)/2; z = a ; imie = "Witold ";

22 Instrukcja złożona 22 INSTRUKCJA ZŁOŻONA (inaczej: blokowa, grupująca) Tworzy z ciągu instrukcji jedną. Można używać jej wszędzie tam, gdzie wolno zastosować tylko jedną instrukcję. { ciąg instrukcji } ciąg instrukcji - instrukcje zakończone średnikami, wykonywane w kolejności zapisania. Przykład instrukcji złożonej: { suma=suma+x; ile=ile+1; } UWAGA: Instrukcja złożona kończy się klamrą, dodatkowy średnik za klamrą nie jest konieczny (ale nie jest błędem).

23 Instrukcje warunkowe - wprowadzenie 23 Instrukcja if Instrukcja if-else if (serce) na_niebiesko ; if (a<0) cout << ujemna ; if (serce) na_niebiesko ; else na_czerwono ; if (a<0) cout << ujemna ; else cout << nieujemna ;

24 Instrukcja warunkowa if 24 Instrukcja warunkowa uzależnia wykonanie instrukcji w programie od spełnienia lub niespełnienia warunku. Najprostsze warunki zawierają wyrażenia arytmetyczne, operatory relacji i nawiasy okrągłe. OPERATORY RELACJI > >= (większy równy) < <= == (równy)!= (nierówny) if (warunek) instrukcja zalecany styl Przykład: if (liczba>0) suma = suma+liczba; Uwaga: tu musi być jedna (!) instrukcja; w szczególności może to być instrukcja złożona: if (warunek) { ciąg instrukcji } zalecany styl Przykład: if (a>0) { s = s+a; k = k+1; }

25 Instrukcja warunkowa if-else 25 if (warunek) instrukcja1 else instrukcja2 zalecany styl Przykład: if (liczba>0) s_dod = s_dod+liczba; else s_niedod = s_niedod+liczba; Uwaga: Każda z powyższych instrukcji musi być jedną (!) instrukcją; w szczególności może to być instrukcja złożona: if (warunek) { ciag_instrukcji_1 } else { ciag_instrukcji_2 } zalecany styl Przykład: if (a>0) { sd = sd+a; kd = kd+1; } else { snd = snd+a; knd = knd+1; }

26 Instrukcje warunkowe zagnieżdżone (1) 26 if (...)... else if (...)... if (serce) na_niebiesko ; else if (trojkat) na_czerwono ; if (a<0) cout << ujemna ; else if (a>0) cout << dodatnia ;

27 Instrukcje warunkowe zagnieżdżone (2) 27 if (a<0) cout << ujemna ; else if (a>0) cout << dodatnia ; else cout << zero ; if (a<0) cout << ujemna ; if (a>0) cout << dodatnia ; else cout << zero ; Błąd logiczny!!!

28 Instrukcje warunkowe zagnieżdżone (3) 28 Przykłady instrukcji warunkowych zagnieżdżonych: if (w1) if (w1) i1 if (w2) else i1 if (w2) else i2 i2; else i3; Obowiązuje zasada: else przyporządkowane jest najbliższemu wstecz if W sytuacjach wymagających zmiany tej zasady konieczne jest ujęcie instrukcji if w klamry {...} : if (w1) { if (w2) i1 } else i2; UWAGA: Również w sytuacjach wątpliwych najpewniejszym sposobem jest tworzenie instrukcji złożonych za pomocą klamer.

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2015 ) prof. nzw. dr hab. inż. Barbara Putz

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2015 ) prof. nzw. dr hab. inż. Barbara Putz POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2015 ) prof. nzw. dr hab. inż. Barbara Putz pok. 306 Język programowania: C/C++ Środowisko programowania:

Bardziej szczegółowo

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2014 ) prof. nzw. dr hab. inż. Barbara Putz

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2014 ) prof. nzw. dr hab. inż. Barbara Putz POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2014 ) prof. nzw. dr hab. inż. Barbara Putz pok. 306 Język programowania: C/C++ Środowisko programowania:

Bardziej szczegółowo

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013. prof. nzw. dr hab. inż. Barbara Putz. Podstawowe pojęcia, najprostsze programy

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013. prof. nzw. dr hab. inż. Barbara Putz. Podstawowe pojęcia, najprostsze programy POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013 prof. nzw. dr hab. inż. Barbara Putz pok. 306 Język programowania: C/C++ Środowisko

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

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

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

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

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

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

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

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

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

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

Bardziej szczegółowo

Podstawy Programowania

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

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2015) Liczby, znaki, napisy, wyrażenia. Pętle typu while.

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2015) Liczby, znaki, napisy, wyrażenia. Pętle typu while. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2015) Język programowania: Środowisko programistyczne: C/C++ Qt Creator Wykład 2: Liczby, znaki, napisy,

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

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

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com Programowanie wykład dla I roku bioinformatyki semestr letni 2013 Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel. 58 523 2466 e-mail: danuta.makowiec at gmail.com Cel bloku

Bardziej szczegółowo

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 2.10.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 2.10.2006 1 / 38 Podstawowe elementy proceduralne w C++ Program i wyjście

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE 1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

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

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne 1 Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

Język C++ Różnice między C a C++

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

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

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while.

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) dr hab. inż. Barbara Putz, prof. PW bputz@mchtr.pw.edu.pl godziny konsultacji: poniedz. 12:30-14:00,

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie. Funkcje Deklaracja funkcji typ funkcji identyfikator_funkcji(lista parametrów formalnych); Typ funkcji określa typ wartości zwracanej przez funkcję (typ zdefiniowany pierwotnie jak int, typ zdefiniowany

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 1 Wprowadzenie, środowisko programistyczne, pierwsze programy 1 CEL ZAJĘĆ LABORATORYJNYCH: Wprowadzenie do programowania w języku C++ oraz

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików

Bardziej szczegółowo

Kontrola przebiegu programu

Kontrola przebiegu programu Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima Uwagi przed sprawdzianem nr 1.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima Uwagi przed sprawdzianem nr 1. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 5 : Algorytmy sortowania. Struktury

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia

Bardziej szczegółowo

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:

Bardziej szczegółowo

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

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 4

Programowanie komputerowe. Zajęcia 4 Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości

Bardziej szczegółowo

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy programowania komputerów Computer programming basics Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne Poziom

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Podstawy algorytmiki i programowania - wykład 4 C-struktury 1 Podstawy algorytmiki i programowania - wykład 4 C-struktury Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

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

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Struktury Struktura polami struct struct struct struct

Struktury Struktura polami struct struct struct struct Struktury Struktura jest zbiorem zmiennych występujących pod wspólna nazwą. Zmienne wchodzące w skład struktury nazywane są polami lub elementami, a czasem członkami struktury. Struktury używamy, jeśli

Bardziej szczegółowo