Podstawy Programowania

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

Programowanie komputerowe. Zajęcia 1

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

Programowanie - wykład 4

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

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

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

Wstęp do programowania. Wykład 1

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

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

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wstęp do informatyki- wykład 7

1 Podstawy c++ w pigułce.

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

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

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

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

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

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

Wstęp do informatyki- wykład 11 Funkcje

Pytania sprawdzające wiedzę z programowania C++

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

1 Podstawy c++ w pigułce.

Struktury Struktura polami struct struct struct struct

I - Microsoft Visual Studio C++

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

Wstęp do informatyki- wykład 9 Funkcje

Część 4 życie programu

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 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

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

Pętla for. Wynik działania programu:

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

C++ wprowadzanie zmiennych

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

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

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

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

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

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Ilość cyfr liczby naturalnej

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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

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

ZASADY PROGRAMOWANIA KOMPUTERÓW

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

Podstawy i języki programowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Wstęp do Programowania 2

C++ - [1-3] Debugowanie w Qt Creator

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wstęp do programowania

tablica: dane_liczbowe

Wstęp do programowania

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

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

Warsztaty dla nauczycieli

C-struktury wykład. Dorota Pylak

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Podstawy Programowania. Wykład 1

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

7. Pętle for. Przykłady

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

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

Podstawy Programowania Algorytmy i programowanie

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

Wstęp do programowania

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

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

C-struktury wykład. Dorota Pylak

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

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

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

Programowanie Obiektowe i C++

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Wykład 1: Wskaźniki i zmienne dynamiczne

Programowanie i struktury danych

Struktura pliku projektu Console Application

Wstęp do programowania

Algorytmy, reprezentacja algorytmów.

Programowanie proceduralne w języku C++ Pętle, tablice

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

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

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

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

Informatyka 2. Informatyka 2. Wykład nr 1 ( ) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

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

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

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

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

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

Lab 9 Podstawy Programowania

Podstawy programowania - 1

Programowanie komputerowe. Zajęcia 4

Transkrypt:

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 Konsultacje: p.323 Materiały: http://www.mat.ug.edu.pl/~mwrzosek Literatura Stephen Prata, "Język C++. Szkoła programowania". Wydanie VI. Helion 2012. Jerzy Grębosz, "Symfonia C++ Standard". Jerzy Grębosz, "Opus Magnum C++11". Kody źródłowe przykładowych programów z książki i ćwiczenia z odpowiedziami: www.ifj.edu.pl/private/grebosz/opus.html Mirosław J. Kubiak, "C++. Zadania z programowania z przykładowymi rozwiązaniami", Helion 2011. Monika Wrzosek (IM UG) Podstawy Programowania 2 / 119

Sprawy organizacyjne Zintegrowane środowisko programistyczne Egzamin Microsoft Visual Studio Inne: Dev C++, Code::Blocks Egzamin pisemny, złożony z zadań i pytań teoretycznych, np.: Przeanalizuj podany program i podaj wynik jego działania. Zmodyfikuj podany program, używając pętli while. Podaj przykład typu fundamentalnego. Zdefiniuj tablicę o elementach typu float złożoną z 10 wierszy i 8 kolumn. Do elementu o indeksie wierszowym 3 i kolumnowym 5 wpisz wartość 4.5. Jaka jest różnica między wskaźnikiem stałym a wskaźnikiem do obiektu stałego? Monika Wrzosek (IM UG) Podstawy Programowania 3 / 119

Sprawy organizacyjne Szkic wykładu Instrukcje sterujące Typy Operatory Tablice Funkcje Rekurencja Wskaźniki Napisy Struktury Struktury dynamiczne Monika Wrzosek (IM UG) Podstawy Programowania 4 / 119

Wprowadzenie Algorytm - skończony ciąg jasno zdefiniowanych czynności elementarnych, koniecznych do wykonania postawionego zadania. Przykład: przepis na ciasto. Dane wejściowe: 200g mąki, 100g cukru, 100g masła, 2 jajka. Dane wyjściowe: ciasto. Lista kroków: 1. Rozgrzej piekarnik do 180 stopni. 2. Wrzuć do miski mąkę, cukier, masło i jajka. 3. Miksuj składniki przez 5 min. 4. Formę do pieczenia wysmaruj masłem i oprósz bułką tartą. 5. Przełóż masę z miski do formy. 6. Formę umieść w piekarniku. 7. Odczekaj 40 min. 8. Wyjmij ciasto i wyłącz piekarnik. Monika Wrzosek (IM UG) Podstawy Programowania 5 / 119

Cechy algorytmów poprawność - algorytm daje oczekiwane wyniki, jednoznaczność - zawsze daje te same wyniki przy takich samych danych wejściowych, skończoność - wykonuje się w skończonej liczbie kroków, sprawność - czasowa (szybkość działania) i pamięciowa Sposoby zapisu algorytmów 1 Lista kroków 2 Pseudokod - metoda pośrednia między 1. i 4. 3 Schemat blokowy 4 Język programowania Monika Wrzosek (IM UG) Podstawy Programowania 6 / 119

Przykład: średnia arytmetyczna dwóch liczb rzeczywistych Sposób 1: lista kroków 1 pobierz pierwszą liczbę 2 pobierz drugą liczbę 3 dodaj liczby do siebie 4 wynik dodawania podziel przez dwa 5 wypisz otrzymaną wartość 6 zakończ Sposób 2: pseudokod 1 pobierz x 2 pobierz y 3 wykonaj działanie (x + y)/2 4 wypisz wynik 5 zakończ Monika Wrzosek (IM UG) Podstawy Programowania 7 / 119

