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

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

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

Transkrypt

1 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, wyrażenia. Pętle typu while.

2 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. 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.

3 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ć.

4 Literatura uzupełniająca 2 1. P. Wnuk, B. Putz: Informatyka 2 - Programowanie. Wersja w języku C/C++. Multimedialny podręcznik internetowy, OKNO PW, , dostępny online w SKS: 2. B. Putz, A. Putz jr, P. Wnuk : Algorytmy i struktury danych. Multimedialny podręcznik internetowy, OKNO PW, , dostępny online w SKS (jak wyżej). 3. S. Prata: Język C++. Wydanie V, Helion J. Grębosz: Symfonia C++ standard. Tom I. Edition 2000 Kraków, B. Eckel: Thinking in C++. Edycja polska. Helion N. Wirth: Algorytmy+struktury danych=programy. WNT P. Wróblewski: Algorytmy, struktury danych i techniki programowania. Wyd. IV, Helion T.H.Cormen et al.: Wprowadzenie do algorytmów. WNT 2007, PWN 2012 (nowe wydanie).

5 Kompilacja i konsolidacja programu (linkowanie) 3

6 Biblioteki i pliki nagłówkowe 6 Biblioteki dołączamy do programu poprzez dołączanie tzw. plików nagłówkowych. Plik nagłówkowy - plik zawierający deklaracje zmiennych i funkcji tworzących bibliotekę. Standardowy format dołączania plików nagłówkowych typowych dla C++: #include <iostream> // iostream jest nazwą dołączanej biblioteki języka C++ Starszy format dołączania takich plików nagłówkowych: #include <iostream.h> Biblioteki odziedziczone z języka C można dołączać dwojako: w sposób tradycyjny dla języka C: #include <stdlib.h> // stdlib.h jest plikiem nagłówkowym #include <math.h> lub w stylu C++, poprzedzając nazwę biblioteki literą c : #include <cstdlib> #include <cmath> nie należy łączyć w jednym programie obu tych stylów, bo odpowiednie biblioteki nie są równoważne (te w stylu C++ zawierają tzw. szablony)

7 Typy 7 TYP jest zdefiniowany przez zbiór przyporządkowanych mu wartości TYPY predefiniowane (najważniejsze) int - podzbiór liczb całkowitych: (32 bity, czyli od do ) double - podzbiór liczb rzeczywistych: 2.23* * (co do modułu) (64 bity, cyfr znaczących) bool char - dwie wartości: true (lub 1 liczbowo) oraz false (lub 0 liczbowo) - zbiór znaków w kodzie ASCII (8 bitów) Oprócz konwersji (rzutowania) z typu bool na int (jak wyżej) możliwa jest konwersja z typu int na typ bool: wartość równa 0 traktowana jest jako fałsz (false) dowolna wartość całkowita różna od 0 traktowana jest jako prawda (true).

8 Mantysa i cecha mogą być poprzedzone znakiem + lub, np e-5 (czytaj: 1,23 razy 10 do potęgi 5) -543e3 543E e+12 Liczby 8 LICZBY CAŁKOWITE ciąg cyfr poprzedzony znakiem + lub zapis dziesiętny: zapis ósemkowy: 0 przed liczbą: 0107 (7*8 0 +0* *8 2 czyli 71 dziesiętnie) zapis szestnastkowy: 0x przed liczbą: 0x47 (7* *16 1 czyli 71 dziesiętnie) 0xFF (15* *16 1 czyli 255 dziesiętnie) 0xDA (10* *16 1 czyli 218 dziesiętnie) Zatem 107 i 0107 to zupełnie różne liczby! LICZBY RZECZYWISTE - zapisuje się: w postaci dziesiętnej, z kropką zamiast przecinka, np.: w postaci wykładniczej; wówczas składają się z: mantysy - liczba dziesiętna, gdzie w zapisie użyto kropki, a nie przecinka litery e lub E - która oznacza podstawę wykładnika równą 10 cechy - jest liczbą całkowitą, oznacza wykładnik potęgi cecha zawsze jest liczbą dziesiętną (nawet jeśli zaczyna się zerem)

