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

Podobne dokumenty
Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

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

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

( wykł. dr Marek Piasecki )

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. 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

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

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

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

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

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie w języku C++

Wykład 1: Wskaźniki i zmienne dynamiczne

Proces tworzenia programu:

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

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

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

Wykład 9: Polimorfizm i klasy wirtualne

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Wykład 8: klasy cz. 4

#include <stdio.h> void main(void) { 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. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

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

Podstawy Programowania. Wykład 1

Wykład 5: Klasy cz. 3

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

2 Przygotował: mgr inż. Maciej Lasota

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

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

Programowanie strukturalne i obiektowe

Programowanie komputerowe. Zajęcia 1

Zmienne, stałe i operatory

1 Podstawy c++ w pigułce.

Wykład 9: Metody wirtualne i polimorfizm

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

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

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

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

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

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

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

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

Wstęp do programowania. Wykład 1

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

Język programowania PASCAL

Podstawy programowania - 1

Podstawy programowania C. dr. Krystyna Łapin

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

C++ wprowadzanie zmiennych

Języki programowania - podstawy

Część 4 życie programu

Język ludzki kod maszynowy

1 Podstawy c++ w pigułce.

INFORMATYKA Studia Niestacjonarne Elektrotechnika

KURS C/C++ WYKŁAD 1. Pierwszy program

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

Podstawy programowania (1)

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

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

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Podstawy programowania w języku C

Podstawy programowania w C++

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

dr inż. Paweł Myszkowski Wykład nr 8 ( )

Proste programy w C++ zadania

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

tablica: dane_liczbowe

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

Struktura pliku projektu Console Application

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Wstęp do Programowania, laboratorium 02

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

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

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

Wstęp do programowania

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

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

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

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Podstawy Programowania

Wykład 1.sxw

Powtórka algorytmów. Wprowadzenie do języka Java.

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

I - Microsoft Visual Studio C++

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Języki i metody programowania. Omówienie języków C, C++ i Java

ECLIPSE wnioski z dwóch pierwszych laboratoriów

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

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

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

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

Transkrypt:

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

II. Tablice Klasyfikacja zmiennych statycznych prosty porządkowy rzeczywisty całkowity logiczny znakowy typ łańcuchowy tablicowy złożony rekordowy plikowy 3 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

II. Tablice Rodzaje tablic Tab - nazwa tablicy 34 56 32-8 45 2 0 13 - wartości Tab(0) Tab(1) Tab(2) Tab(3) Tab(4) Tab(5) Tab(6) Tab(7) - pole nazwa(indeks) 4 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

II. Tablice Rodzaje tablic 5 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

II. Tablice Obsługa tablicy jednowymiarowej 6 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

II. Tablice Obsługa tablicy jednowymiarowej 7

Część II Przykłady algorytmów 8 dr Artur Bartoszewski - Informatyka i systemy informatyczne, sem. 1- WYKŁAD

II. Przykłady algorytmów Ciąg Fibonacciego Ciąg Fibonacciego to ciąg liczb, w którym: pierwszy wyraz jest równy 1, drugi jest równy 1, każdy następny jest sumą dwóch poprzednich. 9

II. Przykłady algorytmów Ciąg Fibonacciego 10 dr Artur Bartoszewski - Informatyka i systemy informatyczne, sem. 1- WYKŁAD

II. Przykłady algorytmów Ciąg Fibonacciego 11

II. Przykłady algorytmów Ciąg Fibonacciego pierwszy wyraz jest równy 1, drugi jest równy 1 każdy następny jest sumą dwóch poprzednich. 12

I. Pojęcie algorytmu Trochę historii Algorytm Euklidesa obliczanie największego wspólnego dzielnika dwóch liczb naturalnych. Start wczytaj a wczytaj b 1. Dane są dwie liczby naturalne a i b. 2. Oblicz c jako resztę z dzielenia a przez b 3. Zastąp a przez b, zaś b przez c. 4. Jeżeli b = 0, to szukane NWD wynosi a, w przeciwnym wypadku wróć do punktu drugiego i kontynuuj. b <> a TA K c = a % b a = b b = c NIE NWD(liczba całkowita a, liczba całkowita b) dopóki b różne od 0 c = reszta z dzielenia a przez b a = b b = c zwróć a wypisz a Stop 13 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

I. Pojęcie algorytmu Trochę historii Algorytm Euklidesa obliczanie największego wspólnego dzielnika dwóch liczb naturalnych. 16 10 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD

Podstawy programowania w C++ Budowa programu 15

Podstawowe pojęcia Środowisko programistyczne Kod źródłowy - program napisany w języku takim jak Pascal lub C++,czyli w języku algorytmicznym - czytelny dla programisty Kod wynikowy - program zapisany jako ciąg rozkazów i danych w kodzie maszynowym procesora (w postaci czytelnej dla komputera), najczęściej w postaci liczb kodu dwójkowego Proces tworzenia programu: edytor - ( *.cpp ) kod źródłowy kompilator - ( obj ) kod wynikowy Linker - ( *.exe ) kod wynikowy połączony z bibliotekami debugger - (step/watch) śledzenie działania, usuwanie błędów 16

Podstawowe pojęcia Środowisko programistyczne Wybrane środowiska programistyczne dla C++ Dev C++ Code::Blocks MS Visual Studio 17

Podstawy Pierwszy program (w języku C) 18

Podstawy Pierwszy program (w języku C++) 19

Podstawy Budowa programu 20

Podstawy Budowa programu Int main( ) w języku C i C++ nie ma programu głównego jest za to funkcja o nazwie main( ) która wykonywana jest zawsze jako pierwsza. Każdy program musi posiadać funkcję main( ) 21