Sposób 3: schemat blokowy Sposób 4a: program w języku C++ #i n c l u d e <i o s t r e a m > i n t main ( ) { f l o a t x, y ; s t d : : c i n >> x ; s t d : : c i n >> y ; s t d : : cout << "Ś r e d n i a a r y t m e t y c z n a wynosi : " << ( x+y ) / 2 ; } Monika Wrzosek (IM UG) Podstawy Programowania 8 / 119

Sposób 4b: program w języku Pascal Program S r e d n i a ; Var x, y : Real ; Begin Readln ( x ) ; Readln ( y ) ; W r i t e l n ( Ś r e d n i a a r y t m e t y c z n a wynosi : ( x+y ) / 2 ) ; End. Sposób 4c: program w języku Python x = f l o a t ( i n p u t ( ) ) y = f l o a t ( i n p u t ( ) ) p r i n t ( "Ś r e d n i a a r y t m e t y c z n a wynosi : ", ( x+y ) / 2 ) Monika Wrzosek (IM UG) Podstawy Programowania 9 / 119

Pierwszy program w C++ #i n c l u d e <i o s t r e a m > using namespace s t d ; int main() { cout << " Witaj w ś w i e c i e C++" ; return 0; } Każdy program musi zawierać specjalną funkcję o nazwie main. Od tej funkcji zaczyna się wykonywanie programu. Definicja funkcji składa się z wiersza int main(), będącego nagłówkiem funkcji oraz ujętej w nawiasy klamrowe { } treści funkcji. Nagłówek to krótki opis interfejsu funkcji. Treść funkcji zawiera instrukcje wykonywane przez tę funkcję. Instrukcje to wyrażenia C++ zakończone średnikami. Ostatnia instrukcja funkcji, return (nazywana instrukcją powrotu), kończy wykonywanie programu. Monika Wrzosek (IM UG) Podstawy Programowania 10 / 119

Pierwszy program w C++ #include <iostream> using namespace std; i n t main ( ) { cout << " Witaj w ś w i e c i e C++" ; r e t u r n 0 ; } Zmienna cout (console out) pozwala wyświetlić komunikat w konsoli. Zapis << oznacza wysłanie komunikatu ujętego w cudzysłowach (Witaj w świecie C++) do cout. Przed użyciem cout należy dołączyć do programu plik iostream, zawierający m.in. definicję cout. Służy do tego dyrektywa #include. Za pomocą dyrektywy using do programu dodajemy standardową (std) przestrzeń nazw. Dzięki temu piszemy krótko cout zamiast std::cout. Monika Wrzosek (IM UG) Podstawy Programowania 11 / 119

Instrukcja deklaracji i instrukcja przypisania #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { i n t i ; i = 5 ; cout << " Zmienna i " ; cout << " o warto ś c i " ; cout << i ; cout << e n d l ; i = i + 1 ; cout << " Teraz zmienna i ma warto ś ć " << i ; r e t u r n 0 ; } Wynik działania programu: Zmienna i o warto ś c i 5 Teraz zmienna i ma warto ś ć 6 Monika Wrzosek (IM UG) Podstawy Programowania 12 / 119

Instrukcja deklaracji i zmienne Aby zapisać w komputerze jakąkolwiek informację, trzeba wskazać położenie tej danej oraz określić ilość zajmowanego przez nią miejsca. Instrukcja int i; mówi, że program potrzebuje tyle pamięci, ile zajmuje liczba całkowita oznaczana nazwą int (ang. integer). Już sam kompilator zajmie się szczegółami alokacji i oznaczenia odpowiedniego miejsca w pamięci. Deklaracja nie tylko określa typ, ale deklaruje nazwę tak, że napotykając dalej na nazwę i, program będzie odnosił się zawsze do tego samego miejsca w pamięci. i to zmienna. W C++ wszystkie zmienne trzeba deklarować. Jeśli jakaś deklaracja zostanie pominięta, kompilator zgłosi błąd. Deklaracja int i; to deklaracja definiująca lub krócej definicja. Monika Wrzosek (IM UG) Podstawy Programowania 13 / 119

Instrukcja przypisania Instrukcja przypisania powoduje przypisanie wartości pewnemu miejscu w pamięci. Instrukcja i = 5; powoduje przypisanie liczby 5 miejscu oznaczonemu jako zmienna i. Symbol = to operator przypisania. Przypisanie wykonywane jest od strony prawej do lewej. W instrukcji i = i + 1 kompilator najpierw wykona działanie znajdujące się po prawej stronie operatora przypisania: i + 1, otrzymując wartość 6. Następnie operator przypisania wstawi tę nową wartość do zmiennej i. Wykonując polecenie cout << i;, program nie wyświetli znaku i, ale pokaże liczbę z tej zmiennej - czyli 5. Monika Wrzosek (IM UG) Podstawy Programowania 14 / 119

Instrukcja cin #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { i n t i ; cout << " Podaj j a k ą ś l i c z b ę " ; c i n >> i ; cout << " Nada ł e ś z m i e n n e j warto ś ć : " << i ; r e t u r n 0 ; } Wynik działania programu w przypadku, gdy użytkownik wpisał z klawiatury 2: Podaj j a k ą ś l i c z b ę Nada ł e ś z m i e n n e j warto ś ć : 2 Monika Wrzosek (IM UG) Podstawy Programowania 15 / 119