9 Znaki 9 Pojedynczy znak można zapisać następująco: w apostrofach, np. 'A' '@' '0' za pomocą kodu ASCII: każdemu znakowi przyporządkowany jest kod dziesiętny z przedziału <0, 255>; Znaki w kodzie ASCII uporządkowane są następująco: A.. Z... a.. z... UWAGA: Nie ma w tym kodzie polskich znaków diakrytycznych (tzw. ogonkowych) Zależność między typami char i int określa rzutowanie (konwersja), np. (char)255 lub char (225) oznacza znak o kodzie 225, czyli, zaś int ('A') jest równe 65. Ale UWAGA: Przejście ze znaków na ich kody i odwrotnie nie wymaga konwersji: int kod = ' A' ; // zmienna kod przyjmie wartość 65; char zn= 65; zn=zn+1; // zmienna zn to litera 'A' // teraz zn to znak następny w kodzie ASCII, czyli litera ' B'

10 Znaki c.d. 10 W zapisie znaku można też podać kod ósemkowy lub szestnastkowy: np.: '\33' oznacza znak o kodzie ósemkowym 33, czyli Esc '\xe1' oznacza znak o kodzie szestnastkowym e1, czyli Uwaga: jak widać, wpisując kod ósemkowy lub szestnastkowy, po znaku \ nie należy pisać 0 Znaki specjalne (niektóre): \n - przejście do nowej linii \t - tabulacja \b - Backspace \\ - Backslash \' - apostrof \" - cudzysłów \a - sygnał dźwiękowy (alarm) Znaki te można je umieścić wewnątrz napisów lub zapisać w osobno w postaci z pojedynczymi lub podwójnymi apostrofami, np.: znak tabulacji zapisujemy jako '\t' lub "\t" (to ostatnie bardziej czytelne)

11 Wczytywanie znaków 11 Znaki można wczytywać dwojako: tylko znaki widoczne za pomocą instrukcji: cin >> znak; gdzie znak jest zmienną typu char (wczytuje pod zmienną pierwszy widoczny znak) wszystkie znaki widoczne oraz tzw. znaki białe (spacja, Enter, Tab) za pomocą instrukcji: cin.get (znak); gdzie znak jest zmienną typu char Natomiast instrukcja bezargumentowa: cin.get ( ); oznacza: poczekaj na wczytanie jakiegoś znaku; ta instrukcja zatrzymuje więc działanie programu, dopóki nie wciśniemy jakiegoś znaku i nie wyślemy go Enterem (najlepiej od razu wcisnąć Enter). Ponadto: cin.ignore ( ); ignoruje jeden znak w strumieniu wejściowym, co pozwala pominąć np. Enter z wcześniejszego wczytywania znaków.

12 Napisy 12 W języku C++ (ale nie w C) istnieje tzw. umowny typ string: string - określa napis (inaczej: łańcuch, tekst, string) - dowolny ciąg znaków ujęty w cudzysłowy (uwaga: string nie jest słowem kluczowym, traktujemy go umownie jako typ) Napis może zawierać znaki specjalne, np. "napis \" Podaj liczbe \" zacheca do pisania " // napis zawierający w środku cudzysłowy "Podaj promien kola \n" // napis zawierający znak przejścia do nowej linii Napisy można ze sobą porównywać. Wynik jest zgodny z uporządkowaniem w kodzie ASCII, np. "Jan" < "Jon", "Jan" < "Janina" oraz "Jan" < "jan". Niepoprawnie działa jednak porównywanie napisów zawierających polskie znaki diakrytyczne. UWAGA: W niektórych kompilatorach, aby można było korzystać z umownego typu string, trzeba dołączyć bibliotekę <string> - jednak w Qt nie jest to potrzebne. Ale: czym innym jest biblioteka <cstring>, która obsługuje funkcje obsługi napisów typowe dla języka C i nie jest tu używana.

13 Wczytywanie napisów 13 Napisy można wczytywać dwojako: od pierwszego widocznego znaku do pierwszego niewidocznego, białego znaku (odstępu, Entera itp.) za pomocą instrukcji: cin >> napis; linia po linii - za pomocą instrukcji: getline (cin, napis); gdzie napis jest zmienną typu string; gdzie napis jest zmienną typu string; Funkcja getline wczytuje do zmiennej typu string wszystkie znaki w danym wierszu aż do napotkania Entera (ale Entera nie dopisuje do tej zmiennej). string dane; cout << "napisz imie i nazwisko i wcisnij Enter "; cin >> dane; cout << " Witaj, " << dane; // wydrukuje się tylko imie cout << "napisz imie i nazwisko i wcisnij Enter "; getline (cin, dane); cout << " Witaj, " << dane; // wydrukuje się imie i nazwisko