Podstawy Komentarze W językach C i C++ mamy do dyspozycji trzy rodzaje komentarzy: komentarz jednowierszowy; komentarz wielowierszowy; komentarz wykonany za pomocą dyrektyw preprocesora. 22 dr Artur Bartoszewski - Języki C i C++, sem. 1I - WYKŁAD

Podstawy programowania w C++ Zmienne (wstęp) 23

Podstawy Zmienne Nazwa typu Zawartość Przedział wartości Zajęt. pamięć char znak -128 127 1 bajt int liczba całkowita -32768 32767 2 bajty long liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczyw. 10-38 10 38 (7cyfr) 4 bajty double liczba rzeczyw. 10-308 10 308 (15 cyfr) 8 bajtów 24

Podstawy Zmienne Modyfikatory typu: signed ze znakiem ( ), int char unsigned bez znaku, int char short krótka (mniejsza), int long długa (większa) int double np. unsigned long int dluga_liczba_bez_znaku ; Wartości domyślne: long = long int int = signed int char = signed char 25

Podstawy Zmienne Deklaracja zmiennej - informuje kompilator, że dana nazwa jest znana. Jednak pamięć dla obiektu nie zostaje przydzielona. Do obiektu nie możemy się odwoływać, nie możemy mu przypisywać wartości obiekt jeszcze nie istnieje. extern nazwatypu nazwazmiennej; Np.: extern int liczba; 26

Podstawy Zmienne Definicja zmiennej - rezerwuje miejsce w pamięci dla danej zmiennej. Po zdefiniowaniu ze zmiennej możemy korzystać. nazwatypu Np.: nazwazmiennej; int liczba; Każda definicja jest jednocześnie deklaracją (ale nie odwrotnie). 27

Podstawy Zmienne Inicjalizacja (inicjowanie) zmiennej - polega na przypisaniu wartości do danej zmiennej w momencie jej deklaracji nazwatypu nazwazmiennej = wartość; Np.: int liczba = 10; 28

Podstawy programowania w C++ Operacje we/wy 29

Podstawy Funkcje printf i scanf (proceduralnie, w C) Wysłanie informacji na zewnętrz (stand. ekran) printf ( lancuch formatujacy,zmienna_1,zmienna_2); Pobranie informacji z zewnętrz (stand. klawitura) scanf ( prototypy zmiennych,&zmienna_1,&zmienna_2); 30

Podstawy Funkcje printf i scanf (proceduralnie, w C) Prototypy zmiennych dla funkcji printf i scantf %c - pojedynczy znak %s - łańcuch znaków %d - liczba dziesiętna ze znakiem %f - liczba zmiennoprzecinkowa (notacja dziesiętna) %e - liczba zmiennoprzecinkowa (notacja wykładnicza) %g - liczba zmiennoprzecinkowa (krótszy z formatów %f %e) %u - liczba dziesiętna bez znaku %x - liczba w kodzie szesnastkowym (bez znaku) %o - liczba w kodzie ósemkowym (bez znaku) l - przedrostek l (long) stosowany przed: d u x o 31

Podstawy Funkcje printf i scanf (proceduralnie, w C) Znaki sterujące wypisywaniem tekstu (nie tylko dla printf) \b cofanie o 1 znak \f - nowa strona \n nowa linia \t tabulator \a sygnał dźwiękowy Jeśli jednak chcemy po prostu wypisać znak... \\ - bekslesz \ - apostrof \0 - znak o kosie zero \? - znak zapytania 32

Podstawy Funkcje printf i scanf (proceduralnie, w C) 33

Podstawy Klasy cout i cin (obiektowo w C++) Strumień to najprościej mówiąc jest to ciąg bajtów o nieokreślonej długości. Wyróżniamy trzy rodzaje strumieni: 1. Strumienie konsoli wczytanie z klawiatury i wypisanie na ekran 2. Strumienie plikowe 3. Strumienie napisów Do obsługi strumieni służą obiekty cin oraz cout Domyślnym strumieniem jest strumień konsoli, którym będziemy posługiwać się w tym wykładzie. 34

Podstawy Klasy cout i cin (obiektowo w C++) Wyprowadzenie wartości do strumienia wyjściowego (stdout) cout << tekst ; cout << zmienna; Wczytanie ze strumienia wejściowego (stdin) cin >> zmienna; Prototypy cin i cout znajdują się w bibliotece iostream.h #include <iostream> 35

Podstawy Klasy cout i cin (obiektowo w C++) 36 Hej tam. To jest 5: 5 Manipulator endl wypisuje nowa linie na ekranie. To jest bardzo duza liczba: 70000 To jest suma 8 i 5: 13 To jest ulamek: 0.625 I bardzo, bardzo duza liczba: 4.9e+007

Podstawy programowania w C++ Instrukcje sterujące: Instrukcja IF 37

Podstawy Prawda - Fałsz W języku C++ nie ma osobnych zmiennych przechowujących dane typu prawda-fałsz. Tę rolę pełnić może każda zmienna, wyrażenie lub funkcja, która przyjmuje (lub zwraca) wartość zero lub różną od zera. Wartość zero - Wartość inna niż zero - FAŁSZ PRAWDA 38

Podstawy Instrukcja warunkowa if if (wyrażenie) instrukcja; if (wyrażenie) instrukcja_1; else instrukcja_2; if (wyrażenie) { } instrukcja_1; instrukcja_2; else instrukcja_3; 39

Podstawy Instrukcja warunkowa if Przykład: cin >> i; if (i!=0) cout << i rozne od zera ; else cout << i rowne zero ; Można i tak: cin >> i; if (i) cout << i rozne od zera ; else cout << i rowne zero ; 40

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 41 dr Artur Bartoszewski - Podstawy programowania - WYKŁAD