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

Podobne dokumenty
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 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

1 Podstawy c++ w pigułce.

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

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

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

1 Podstawy c++ w pigułce.

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

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

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

Programowanie komputerowe. Zajęcia 1

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

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

tablica: dane_liczbowe

Microsoft IT Academy kurs programowania

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Podstawy Programowania C++

Pętla for. Wynik działania programu:

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else

Pytania sprawdzające wiedzę z programowania C++

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

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

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

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

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

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

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

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

3. Instrukcje warunkowe

Programowanie - wykład 4

Podstawy Informatyki

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Podstawy programowania w języku C i C++

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

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

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

2 Przygotował: mgr inż. Maciej Lasota

C++ wprowadzanie zmiennych

dr inż. Jarosław Forenc

Wstęp do Informatyki

Proste programy w C++ zadania

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Języki programowania - podstawy

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

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

Podstawy programowania w języku C

Wstęp do programowania

Wstęp do informatyki- wykład 1 Systemy liczbowe

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

Technologie Informacyjne

Podstawowe części projektu w Javie

Programowanie strukturalne i obiektowe

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Podstawy Programowania. Wykład 1

Część 4 życie programu

Wstęp do programowania

Pliki wykład 2. Dorota Pylak

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

Wstęp do Programowania 2

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

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

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

Programowanie - instrukcje sterujące

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 programowania. Wykład 1

Programowanie Obiektowe i C++

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Język C zajęcia nr 5

Podstawy programowania C. dr. Krystyna Łapin

Wstęp do programowania

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24

Język ludzki kod maszynowy

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

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

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

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Programowanie komputerowe. Zajęcia 3

( wykł. dr Marek Piasecki )

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

I - Microsoft Visual Studio C++

Podstawy Programowania

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

#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 ); }

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

Wstęp do informatyki- wykład 7

Transkrypt:

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 w kodzie nie sa konieczne, ale bardzo poprawiaja czytelność kodu Polecenia sa grupowane za pomoca nawiasów klamrowych Polecenia sa zakończone średnikami Każda użyta zmienna musi zostać wcześniej zadeklarowana Kompilacja kod źródłowy jest tłumaczony na kod maszynowy. K.Grzelak (Wykład 1) Programowanie w C++ 2 / 44

Na poprzednim wykładzie struktura pierwszego programu w C++ #include<iostream> using namespace std; int main(){ cout << "Witam" << endl; } return 0; K.Grzelak (Wykład 1) Programowanie w C++ 3 / 44

Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 4 / 44

Reprezentacje liczb w komputerze Wykorzystanie układu dwójkowego (binarnego) Dwa stany: sygnał i jego brak Bit [b] najmniejsza jednostka informacji ( 0 lub 1 ) Bajt [B] 8 bitów K.Grzelak (Wykład 1) Programowanie w C++ 5 / 44

Reprezentacje liczb w komputerze Poniższy układ bitów co to za liczba? 00101110 Odp: Zależy od reprezentacji. K.Grzelak (Wykład 1) Programowanie w C++ 6 / 44

Liczby naturalne Zapis dwójkowy m a j 2 j, a j {0, 1} j=0 Kolejne potęgi 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 K.Grzelak (Wykład 1) Programowanie w C++ 7 / 44

Kolejne liczby naturalne (m) 10 (m) 2 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111. K.Grzelak.. (Wykład. 1).. Programowanie w C++ 8 / 44 System dziesiatkowy vs system dwójkowy

Liczby naturalne Zapis dwójkowy liczby naturalne Do zapisu liczb wybieramy n bitów Na n bitach można zapisać 2 n różnych liczb naturalnych, od 0 do 2 n 1 Dla n=8 (1 bajt) liczby od 0 do 255 Uzupełnianie z lewej strony zerami do n cyfr Przykład: Liczba 20 0 0 0 1 0 1 0 0 K.Grzelak (Wykład 1) Programowanie w C++ 9 / 44

Liczby naturalne Ograniczenia Nie można zapisać dowolnie dużej liczby Nie wszystkie działania wykonalne K.Grzelak (Wykład 1) Programowanie w C++ 10 / 44

Jak reprezentować liczby ujemne? K.Grzelak (Wykład 1) Programowanie w C++ 11 / 44

