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

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

1 Podstawy c++ w pigułce.

Programowanie komputerowe. Zajęcia 1

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

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

Programowanie - wykład 4

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

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

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

1 Podstawy c++ w pigułce.

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

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

tablica: dane_liczbowe

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

Wstęp do Informatyki

Proste programy w C++ zadania

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

Podstawy programowania w języku C i C++

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

Pytania sprawdzające wiedzę z programowania C++

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

Wstęp do programowania

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

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

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

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

Podstawy Programowania C++

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

Microsoft IT Academy kurs programowania

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

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

Podstawy Informatyki

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

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

C++ wprowadzanie zmiennych

Pętla for. Wynik działania programu:

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

Technologie Informacyjne

Język C zajęcia nr 5

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

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

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

Część 4 życie programu

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

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

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

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

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

L6.1 Systemy liczenia stosowane w informatyce

Programowanie - instrukcje sterujące

Języki programowania - podstawy

Wstęp do Programowania 2

3. Instrukcje warunkowe

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

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

dr inż. Jarosław Forenc

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

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

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

Programowanie komputerowe. Zajęcia 3

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

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

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Podstawowe części projektu w Javie

Wstęp do informatyki- wykład 7

Podstawy programowania w języku C

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

Wstęp do programowania

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

2 Przygotował: mgr inż. Maciej Lasota

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

Techniki multimedialne

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

Programowanie strukturalne i obiektowe

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

( wykł. dr Marek Piasecki )

Podstawy programowania C. dr. Krystyna Łapin

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

Programowanie Obiektowe i C++

Język ludzki kod maszynowy

Wstęp do programowania

Architektura komputerów

I - Microsoft Visual Studio C++

Język C zajęcia nr 11. Funkcje

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

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

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

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

Struktura pliku projektu Console Application

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

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

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

Transkrypt:

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 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++ 3 / 41

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++ 4 / 41

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++ 5 / 41

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++ 6 / 41 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++ 7 / 41

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

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

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++ 10 / 41

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++ 11 / 41

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++ 12 / 41

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++ 13 / 41

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++ 14 / 41

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

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++ 16 / 41

Typy K.Grzelak (Wykład 1) Programowanie w C++ 17 / 41

W C++ każda użyta nazwa zmiennej musi zostać wcześniej zadeklarowana. K.Grzelak (Wykład 1) Programowanie w C++ 18 / 41

Przykłady int a; double liczba; K.Grzelak (Wykład 1) Programowanie w C++ 19 / 41

Przykłady cd int a; obiekt typu integer (liczba całkowita) double liczba; obiekt typu double (liczba rzeczywista) Rezerwacja pamięci W momencie deklaracji j.w. zachodzi rezerwacja pamięci na obiekt danego typu. K.Grzelak (Wykład 1) Programowanie w C++ 20 / 41

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++ 21 / 41

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++ 22 / 41

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

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

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++ 25 / 41

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

Napisy w C++ Biblioteczna klasa string string napis="witam"; 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++ 27 / 41

Operatory K.Grzelak (Wykład 1) Programowanie w C++ 28 / 41

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++ 29 / 41

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

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

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

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

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

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++ 35 / 41

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

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++ 37 / 41

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++ 38 / 41

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++ 39 / 41

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

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

#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++ 41 / 41

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

// 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++ 41 / 41