14 Definiowanie stałych 14 STAŁE definiujemy, jeśli chcemy je nazwać i używać ich nazw w programie. Definicja stałych const typ nazwa = wyrażenie; Definicja stałej musi zawierać jej inicjalizację, bo stałych nie można już potem zmieniać. zalecany styl Przykłady definicji stałych: nazwy stałych - tylko wielkie litery i znaki _ const int N = 5; const int K = 2*(N+1); const double XMIN = 0.001; const string PYTANIE = "Czy wykonac ponownie - t/n"; zalecany styl Należy definiować jako stałe wszystkie liczby w programie różne od 0 i 1

15 Wybrane standardowe funkcje matematyczne Wymagają dołączenia biblioteki cmath: #include <cmath> Wyniki działania wszystkich funkcji są typu double 15 M_PI - stała M_E - stała e Nazwa Argumenty Opis acos X arcus cosinus z X (wynik w radianach) asin X arcus sinus z X (wynik w radianach) atan X arcus tangens z X (wynik w radianach) atan2 Y, X kąt (od -pi do pi), którego tangens = Y/X ceil cos X X - wartość kąta w radianach cosinus kąta X wartość X zaokrąglona w górę, czyli do najbliższej liczby całkowitej nie mniejszej niż wartość X exp X wartość e podniesiona do potęgi X fabs X wartość bezwzględna liczby X log X - wartość dodatnia logarytm naturalny z X log10 X - wartość dodatnia logarytm o podstawie 10 z X pow X - podstawa, Y - wykładnik X podniesione do potęgi Y floor sin X X - wartość kąta w radianach sinus kąta X wartość X zaokrąglona w dół, czyli do najbliższej liczby całkowitej nie większej niż X sqrt X - wartość nieujemna pierwiastek kwadratowy z X tan X - wartość kąta w radianach tangens kąta X ceil (-4.3) = -4.0 pow (27, 1.0/3)=3.0 floor (-4.3) = -5.0 UWAGA: Funkcje matematyczne mogą też pochodzić z innych bibliotek, np. w cstdlib mamy m. in. funkcję abs (dla argumentu całkowitego) oraz div (dzielenie całkowite).

16 Wyrażenia logiczne Służą do zapisywania warunków w rozgałęzieniach. Oprócz operatorów arytmetycznych i operatorów relacji mogą zawierać operatory logiczne. OPERATORY LOGICZNE: && (iloczyn logiczny) (suma logiczna)! (negacja) W C++ można je zapisywać również jako alternatywne słowa kluczowe and or not 16 PRIORYTET OPERATORÓW - wewnątrz jednej pary nawiasów okrągłych 1.! (negacja) 2. operatory arytmetyczne + - * / % we właściwej kolejności 3. operatory relacji nierównościowych: > >= < <= 4. operatory relacji równy nierówny: ==!= 5. && (iloczyn logiczny) 6. (suma logiczna) UWAGA: W sytuacjach wątpliwych najpewniejszym sposobem jest używanie nawiasów okrągłych. x >= a && x <= b // x leży w przedziale <a, b> x < a x > b // x nie leży w przedziale <a, b> // nawiasy powyżej są niekonieczne, bo operatory relacji są silniejsze niż operatory logiczne && i // ale można je dodać dla przejrzystości. // zn jest małą lub dużą literą: zn >= 'a' && zn <= 'z' zn >= 'A' && zn <= 'Z albo: (zn >= 'a' && zn <= 'z') (zn >= 'A' && zn <= 'Z ) // można dodać nawiasy, ale nie są konieczne: // zn nie jest małą i nie jest też dużą literą: (zn < 'a' zn > 'z' ) && (zn < 'A' zn > 'Z ) // tu nawiasy są konieczne, bo && jest silniejsze niż

17 Porównanie a przypisanie - niebezpieczne pułapki 17 Nie wolno mylić operatorów porównania i przypisania: = operator przypisania (wykonaj podstawienie) == operator porównania (sprawdź warunek równości) Przykład: x = 10 ; // instrukcja - przypisz wartość 10 zmiennej x (podstaw 10 pod x ) x = 10 // wyrażenie - ma wartość wyrażenia po prawej stronie znaku =, // czyli 10 (albo true - zależnie od kontekstu) x = = 10 // wyrażenie - ma wartość true, jeśli x jest równe 10 Zatem UWAGA: załóżmy, że chcemy napisać instrukcję warunkową postaci: jeśli x jest równe 10, to zrób coś tam... if (x = =10)... if (x = 10)... // zapis poprawny - instrukcja za nawiasem wykona się tylko // wtedy, gdy x będzie równe 10 // tu jest błąd - instrukcja za nawiasem wykona się zawsze, // bo wyrażenie w nawiasie ma wartość true, // taki bląd NIE BĘDZIE jednak SYGNALIZOWANY!