Liczby całkowite Najprostsza reprezentacja Jeden bit zarezerowany na znak Reszta bitów to moduł j.w. Np. 1 to 00000001; -1 to 10000001 Problem: dwie reprezentacje zera! K.Grzelak (Wykład 1) Programowanie w C++ 12 / 44

Liczby całkowite Najpowszechniej używana reprezentacja Kod uzupełnieniowy Najstarszy bit: 2 n 1, pozostałe bity standardowo Liczby z przedziału ( 2 n 1, 2 n 1 1) Wszystkie liczby - jednoznaczna reprezentacja K.Grzelak (Wykład 1) Programowanie w C++ 13 / 44

Kolejne liczby całkowite Kod uzupełnieniowy liczba bity liczba bity 0 00000000 0 00000000 1 00000001-1 11111111 2 00000010-2 11111110 3 00000011-3 11111101 4 00000100-4 11111100 5 00000101-5 11111011 6 00000110-6 11111010 7 00000111-7 11111001. K.Grzelak.. (Wykład 1)... Programowanie w C++ 14 / 44

Liczby rzeczywiste System zmiennopozycyjny Przykład: masa elektronu m e = 0.000000000000000000000000000000910938 kg = 9.10938 10 31 kg (= 0.510 MeV/c 2 ) K.Grzelak (Wykład 1) Programowanie w C++ 15 / 44

Liczby rzeczywiste System zmiennopozycyjny Cyfry znaczace mantysa (m); potęga cecha (c). Mantysa z określonego przedziału x = m2 c Uwaga nawet proste ułamki moga mieć nieskończone binarne rozwinięcie okresowe (np. 1/10) K.Grzelak (Wykład 1) Programowanie w C++ 16 / 44

Liczby rzeczywiste Ograniczenia Nie można zapisać dowolnie dużej liczby Nie wszystkie działania wykonalne Zaokraglenia przybliżenia Błędy zaokragleń się kumuluja ma znaczenie czy algorytmy sa szybkie i efektywne, czy nie. K.Grzelak (Wykład 1) Programowanie w C++ 17 / 44

Liczby rzeczywiste System zmiennopozycyjny x = m2 c Ile bitów na cechę, a ile na mantysę? Istnieja standardy Więcej bitów na mantysę większa dokładność Więcej bitów na cechę większe liczby K.Grzelak (Wykład 1) Programowanie w C++ 18 / 44

Typy K.Grzelak (Wykład 1) Programowanie w C++ 19 / 44

W C++ każda użyta zmienna musi zostać wcześniej zadeklarowana. K.Grzelak (Wykład 1) Programowanie w C++ 20 / 44

Przykłady int a; double liczba; char znak; bool flaga; Rezerwacja pamięci W momencie deklaracji j.w. zachodzi rezerwacja pamięci na obiekt danego typu. K.Grzelak (Wykład 1) Programowanie w C++ 21 / 44

Przykłady cd int a; obiekt typu integer (liczba całkowita) double liczba; obiekt typu double float (liczba rzeczywista o zwiększonej precyzji) K.Grzelak (Wykład 1) Programowanie w C++ 22 / 44

Przykłady cd char znak; obiekt typu character (pojedynczy znak) bool flaga; obiekt typu boolean (zmienna logiczna) K.Grzelak (Wykład 1) Programowanie w C++ 23 / 44

Ile pamięci jest rezerwowane? Zależy od implementacji/kompilatora. Główne typy fundamentalne: Na komputerze primus w OKWF Typ bity bajty int 32 4 unsigned int 32 4 long int 64 8 float 32 4 double 64 8 long double 128 16 char 8 1 Funkcja sizeof ile pamięci zajmuje dany typ/obiekt (np. sizeof(int) ) K.Grzelak (Wykład 1) Programowanie w C++ 24 / 44

Przykłady Rezerwacja pamięci i inicjalizacja int a=5; double liczba=5.0; long int a=5l; float liczba2=5.0f; K.Grzelak (Wykład 1) Programowanie w C++ 25 / 44

Przykłady int liczba; liczba=15; (zapis dziesiatkowy) liczba=0xf; (zapis szesnastkowy) liczba=017; (zapis ósemkowy) K.Grzelak (Wykład 1) Programowanie w C++ 26 / 44

char litera= b ; char l= \n ; char tab= \t ; K.Grzelak (Wykład 1) Programowanie w C++ 27 / 44

