Podstawy Programowania -...
Transcript of Podstawy Programowania -...
![Page 1: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/1.jpg)
Podstawy Programowania
Wykład 1
![Page 2: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/2.jpg)
• Jerzy Grębosz Symfonia C++
• Bjarne Stroustrup Język C++
• Bruce Eckel Thinking in C++
• Tony L. Hansen C++ zadania i odpowiedzi
Jak się uczyć programowania?
Wykład i laboratorium
Literatura
Tutoriale w Internecie
Samodzielne pisanie programów!!!
![Page 3: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/3.jpg)
Komputer może być traktowany jako urządzenie
służące do przechowywania i przetwarzania
informacji.
Działanie komputera jest kontrolowane przez
wykonywany przez niego program.
Podstawowe pojęcia
![Page 4: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/4.jpg)
Procesor zawiera dwa podstawowe elementy
• element nadzorujący i koordynujący działania
komputera (CU – control unit)
• element odpowiedzialny za operacje arytmetyczne i
logiczne (ALU – arithmetic logic unit)
Pamięć (wewnętrzna)
Przechowuje m.in. uruchamiany program, dane
niezbędne do poprawnego działania uruchamianego
programu.
Podstawowe pojęcia
![Page 5: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/5.jpg)
Pojęcia podstawowe
Pamięć komputera może być traktowana jako ciąg
komórek pamięci (nazywanych czasami słowami).
Każda komórka pamięci ma pewien adres,
określający jej pozycję w pamięci.
Komórka pamięci składa sie z pewnej liczby bitów
(zazwyczaj 8, 16, 32 lub 64).
![Page 6: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/6.jpg)
Wykonywany program zajmuje grupę powiązanych z
sobą komórek pamięci.
Komórki lub grupy komórek zawierają poszczególne
instrukcje programu.
Różne instrukcje są reprezentowane przez różne
kombinacje bitów w komórkach pamięci.
Program
Program to ciąg ciąg instrukcji
![Page 7: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/7.jpg)
Podczas wykonywania programu CU czyta kolejne
instrukcje z pamięci i zapewnia, że są one
wykonywane w odpowiednim porządku.
Instrukcja „mówi” komputerowi, że powinien wykonać
jakieś zadanie (np. dodać dwie liczby w ALU)
Program
![Page 8: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/8.jpg)
Program
Instrukcja może być traktowana jako pewien ciąg zer i
jedynek.
Instrukcja o takiej samej roli może mieć różną postać
na różnych modelach komputerów.
![Page 9: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/9.jpg)
Początkowo programy były pisane tylko w kodzie
maszynowym.
Obecnie programy pisze sie w językach wysokiego
poziomu zrozumiałych dla człowieka.
Przykładowe języki: Ada, Pascal, C, C++, Cobol,
Fortran
Programy napisane w językach wysokiego poziomu
są tłumaczone na kod maszynowy za pomocą
specjalnego translatora ( kompilator).
Języki programowania
![Page 10: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/10.jpg)
Kod maszynowy (przykład): 1100111101011000
100000011111010
1100110011001010
Język asembler: push beer
call printf
add esp,16
pop ecx
Program jest tłumaczony na kod maszynowy przy
użyciu programu – asemblera.
Język wysokiego poziomu:
int c=a+b;
cout<<”dane o uzytkownikach”;
Języki programowania
![Page 11: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/11.jpg)
Etapy tworzenia programu
• określenie zadań programu (faza analizy wymagań i
specyfikacji)
• zaprojektowanie sposobu rozwiązania problemu
(algorytmu) (faza projektowa)
• zapis projektu w wybranym języku programowania
(faza implementacji)
• kompilacja i uruchomienie programu
• sprawdzenie czy program działa poprawnie (faza
testowania)
![Page 12: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/12.jpg)
Etapy tworzenia programu
• zapis algorytmu w wybranym języku
programowania (faza implementacji)
• kompilacja i uruchomienie programu
• sprawdzenie czy program działa poprawnie (faza
testowania)
Na wykładzie z Podstaw Programowania interesują nas
3 ostatnie punkty:
![Page 13: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/13.jpg)
Uczymy się programować w
języku C++
Tworzenie programu
![Page 14: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/14.jpg)
Program piszemy posługując się edytorem tekstu
Powstaje wówczas tzw. kod źródłowy (w języku C++
plik z rozszerzeniem cpp).
Tworzenie programu
W czasie zajęć laboratoryjnych będziemy wyko-
rzystywać darmową aplikację:
Bloodshed Dev-C++
![Page 15: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/15.jpg)
Bloodshed Dev C++
Kod źródłowy programu
![Page 16: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/16.jpg)
Wersja źródłowa programu musi zostać
przetłumaczona na język maszyny (procesora).
Kompilacja programu
Służy do tego kompilator danego języka progra-
mowania
Kompilator sprawdza przy tym czy w programie nie
ma błędów składniowych.
![Page 17: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/17.jpg)
Kompilacja programu – Dev C++
Informacja o błędach w składni
Wskazanie błędu
![Page 18: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/18.jpg)
Kompilacja programu
Skompilowana wersja (zazwyczaj zapisywana w pliku
na dysku jako tzw. plik obiektowy – object file z
rozszerzeniem obj) jest zapisana w języku
maszynowym.
Nie jest to jeszcze gotowy program.
Aby tak się stało muszą zostać dołączone do niego tzw.
biblioteki.
![Page 19: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/19.jpg)
Rezultatem linkowania jest gotowy do uruchomienia
program (plik z rozszerzeniem exe)
Linkowanie (konsolidacja) programu
Biblioteki zawierają dodatkowe instrukcje programu,
napisane wcześniej bądź przez kogoś innego i
oddzielnie skompilowane.
Proces łączenia (tzw. linkowanie, polska nazwa -
konsolidacja) programu z bibliotekami wykonywany
jest przez program zwany linkerem.
![Page 20: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/20.jpg)
Linkowanie (konsolidacja) programu
Dołączanie bibliotek (include)
![Page 21: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/21.jpg)
Uruchomienie programu – Dev C++
![Page 22: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/22.jpg)
Debugger
W tworzeniu programów pomocnym narzędziem jest
tzw. debugger (po polsku - odpluskiwacz).
Debugger umożliwia śledzenie działania programu i
usuwanie w nim błędów (ang. bug).
![Page 23: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/23.jpg)
Debugger – Dev C++
![Page 24: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/24.jpg)
Jak stworzyć program?
1. Znajdź odpowiedni algorytm.
2. Stwórz wersje źródłową programu.
3. Uruchom kompilację.
4. Jeśli są błędy (kompilacji), wróć do punktu 2
(ewentualnie uruchom Debugger).
5. Uruchom program.
6. Jeśli są błędy (wykonania), wróć do punktu 2.
5. Sprzedaj program za ogromne pieniądze .
![Page 25: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/25.jpg)
Język programowania
Każdy język programowania ma swoją składnię:
o nazwy
o słowa kluczowe
o instrukcje
o struktura programu
o operatory
o znaki specjalne
Operacje wejścia/wyjścia, nie są częścią definicji języka
C++.
![Page 26: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/26.jpg)
Operacje wejścia/wyjścia (obiektowo)
cout<<...
Wyjście
cin>>...
Wejście
Strumienie cin i cout są zdefiniowane w bibliotece
iostream (InputOutputStream)
![Page 27: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/27.jpg)
Operacje wejścia/wyjścia -
#include <iostream>
using namespace std;
int main()
{
cout<<"Niedziela-wyklad z Programowania"<<endl;
system("PAUSE");
return 0;
}
![Page 28: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/28.jpg)
Operacje wejścia/wyjścia (obiektowo)
#include <iostream>
using namespace std;
int main()
{
cout<<"Niedziela - "<<"wyklad z"<<
"Programowania"<<endl;
system("PAUSE");
return 0;
}
![Page 29: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/29.jpg)
Operacje wejścia/wyjścia (obiektowo)
#include <iostream>
using namespace std;
int main()
{
cout<<"Niedziela - ";
cout<<"wyklad z"<<" Programowania"<<endl;
system("PAUSE");
return 0;
}
![Page 30: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/30.jpg)
Język C++ rozróżnia rozmiar liter w nazwach (ale np.
język Pascal nie rozróżnia).
Nazwy
Nazwy (identyfikatory, ang. identifiers) mogą odnosić
się do (pod)programów, zmiennych, stałych etc.
Zwykle nazwą może być dowolnie długi ciąg liter (bez
polskich!), cyfr i znaków podkreślenia zaczynający sie
od litery.
Nazwy poprawne: a_1, liczba1, y, dom1
Nazwy niepoprawne: 1a, 1_a, zm_1/2,
![Page 31: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/31.jpg)
Słowa kluczowe są zwykle wyróżnione przez Edytor
przystosowany do pracy z danym językiem.
Słowa kluczowe
W każdym języku programowania występują tzw.
słowa kluczowe.
Słowa takie mają specjalne znaczenie. Mogą być
np. elementem instrukcji, nazwami predefi-
niowanego typu itp.
Słów kluczowych nie można użyć jako nazw.
Słowami kluczowymi w języku w C++ są np.: int,
if, else, float, typedef, using ...
![Page 32: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/32.jpg)
Słowa kluczowe
Słowa kluczowe są
pogrubione
![Page 33: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/33.jpg)
Znaki specjalne
![Page 34: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/34.jpg)
Przykład
#include <iostream>
using namespace std;
int main()
{
cout<<"Nie\tdzie\nla"<<endl;
system("PAUSE");
return 0;
}
![Page 35: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/35.jpg)
Struktura programu
W każdym języku program ma pewną ustalona
strukturę:
W języku C++ struktura ta jest następująca:
#include <iostream>
…
int main()
{
…
}
![Page 36: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/36.jpg)
Zwykle układ tekstu w linii czy też fakt rozłożenia go
na kilka linii nie ma znaczenia.
Struktura programu
W języku C++ poszczególne instrukcje programu
kończymy zazwyczaj średnikami.
![Page 37: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/37.jpg)
Program 1
#include <iostream>
using namespace std;
int main()
{
cout<<"Wyklad z programowania";
system("PAUSE");
return 0;
}
![Page 38: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/38.jpg)
Program 1
#include <iostream>
using namespace std;
int main()
{
cout <<
"Wyklad z programowania"
;
system("PAUSE");
return 0;
}
![Page 39: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/39.jpg)
Definicje zmiennych
Zwykle na początku programu musimy określić, jakiego
typu będą używane przez nas zmienne oraz
spowodować, żeby została zarezerwowana pamięć na
ich przechowanie.
Zmienna to symboliczne oznaczenie identyfikujące
określone miejsce w pamięci komputera.
W miejscu tym przechowywana jest wartość zmiennej.
![Page 40: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/40.jpg)
Deklaracje zmiennych C++
typ_zmiennej nazwa_zmienej;
W języku C++ definicja zmiennej ma postać:
Aby móc definiować zmienne musimy poznać tzw. typy
predefiniowane w języku C++.
![Page 41: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/41.jpg)
Typy predefiniowane
Zwykle w każdym języku programowania istnieją
pewne predefiniowane typy np.:
liczbowe
logiczne
znakowe
![Page 42: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/42.jpg)
Przyjmujemy, że zmienne całkowite są ze znakiem. Domyślne traktowanie typu char zależy od
kompilatora.
Typy predefiniowane – C++
Do przechowywania liczb całkowitych:
short int
int
long int
Do przechowywania znaków alfanumerycznych:
char
Wszystkie powyższe typy mogą występować w dwóch
wersjach: ze znakiem (signed) i bez znaku (unsigned).
![Page 43: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/43.jpg)
Do przechowywania liczb zmiennoprzecinkowych:
Typy predefiniowane – C++
float
double
long double
Zakresy poszczególnych typów mogą być albo ściśle
określone, albo zależeć od implementacji (czyli od
kompilatora)
![Page 44: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/44.jpg)
Typy predefiniowane – C++
![Page 45: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/45.jpg)
Program 2
#include <iostream>
using namespace std;
int main()
{
int a,b,xyz,LiczbaOsob;
float wsp;
system("PAUSE");
return 0;
}
![Page 46: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/46.jpg)
Operatory
W każdym języku zdefiniowane są pewne operatory,
których można używać do konstruowania różnych
wyrażeń np. arytmetycznych, logicznych.
Operatory arytmetyczne: + - * /
Specyficzne operatory arytmetyczne: % (reszta z
dzielenia, zdefiniowany dla liczb całkowitych)
Typ zwracanego wyniku zależy zazwyczaj od typu
argumentów operacji.
![Page 47: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/47.jpg)
Operatory
Operatory porównywania: <, <=, =<, >
Operatory logiczne koniunkcji i alternatywy:
&& - i
|| - lub
![Page 48: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/48.jpg)
Operator przypisania
Do przypisania zmiennej wartości innej zmiennej lub
wyrażenia służy operator przypisania:
=
#include <iostream>
using namespace std;
int main()
{
int a,b,xyz;
a=5;
xyz=a+6;
system("PAUSE");
return 0;
}
Program 3
![Page 49: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/49.jpg)
Komentarze w programie
Tekst ujęty w znaki komentarza nie jest
kompilowany/wykonywany
tekst od znaku // do końca linii (komentarze tego
typu można zagnieżdżać, w tym również w
komentarzach /* .... */
tekst ujęty w znaki /* .... */
(uwaga - komentarzy tego typu nie można zagnie-
żdżać)
![Page 50: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/50.jpg)
Program 4
#include <iostream>
using namespace std;
int main()
{
//int a,b,xyz;
/*a=5;
xyz=z+6;*/
system("PAUSE");
return 0;
}
![Page 51: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/51.jpg)
Biblioteki
Pewne operacje, np. związane z wprowadzaniem i
wyprowadzaniem informacji na urządzenia takie jak
np. ekran, mogą nie być częścią definicji języka
programowania.
Podprogramy odpowiedzialne za te czynności mogą
znajdować sie w jednej ze standardowych bibliotek,
w które zwykle wyposażane są kompilatory.
Aby można było skorzystać z zawartości biblioteki,
należy ją dołączyć do programu:
#include <nazwa_biblioteki>
![Page 52: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/52.jpg)
Program 5
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout<<sqrt(4)<<endl;
system("PAUSE");
return 0;
}
Funkcja sqrt jest
zdefiniowana w biblio-tece cmath.
![Page 53: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/53.jpg)
Instrukcje sterujące
Instrukcji sterujące umożliwiają warunkowe
lub iteracyjne wykonywanie pewnych
fragmentów kodu.
![Page 54: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/54.jpg)
Instrukcja warunkowa
jeżeli warunek to instrukcje Wersja 1
jeżeli warunek to
instrukcje1
w_przeciwnym_wypadku
instrukcje2
Wersja 2
jeżeli warunek1 to
instrukcje1
jeżeli warunek2 to
instrukcje2
.......
w_przeciwnym_wypadku
instrukcje3
Wersja 3
![Page 55: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/55.jpg)
Instrukcja warunkowa – C++
if(warunek) then instrukcje Wersja 1
If(warunek) then
instrukcje1
else
instrukcje2
Wersja 2
if(warunek1) then
instrukcje1
else if(warunek2) then
instrukcje2
.......
else
instrukcje3
Wersja 3
![Page 56: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/56.jpg)
Program 6 #include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
if(a>0)
cout<<"liczba dodatnia"<<endl;
system("PAUSE");
return 0;
}
![Page 57: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/57.jpg)
Program 7 #include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
if(a>0)
cout<<"liczba ";
cout<<"dodatnia"<<endl;
system("PAUSE");
return 0;
}
![Page 58: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/58.jpg)
Program 7
![Page 59: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/59.jpg)
Program 8 #include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
if(a>0)
{
cout<<"liczba ";
cout<<"dodatnia"<<endl;
}
system("PAUSE");
return 0;
}
![Page 60: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/60.jpg)
Program 9
int a;
cin>>a;
if(a>0)
{
cout<<"liczba dodatnia"<<endl;
}
else
{
cout<<"liczba nie jest dodatnia"<<endl;
}
![Page 61: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/61.jpg)
Program 10
int a;
cin>>a;
if(a>0)
{
cout<<"liczba dodatnia"<<endl;
}
else if(a<0)
{
cout<<"liczba ujemna"<<endl;
}
else
{
cout<<"zero"<<endl;
}
![Page 62: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/62.jpg)
Instrukcje pętli
Pętle służą do iteracyjnego wykonywania pewnych
kroków.
Istnieją dwa rodzaje pętli:
• pętle wykonujące się określoną liczbę razy
• pętle wykonujące się wtedy gdy jest
spełniony pewien warunek
![Page 63: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/63.jpg)
Pętle wykonujące się określoną liczbę razy
Liczba powtórzeń pętli jest z góry zadana.
W pętli funkcjonuje pewna zmienna, zwana licznikiem
pętli, „pamiętająca” ile razy pętla została wykonana.
for(instr_incjalizujaca;warunek;instr_kroku)
{
zawartosc_petli;
}
![Page 64: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/64.jpg)
Pętle wykonujące się określoną liczbę razy
„licznik pętli” należy wcześniej zadeklarować.
Zawartość pętli jest wykonywana tylko gdy warunek jest
spełniony.
Instrukcji inicjalizujących może być kilka (wtedy są
oddzielone przecinkami), podobnie jest w przypadku
instrukcji kroku.
Jeżeli zawartość pętli to kilka instrukcji, to grupujemy je
za pomocą nawiasów klamrowych.
![Page 65: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/65.jpg)
Program 11
#include <iostream>
using namespace std;
int main()
{
for(int i=0;i<4;i++)
{
cout<<"X";
}
system("PAUSE");
return 0;
}
![Page 66: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/66.jpg)
Program 12
#include <iostream>
using namespace std;
int main()
{
for(int i=4;i>0;i--)
{
cout<<"X";
}
system("PAUSE");
return 0;
}
![Page 67: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/67.jpg)
Program 13 #include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
for(int i=4;(i>0)&&(a>0);i--)
{
cout<<"X";
}
system("PAUSE");
return 0;
}
![Page 68: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/68.jpg)
Program 14 #include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
for(int i=4;i>0,a>0;i--)
{
cout<<"X";
}
system("PAUSE");
return 0;
}
![Page 69: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/69.jpg)
Pętle których wykonanie zależy od warunku
W pętlach wykonujących się dopóki zachodzi pewien
warunek:
warunek sprawdzamy PRZED pierwszym wykonaniem
instrukcji wewnątrz pętli, a wiec pętla może nie być
wykonana ani razu.
while(warunek)
{
zawartosc_petli;
}
![Page 70: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/70.jpg)
Program 15 #include <iostream>
using namespace std;
int main()
{
int a=5;
while(a>1)
{
cout<<"X";
a--;
}
system("PAUSE");
return 0;
}
![Page 71: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/71.jpg)
Program 16 #include <iostream>
using namespace std;
int main()
{
int a=5;
while(a>1)
{
cout<<"X";
}
system("PAUSE");
return 0;
}
![Page 72: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/72.jpg)
Program 17 #include <iostream>
using namespace std;
int main()
{
int a=5;
while(a>1)
{
cout<<"X";
}
a--;
system("PAUSE");
return 0;
}
![Page 73: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/73.jpg)
Pętle których wykonanie zależy od warunku
W pętli do..while warunek sprawdzamy PO
pierwszym wykonaniu instrukcji wewnątrz pętli, a wiec
pętla będzie wykonana przynajmniej raz.
do
{
zawartosc_petli;
}
while(warunek);
![Page 74: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/74.jpg)
Program 18 #include <iostream>
using namespace std;
int main()
{
int a=5;
do
{
cout<<"X";
}
while(a<0);
system("PAUSE");
return 0;
}
![Page 75: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/75.jpg)
Program 18 #include <iostream>
using namespace std;
int main()
{
int a=5;
do
{
cout<<"X";
a--;
}
while(a>1);
system("PAUSE");
return 0;
}
![Page 76: Podstawy Programowania - merlin.fic.uni.lodz.plmerlin.fic.uni.lodz.pl/MSkulimowski/Programowanie_1.pdf · Procesor zawiera dwa podstawowe elementy • element nadzorujący i koordynujący](https://reader031.fdocument.pub/reader031/viewer/2022022801/5c7694b109d3f2a52b8c6568/html5/thumbnails/76.jpg)
Wyjście z pętli
Wyjście z pętli umożliwiają nam instrukcje break i
continue.
break - przerywa wykonanie pętli w której jest
bezpośrednio umieszczone.
contimue - przerywa dany obieg pętli, przechodząc
do wykonywania następnego obiegu.