18 Instrukcje iteracyjne (pętle): wprowadzenie 18 Umożliwiają wielokrotne powtórzenie ciągu instrukcji Wymagają uzupełnienia o instrukcje organizujące samą pętlę Suma trzech wczytanych wartości... int x1, x2; cin >>x1>>x2>>x3; int s=x1+x2+x3; Suma 100 wczytanych wartości... int x, s=0; cin>>x; s=s+x; cin>>x; s=s+x; cin>>x; s=s+x; // i co dalej?! //s+=x; //s+=x; //s+=x; Suma zależna od ilości powtórzeń w pętli... int x, s=0; POCZĄTEK PĘTLI cin>>x; s=s+x; KONIEC PĘTLI POWTÓRZEŃ - suma 100 wartości

19 Rodzaje instrukcji cyklicznych (iteracyjnych) 19 Pętla o znanej liczbie cykli (iteracji): pętla for Pętle o nie znanej z góry liczbie cykli: pętla while tzw. pętle sterowane warunkiem pętla do-while

20 Instrukcja while 20 Instrukcja Dopóki spełniony warunek, wykonuj Sprawdza warunek przed wykonaniem instrukcji objętej jej zakresem. while (warunek) instrukcja zalecany styl Dopóki spełniony jest warunek, powtarzaj instrukcja, czyli: sprawdź warunek jeśli spełniony, wykonaj instrukcja sprawdź warunek jeśli spełniony, wykonaj instrukcja itd. Może nie wykonać się ani razu!

21 Instrukcja do-while 21 Instrukcja Wykonuj, dopóki spełniony warunek Sprawdza warunek po wykonaniu instrukcji. do instrukcja while (warunek) ; Powtarzaj instrukcja, dopóki jest spełniony warunek, czyli: wykonaj instrukcja sprawdź warunek jeśli spełniony, wykonaj instrukcja sprawdź warunek itd. Zawsze wykona się przynajmniej jeden raz!

22 Instrukcja złożona w pętlach while 22 W pętlach typu while może być tylko jedna instrukcja. Ale - może to być instrukcja złożona, czyli w postaci {...} while (warunek) { } zalecany styl lepiej użyć bardziej uniwersalnej pętli while niż do-while do { } while (warunek) ; UWAGA: warunek (w if-ach, pętlach) może być liczbą lub ogólnie wyrażeniem dającym się zamienić na liczbę, przy czym: wartość równa 0 traktowana jest jako fałsz (stała false) wartość różna od 0 traktowana jest jako prawda (stała true).

23 Pętle while i do-while: podsumowanie (1) 23 Wczytać ciąg liczb dodatnich zakończony niedodatnią i obliczyć ich sumę. Pytanie - wliczać do sumy tę ostatnią niedodatnią (wersja A) czy nie (wersja B)? // A - wczytuje liczby aż do napotkania niedodatniej // i je sumuje, łącznie z tą niedodatnią zalecany styl cin>>a; s = a; // pierwsza liczba zawsze wchodzi do sumy while (a>0) { cin>>a; s = s+a; } s=0; do { cin>>a; s = s+a; } while (a>0); // wersja poprawna, chociaż nie zalecana // wersja błędna (ani A, ani B) - przy wejściu do // pętli while zmienna a nie jest określona s=0; while (a>0) { cin >> a; s = s+a; } // B - wczytuje liczby aż do napotkania // niedodatniej i sumuje tylko te dodatnie zalecany styl s=0; cin>>a; //pierwsze wczytanie - przed pętlą while (a>0) { s = s+a; cin>>a; // kolejne wczytane a będzie // sprawdzone w następnym cyklu pętli } s=0; do { cin>>a; if (a>0) s = s+a; } while (a>0); // wersja poprawna, ale pętla do nie jest zalecana // i do tego musimy dwa razy sprawdzić warunek // a>0