Znaki Kod ASCII Znakom odpowiadaja liczby całkowite od 0 do 127 Znaki zwykłe i specjalne (np. spacja, nowa linia, tabulator) Rozszerzenia kodu ASCII, np. Utf8 (polskie litery!) K.Grzelak (Wykład 1) Programowanie w C++ 28 / 44

Tablica znaków ASCII K.Grzelak (Wykład 1) Programowanie w C++ 29 / 44

Napisy w C++ Typ string - pierwsza wzmianka string napis="witam"; To nie jest jeden z typów wbudowanych w podstawowa strukturę języka wymaga dodania pliku nagłówkowego #include<string> Nie występuje w języku C. Bardzo proste użycie, analogiczne do typów podstawowych. K.Grzelak (Wykład 1) Programowanie w C++ 30 / 44

Operatory K.Grzelak (Wykład 1) Programowanie w C++ 31 / 44

Podstawowe operatory +, -, \, * = podstawienie == porównanie!= nie równe <,>,<=, >= suma logiczna && iloczyn logiczny % reszta z dzielenia ++i,i++ zwiększenie o 1, to samo co i=i+1 K.Grzelak (Wykład 1) Programowanie w C++ 32 / 44

Instrukcje sterujace K.Grzelak (Wykład 1) Programowanie w C++ 33 / 44

Instrukcje warunkowe if (warunek) { } K.Grzelak (Wykład 1) Programowanie w C++ 34 / 44

Najprostsza instrukcja warunkowa Przykład... if(kilometry>100) { cout «Dojechalismy do celu «endl; } K.Grzelak (Wykład 1) Programowanie w C++ 35 / 44

Instrukcje warunkowe if (warunek1) { } else if (warunek2) { } else { } K.Grzelak (Wykład 1) Programowanie w C++ 36 / 44

Pętla for Pętla for ogólnie for(instrukcja_poczatkowa; warunek_końcowy; instrukcja_kroku){ } K.Grzelak (Wykład 1) Programowanie w C++ 37 / 44

Pętla for Przykład... for(int i=0; i<10; ++i) { cout «i= «i «endl; } i licznik pętli K.Grzelak (Wykład 1) Programowanie w C++ 38 / 44

Pętla while Pętla while dopóki warunek jest spełniony wykonuj while (warunek) { } K.Grzelak (Wykład 1) Programowanie w C++ 39 / 44

Pętla while Przykład... int suma=0; int j=1; while(j<=100){ suma=suma+j; j++; } K.Grzelak (Wykład 1) Programowanie w C++ 40 / 44

Pętla do while Pętla do while wykonuj dopóki warunek jest spełniony do { } while(warunek) ; Różnica pomiędzy do while a while W przypadku do while instrukcje wewnatrz pętli wykonaja się co najmniej raz. K.Grzelak (Wykład 1) Programowanie w C++ 41 / 44

Przykład pętli do while double wynik=0.; double skladnik=0; int i=1; do { skladnik=1.0/i/i; wynik=wynik+skladnik; i++; }while(skladnik>=1.0e-5); K.Grzelak (Wykład 1) Programowanie w C++ 42 / 44

Jeszcze o pętlach Natychmiastowe przerwanie pętli: break; Przejście do następnej iteracji: continue; K.Grzelak (Wykład 1) Programowanie w C++ 42 / 44

Jak nie pisać programów K.Grzelak (Wykład 1) Programowanie w C++ 43 / 44

#include<iostream> using namespace std; int main(){ int n; cout << "n=" << endl; cin >> n; int a=0; for(int i=1;i<=n;i=i+1) a=a+i; cout << a << endl; return 0; } K.Grzelak (Wykład 1) Programowanie w C++ 44 / 44

Jak pisać programy K.Grzelak (Wykład 1) Programowanie w C++ 44 / 44

// Sumowanie liczb naturalnych od 1 do n, // n podawane z klawiatury #include<iostream> using namespace std; int main(){ cout << "Sumujemy dodatnie liczby naturalne" << "od 1 do n" << endl; int n; cout << "Wpisz liczbe naturalna" << endl; cin >> n; int suma=0; for(int i=1;i<=n;i=i+1){ suma=suma+i; } cout << "Suma= " << suma << endl; return 0; } K.Grzelak (Wykład 1) Programowanie w C++ 44 / 44