24 Pętle while i do-while: podsumowanie (2) 24 Warunek w pętli while jest warunkiem, przy którym pętla ma się kręcić w kółko. Jest on więc negacją warunku, przy którym należy wyjść z pętli. Wykonując negację warunku, w którym są operatory logiczne, należy pamiętać, że negacja sumy logicznej zamienia się w iloczyn negacji - i na odwrót. Przykład: - jeśli pętla ma się wykonywać aż do napotkania małej litery, to oznacza, że pętla ma się wykonywać, dopóki znak nie jest małą literą, czyli: while (znak< a znak > z ) Warunek ten można też zapisać jako negację warunku wyjścia z pętli: while (! (znak>= a && znak<= z )) Błędem natomiast jest zapis w postaci: while (znak< a && znak > z ) gdyż warunek w nawiasie nie jest nigdy spełniony!!! Przykład: // pętla wymusza na użytkowniku // napisanie małej litery: do { cout<< "Napisz mala litere\n"; cin>>znak; } while (znak< a znak > z ); //pętla do jest tu wygodniejsza w zapisie od while

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Wyrażenia c.d. Pętle typu while.

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Wyrażenia c.d. Pętle typu while. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Język programowania: Środowisko programistyczne: C/C++ Qt Creator Wykład 2: Wyrażenia c.d. Pętle

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

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

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 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 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 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

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

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

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2016 ) prof. nzw. dr hab. inż. Barbara Putz 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:

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

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

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

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

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

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

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

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

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

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

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

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

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

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

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów

Bardziej szczegółowo

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

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

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

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

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

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory

Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory 1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

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

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

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

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

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe 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

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

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

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

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

Bardziej szczegółowo

Programowanie Delphi obliczenia, schematy blokowe

Programowanie Delphi obliczenia, schematy blokowe Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu

Bardziej szczegółowo

Podstawowe typy zmiennych

Podstawowe typy zmiennych Podstawowe typy zmiennych Typ Rozmiar w bajtach Minimalny zakres char 1 Kod ASCII znaku (liczba 0..255) int 1 4-2147483648 2147483647 long long 1 8-2 63...2 63-1 float 4-3,4*10 38 3,4*10 38 (do 6 cyfr

Bardziej szczegółowo

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,

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

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

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

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

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

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

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

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) 1 Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

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

Wyrażenia arytmetyczne

Wyrażenia arytmetyczne Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie

Bardziej szczegółowo

Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2

Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 Niektóre stałe i funkcje z pliku nagłówkowego math.h. Stałe Identyfikator M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 M_1_PI M_2_PI M_1_SQRTPI M_2_SQRTPI Znaczenie e log 2 (e) log 10 (e) ln(2)

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

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

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

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

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1 Funkcje czyli jak programować proceduralne. Programowanie Proceduralne 1 Struktura programu w C # include / Dyrektywy p r e p r o c e s o r a / #define PI 3.1415 float g =. 5 ; / Zmienne

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 01 1 / 9 Plan wykładu 1 Informacje

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

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

Wstęp do informatyki- wykład 6

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

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

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

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

Grzegorz Paweł Korbaś. Podstawy C++ Zbiór zadań z rozwiązaniami. Opole 2011 wydanie pierwsze wydawnictwo czytnia.pl

Grzegorz Paweł Korbaś. Podstawy C++ Zbiór zadań z rozwiązaniami. Opole 2011 wydanie pierwsze wydawnictwo czytnia.pl Grzegorz Paweł Korbaś Podstawy C++ Zbiór zadań z rozwiązaniami Opole 2011 wydanie pierwsze wydawnictwo czytnia.pl Copyright by Grzegorz Paweł Korbaś & czytnia.pl Powielanie całości lub części w jakikolwiek

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

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std; Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu

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

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

Funkcje matematyczne w C. Programowanie w C Marek Pudełko Funkcje matematyczne w C Programowanie w C Marek Pudełko Używanie funkcji matematycznych W standardowym ANSI C jest możliwe skorzystanie z 22 funkcji matematycznych. By to zrobić, do programu należy włączyć

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

Algorytmy i struktury danych. wykład 1

Algorytmy i struktury danych. wykład 1 Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,

Bardziej szczegółowo

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu

Bardziej szczegółowo

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy 1 Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy 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

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

Wstęp do programowania. Różne różności

Wstęp do programowania. Różne różności Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

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

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.2.

Języki programowania wysokiego poziomu. PHP cz.2. Języki programowania wysokiego poziomu PHP cz.2. Instrukcje strukturalne PHP Instrukcje strukturalne Instrukcja grupująca (blok instrukcji) Instrukcja warunkowa, if-else Instrukcja wyboru, switch-case

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków

Bardziej szczegółowo