wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada,...

58
Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stale Wstęp do programowania wyklad 1 Agata Pólrola Wydzial Matematyki i Informatyki UL sem. zimowy 2017/2018 Agata Pólrola Wydzial Matematyki i Informatyki UL Wstęp do programowania

Transcript of wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada,...

Page 1: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Wstęp do programowaniawykład 1

Agata PółrolaWydział Matematyki i Informatyki UŁ

sem. zimowy 2017/2018

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 2: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

strona www: http://www.math.uni.lodz.pl/~polrola

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 3: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

To oczywiście pewnie wszyscy wiedzą...

Komputer może być traktowany jako urządzenie służące doprzechowywania i przetwarzania informacji

Działanie komputera jest kontrolowane przez wykonywanyprzez niego program

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 4: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Podstawowe elementy komputera

Procesor - “mózg” komputera. Zawiera:jednostkę sterującą (CU - control unit) - element nadzorującyi koordynujący działanie komputerajednostkę wykonawczą (EU - execution unit), a w niej m.in.element odpowiedzialny za operacje arytmetyczne i logiczne(ALU - arithmetic-logic unit) oraz różnego rodzaju rejestry(wbudowane w procesor małe komórki pamięci o szybkim dostępie, służące do przechowywania

wyników obliczeń, adresów w pamięci operacyjnej, instrukcji; procesor wykonuje działania

korzystając ze swoich rejestrów - dane są pobierane z pamięci do rejestrów a potem odsyłane) .

Pamięć operacyjnaprzechowuje m.in. uruchamiany program, dane, tymczasowestruktury danych niezbędne do poprawnego działaniauruchamianego programu itp.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 5: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Podstawowe elementy komputera - cd

jednostki wejścia/wyjścia umożliwiające komunikację z“otoczeniem” (mysz, klawiatura, ekran itp)pamięć pomocnicza (zewnętrzna) pozwalająca przechowywaćdane, programy które nie są wykonywane itp

zawartość pamięci pomocniczej jest zazwyczaj zorganizowanaw pliki

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 6: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Pamięć

Pamięć komputera może być traktowana jako ciąg komórekpamięci (nazywanych czasami słowami).

Każda komórka ma pewien adres, określający jej pozycję wpamięci.

Każda komorka składa się z pewnej liczby bitów (zazwyczaj 8,16, 32 lub 64).8 bitów tworzy bajt

Każdy bit przechowuje cyfrę dwójkową (0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczbycałkowite, rzeczywiste, wartości logiczne, instrukcje programuitd

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 7: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Wykonanie programu

Wykonywany program zajmuje grupę powiązanych ze sobąkomórek pamięci. Komórki lub grupy komórek zawierająposzczególne instrukcje programu.

program to ciąg instrukcji

podczas wykonania programu CU czyta kolejne instrukcje zpamięci i zapewnia, że są one wykonywane w odpowiednimporządku

instrukcja “mówi” komputerowi, że powinien wykonać jakieśzadanie (np. przenieść zawartość komórki pamięci znajdującejsię pod jakimś adresem do określonego rejestru procesora,albo dodać dwie liczby w ALU)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 8: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Postać programu (“wewnątrz komputera”)

Instrukcja jest zapisana jako pewien ciąg zer i jedynek.instrukcja o tej samej roli może mieć różną postać w rożnych modelach komputerów

Program zapisany w takiej postaci może być wykonany przezkomputer. Mówimy, że jest w postaci kodu maszynowegoinstrukcje kodu maszynowego nazywa się też rozkazami maszynowymi

Przykład

001100111111001100111111100001101001001111001111

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 9: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Języki programowania

początkowo programy były pisane w kodzie maszynowymkolejnym etapem był język asembler

jest to język używający krótkich nazw odpowiadającychposzczególnym rozkazom maszynowym danego typu procesoraoraz pozwalający na użycie nazw zmiennych zamiast ichadresów

Przykład

LOAD AADD B

STORE C

przetłumaczenie takiego programu na kod maszynowy jest bardzo proste

język asembler jest w użyciu; pozwala pisać bardzo wydajne programy

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 10: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Języki programowania - cd

kolejnym etapem są języki programowania wysokiego poziomu(np. Pascal, Ada, C++, Java, ...)

prosty zapis operacji

Przykład

C := A + B

programy napisane w takich językach są tłumaczone na kod maszynowy

przy pomocy specjalnego translatora

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 11: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Od kodu do programu wykonywalnego

Program napisany w języku programowania ma postać plikutekstowego. Ta postać nazywana jest kodem źródłowym

Aby program można było wykonać, musi zostaćprzetłumaczony na kod wykonywalny (program wykonywalny)zapisany w języku maszynowym

proces tłumaczenia programu nazywany jest kompilacją

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 12: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Od kodu do programu wykonywalnego - cd

proces tłumaczenia programu składa się tak naprawdę zdwóch czynności: kompilacji i łączenia

kompilacja (przetworzenie kodu źródłowego przez program zwanykompilatorem) zamienia program źródłowy na plik binarny zawierającyprogram w kodzie maszynowym (object file). Najczęściej nie jest onjeszcze końcową wersją programu - zawiera odwołania do zewnętrznychpodprogramów umieszczonych w bibliotekach

kompilacja może być poprzedzona analizą kodu źródłowegowykonywaną przez program zwany preprocesorem(często kompilator spełnia równocześnie rolę preprocesora)

łączenie (konsolidacja, linkowanie,) wykonywana przez program zwany

konsolidatorem, tworzy kolejny plik binarny, w którym jest już wszystko co

jest potrzebne do wykonania programu na danym sprzęcie z danym

systemem operacyjnym

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 13: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Języki interpretowane (skryptowe)

Programy napisane w niektórych językach programowania (np. wjęzyku Perl lub Python) uruchamiane są w inny sposób.

do uruchomienia programu potrzebne jest środowiskouruchomieniowe - interpreter

interpreter nie tworzy programu wykonywalnego; poszczególneinstrukcje programu tłumaczone są po kolei na bieżąco na kodmaszynowy i wykonywane. Odwołania do podprogramówumieszczonych w zewnętrznych bibliotekach równieżprzetwarzane są na bieżąco

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 14: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Etapy tworzenia programu

Aby napisać program musimy:

określić wymagania programu (faza analizy wymagań ispecyfikacji)

zaprojektować sposób rozwiązania problemu (faza projektowa)

zapisać w/w projekt w wybranym języku programowania (fazaimplementacji)

skompilować i uruchomić program

sprawdzić, czy program działa poprawnie (faza testowania)

... z czego faza implementacji jest chyba najprostsza ... ;-)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 15: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

PROGRAMOWANIE

JEST JEDNO

tylko językow programowania wiele

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 16: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Algorytmy

Aby napisać program, musimy znaleźć odpowiedni algorytm - czyliopisać, jak rozwiązać konkretny problem / zadanieAlgorytmy można zapisywać na różne sposoby:

w języku naturalnym

w postaci schematu blokowego

w postaci instrukcji programu

w pseudokodzie

...

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 17: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykłady algorytmów

przepis na ciasto

instrukcja składania mebli

“przepis” na rozwiązanie równania kwadratowego postaciax2 + bx + c = 0

metoda znalezienia największej liczby w (bardzo, bardzodługim) ciągu liczb

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 18: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Elementy algorytmów

Sposób opisu algorytmu musi pozwalać na wyrażenie:

sekwencyjności

wyboru

iteracji

rekursji (rekurencji)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 19: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Sekwencyjność

Opisujemy kolejne kroki. Kroki muszą być wykonywane w takiejkolejności, w jakiej zostały zapisane

Przykład

weź 4 jajka, szklankę cukru i cukier waniliowy

utrzyj żółtka z cukrem

przygotuj szklankę mąki z łyżeczką proszku do pieczenia

dodaj część mąki do ucieranej masy

ubij pianę z białek

dodaj do ucieranej masy pianę i resztę mąki

...

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 20: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Wybór

Opisujemy fakt konieczności podjęcia decyzji którą zalternatywnych “ścieżek” wybrać

Przykłady

jeżeli ucierana masa jest zbyt gęsta, to dodaj łyżkę wody

jeżeli uczestnik turnieju odpowiedział poprawnie na co najmniej 5 pytań, toprzechodzi do następnego etapu, w przeciwnym razie odpada z gry

jeżeli wyróżnik trójmianu kwadratowego jest ujemny, to piszemy że trójmian nie

ma pierwiastków, jeżeli wyróżnik jest równy zero, to piszemy że trójmian ma

jeden pierwiastek, w pozostałych przypadkach trójmian ma dwa pierwiastki

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 21: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Iteracja

Opisujemy fakt, że pewna część algorytmu będzie powtarzana -albo określoną ilość razy, albo do momentu zajścia pewnegowarunku

Przykłady

podgrzewaj masę mieszając, dopóki cukier się nie rozpuści

powtórz 100 razy czynność “idź krok na północ” (czyli idź 100 kroków na

północ)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 22: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Rekurencja

Problem dzielimy na mniejsze (zagnieżdżone) podproblemy opodobnej strukturze. Każdy z nich rozwiązujemy stosując ten samalgorytm.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 23: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Aby tworzyć algorytmy, powinniśmy rozumieć co jest w staniezrobić komputer

W przypadku bardziej złożonego problemu wygodnie jest:

podzielić problem na mniejsze, prostsze podproblemy

zaprojektować rozwiązanie dla każdego z nich, w raziepotrzeby znów dzieląc je na podproblemy

Jest to tzw. projektowanie “od ogółu do szczegółu” albo “z góry w dół” (top-down

design)

Kolejny krok to zapisanie algorytmu w wybranym językuprogramowania

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 24: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Każdy język ma swoją składnię:

słowa kluczowe

instrukcje

itd

Na wykładzie / ćwiczeniach będziemy używać języka C++

jeden z bardziej popularnych języków programowania

powstały w latach 80-tych XX wieku jako rozszerzenie językaC o mechanizmy programowania obiektowego

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 25: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Musimy zaopatrzyć się w jakiś kompilator C++ (albo wodpowiednie IDE, tj. zintegrowane środowisko programistyczne dladanego języka)Przykłady IDE:

Code::Blocks

Dev-C++

Eclipse

Falcon C++

wxDev-C++

VisualStudio

Ultimate++

....

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 26: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykładowy program

#include <iostream > /* dyrektywa preprocesora */

int main() // program glowny{

std::cout << "Dzien dobry! \n" ;std::cout << "To ja , Twoj pierwszy program";

return 0;}

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 27: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Dyrektywy preprocesora

#include <iostream >

linia zaczyna się od dyrektywy preprocesorapreprocesor analizuje kod źródłowy poszukując przeznaczonychdla niego poleceń (dyrektyw lub makr)celem wykonania preprocesora jest przekształcenie koduprogramu zgodnie z treścią tych poleceń

w przypadku dyrektywy #include przekształcenie polega nadołączeniu w danym miejscu kodu pliku podanego podyrektywietu dołączamy plik (bibliotekę) iostream ponieważ będziemyużywać tzw. strumieni do wypisania tekstu

uwaga - preprocesor nie dokonuje kontroli poprawnościprogramu!

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 28: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Komentarze

#include <iostream > /* dyrektywa preprocesora */int main() // program glowny

Komentarz to taki fragment zawartości pliku z kodemźródłowym programu, który nie jest brany pod uwagę przykompilacji.W C++ istnieją dwa sposoby wstawiania komentarzy:

komentarzem jest tekst zawarty między /* (otwarciemkomentarza) i */ (zamknięciem komentarza)

komentarzy tego typu nie można zagnieżdżać!

komentarzem jest też tekst rozpoczynający się od // jesttraktowany jako komentarz; końcem komentarza jest wówczaskoniec linii

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 29: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Definicja głównej funkcji programu

int main() // program glowny{...... // tresc programureturn 0;

}

funkcja o nazwie main jest “właściwym programem” w C++. Nazwa ta jestzastrzeżona (nie można jej zmienić)

każda funkcja zwraca wartość pewnego typu; dla main jest to zawsze int -wartość całkowita. Typ wyniku jest podany przed nazwą funkcji. Na końcutreści programu znajduje się instrukcja return 0; powodująca zwrócenie zera(oznaczającego zazwyczaj poprawne wykonanie programu)

funkcja może przyjmować również pewne dane wejściowe - argumenty. Listęargumentów podaje się w nawiasach () następujących po nazwie funkcji. Pustalista argumentów oznaczana jest pustymi nawiasami..

nawiasy klamrowe { i } wyznaczają początek i koniec bloku zawierającegoinstrukcje programu

każda instrukcja programu jest zakończona średnikiem

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 30: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Strumień wyjścia std::cout

std::cout << "Dzien dobry! \n" ;std::cout << "To ja , Twoj pierwszy program";

użycie tzw. strumienia std::cout pozwala na przesłanie danych nastandardowe wyjście (ekran)

znaki << (nazywane operatorem strumienia wyjścia pozwalają“wskazać dane” które mają być przekazane do strumienia

tu przekazujemy tekst (napis). Napis musi być ujęty w cudzysłowy

polecenie “przesyłania danych” musi być zakończone średnikiem

przekierowania można “sklejać”:

std::cout << "Dzien dobry! \n" << "To ja" ;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 31: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Znaki specjalne w tekście

std::cout << "Dzien dobry! \n" ;std::cout << "To ja , \t \t Twoj pierwszy \"program \" ";

W tekście można umieszczać znaki specjalne. Najczęściej używane to:

\n - przejście do nowej linii

\t - znak tabulacji

\" - znak cudzysłowu

Efekt przejścia do nowej linii można uzyskać również przesyłając nastandardowe wyjście znak oznaczony std::endl

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 32: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykładowy program - drobna zmiana

#include <iostream >

using namespace std; // okreslenie przestrzeni nazw

int main(){

cout << "Dzien dobry! " << endl;cout << "To ja, Twoj pierwszy program";

return 0;}

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 33: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przestrzenie nazw

using namespace std;...cout << "Dzien dobry! " << endl;

Powyższa linia “mówi” że w programie poniżej niej będziemyużywać nazw ze standardowej przestrzeni nazw - std

nie musimy zatem poprzedzać nazw cout i endl przedrostkiem std::- kompilator “wie” gdzie poszukiwać danego elementu

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 34: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Identyfikatory w C++

Nazwy wykorzystywane w programie, (tzw. identyfikatory)muszą być ciągami znaków złożonymi z liter, cyfr i znakówpodkreślenia, zaczynającymi się od litery, przy czym znakpodkreślenia traktowany jest jak litera.

polskie znaki nie są traktowane jako litery!

wielkie i małe litery są rozróżniane

zazwyczaj rozróżniane są tylko pierwsze 32 znaki

Przykłady

poprawne: prog1, prog 1, moja zmienna, A123,JamesBond007, moj program

niepoprawne: on&ona, 1szy program, max%

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 35: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Słowa kluczowe w C++

Niektóre identyfikatory są tzw. słowami kluczowymi(zarezerwowanymi). Nie mogą one pojawiać się w programie winnym znaczeniu niż nadane w standardzie języka.

Słowa kluczowe w C++and and eq asm auto bitandbitor bool break case catchchar class compl const const castcontinue default delete do doubledynamic cast else enum explicit exportextern false float for friendgoto if inline int longmutable namespace new not not eqoperator or or eq private protectedpublic register reinterpret cast return shortsigned sizeof static static cast structswitch template this throw truetry typedef typeid typename union

unsigned using virtual void volatilewchar t while xor xor eq

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 36: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Liczby

Korzystanie z liczb

C++ “zna” różne rodzaje liczb (różne typy liczbowe) i “potrafi”wykonywać na nich różne operacje arytmetyczne.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 37: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Podstawowe działania na liczbach całkowitych

#include <iostream >using namespace std;int main(){

cout << "20 + 2 = " << 20+2 << endl;cout << "20 - 2 = " << 20-2 << endl;cout << "20 * 2 = " << 20*2 << endl;cout << "20 / 2 = " << 20/2 << endl;cout << "20 / 3 = " << 20/3 << endl;cout << "20 % 2 = " << 20%2 << endl;cout << "20 % 3 = " << 20%3 << endl;

return 0;}

użyte operatory arytmetyczne: + - dodawanie, − - odejmowanie, ∗- mnożenie, / - dzielenie, % - modulo (reszta z dzielenia)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 38: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Podstawowe działania na liczbachrzeczywistych

Liczby rzeczywiste zapisujemy z kropką dziesiętną(przecinek zamiast kropki nie jest dozwolony!!)

#include <iostream >using namespace std;int main(){

cout << "20 + 2.0 = " << 20+2.0 << endl;cout << "20 - 2.0 = " << 20 -2.0 << endl;cout << "20 * 2.0 = " << 20*2.0 << endl;cout << "20 / 2.0 = " << 20/2.0 << endl;cout << "20 / 2.1 = " << 20/2.1 << endl;

return 0;}

operatory arytmetyczne: + - dodawanie, − - odejmowanie, ∗ -mnożenie, / - dzielenie (nie ma operatora modulo!)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 39: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Dzielenie

dzielenie dwóch liczb całkowitych daje wynik będący liczbącałkowitą (wykonywane jest dzielenie całkowite - 20/2 daje10, 20/3 daje 6)

jeśli przynajmniej jedna z liczb jest rzeczywista, wynik jestliczbą rzeczywistą

... zatem jeśli chcemy uzyskać “poprawny” wynik dzielenia,musimy przynajmniej jedną z liczb zapisać z kropką dziesiętną(możliwe zapisy: 20.0/3 albo 20/3.0 albo 20.0/3.0)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 40: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Dzielenie

dzielenie dwóch liczb całkowitych daje wynik będący liczbącałkowitą (wykonywane jest dzielenie całkowite - 20/2 daje10, 20/3 daje 6)

jeśli przynajmniej jedna z liczb jest rzeczywista, wynik jestliczbą rzeczywistą

... zatem jeśli chcemy uzyskać “poprawny” wynik dzielenia,musimy przynajmniej jedną z liczb zapisać z kropką dziesiętną(możliwe zapisy: 20.0/3 albo 20/3.0 albo 20.0/3.0)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 41: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Literały

Literały są rodzajem stałych (wyrażeń o ustalonej, niezmiennejwartości). Umożliwiają umieszczenie w kodzie źródłowymprogramu konkretnych wartości (liczb, znaków, napisów),reprezentujac je za pomocą odpowiedniej notacji.Literały numeryczne reprezentują wartości liczbowe. Wyróżniamyliterały całkowite reprezentujące wartości całkowite oraz literałyzmiennoprzecinkowe (ang. floating-point literals) reprezentującewartości rzeczywiste.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 42: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Literały całkowite

liczby dziesiętne: 12, -12, 1234

liczby ósemkowe (system o podstawie 8): 012, -012 (cyfryliczby są poprzedzone zerem)

liczby szesnastkowe (system o podstawie 16): 0xab, 0x12,-0X12, -0XAB (cyfry liczby są poprzedzone znakami 0x albo0X, cyfry w tym systemie to 0..9, a..f)

liczby binarne (system o podstawie 2) - zapis dozwolony odstandardu C++14: 0B001, -0b1111 (cyfry liczby poprzedzonesą znakami 0b albo 0B)

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 43: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Literały całkowite - cd

Domyślnym typem literałów całkowitych nie mającychprzyrostka specyfikującego typ jest int. Przyrostkiumożliwiające przypisanie literału całkowitego do innego typuliczbowego to: (o typach – za chwilę)

u lub U – typ unsigned intl lub L – typ long intll lub LL – typ long long int

(przyrostki można [odpowiednio] łączyć - np. ul oznaczaunsigned long int. Przykłady: 75l, 75ul, 75LL).

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 44: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Literały rzeczywiste

Reprezentują liczby rzeczywiste, z kropką dziesiętną i/lubwykładnikiem.

notacja “standardowa”: 12.3, -4.5

notacja naukowa (wykładncza) : -3.3e5, 4.6E-2

domyślnym typem literałów rzeczywistych jest double.Przyrostki umożliwiające przyisanie literału rzeczywistego doinnego typu rzeczywistego:f lub F – typ floatl lub L – typ long double

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 45: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Literały rzeczywiste

Reprezentują liczby rzeczywiste, z kropką dziesiętną i/lubwykładnikiem.

notacja “standardowa”: 12.3, -4.5

notacja naukowa (wykładncza) : -3.3e5, 4.6E-2domyślnym typem literałów rzeczywistych jest double.Przyrostki umożliwiające przyisanie literału rzeczywistego doinnego typu rzeczywistego:f lub F – typ floatl lub L – typ long double

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 46: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Typy liczbowe

W języku zdefiniowane są pewne (tzw. predefiniowane) typyliczbowe. Podstawowe to:

int, short int, long int, long long int służące doreprezentowania liczb całkowitych; każdy z nich może być zeznakiem (signed, domyślnie) lub bez znaku (unsigned).Przykład: unsigned short int - typ “krótki całkowity” bezznaku(dozwolone jest używanie skróconych nazw typów: short, long, long long )

float, double i long double służące do reprezentowanialiczb rzeczywistych

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 47: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Zakresy typów

Wartości danego typu T reprezentowane są w pamięci komputeraprzy użyciu pewnej, ustalonej dla danego typu, liczby bitów (jakociągi zer i jedynek).Z tego powodu każdy typ ma swój zakres - istnieje w nim wartośćnajmniejsza i największa

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 48: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Wyświetlenie zakresu typu int

#include <iostream >#include <limits >using namespace std;

int main(){

cout << "zakres int: od " << std:: numeric_limits <int >:: min() << "do " << std:: numeric_limits <int >:: max() << endl;

cout << "rozmiar wartosci typu int w bajtach: "<< sizeof(int) << endl;

return 0;}

Zakresy innych typów liczbowych można uzyskać w podobnysposób

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 49: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Zmienne

Aby móc zapamiętać (przechować) w pamięci komputerawprowadzoną z klawiatury albo wyliczoną w programie wartośćpewnego typu, musimy zdefiniować zmienną tego typu (angvariable)

w tym celu piszemytyp zmiennej nazwa zmiennej ; (e.g., int a; )nazwy zmiennych muszą być indentyfikatorami (nie będącymisłowami kluczowymi)wynik: w odpowiednim momencie uruchamiania programu wpamięci zostaje zarezerwowany pewien obszar o rozmiarzeodpowiednim dla przechowania wartości danego typu.Odwołujemy się do niego przez nazwę zmiennej.

można zdefiniować naraz kilka zmiennych tego samego typu:int a,b,c;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 50: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Zmienne

Aby móc zapamiętać (przechować) w pamięci komputerawprowadzoną z klawiatury albo wyliczoną w programie wartośćpewnego typu, musimy zdefiniować zmienną tego typu (angvariable)

w tym celu piszemytyp zmiennej nazwa zmiennej ; (e.g., int a; )nazwy zmiennych muszą być indentyfikatorami (nie będącymisłowami kluczowymi)wynik: w odpowiednim momencie uruchamiania programu wpamięci zostaje zarezerwowany pewien obszar o rozmiarzeodpowiednim dla przechowania wartości danego typu.Odwołujemy się do niego przez nazwę zmiennej.można zdefiniować naraz kilka zmiennych tego samego typu:int a,b,c;

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 51: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Definicja a deklaracja

deklaracja informuje kompilator że dana nazwa jest już znana,ale nie powoduje alokacji (rezerwacji) pamięci(przykład: extern int a; - informuje że zmienna a jestzdefiniowana w innym pliku będącym częścią programu)

definicja określa dokładnie czym jest dany identyfikator.Zdefiniowanie zmiennej skutkuje zarezerwowaniem pamięci dlatej zmiennej

Każda definicja jest deklaracją, ale nie każda deklaracja jestdefinicją.

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 52: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przypisanie

Wartość zmiennej może ulegać zmianie w trakcie działaniaprogramu

Operator przypisania (=) pozwala nadać zmiennej pewnąwartość

przypisywana wartość musi oczywiście mieścić się z zakresietypu do którego należy zmenna

zmienna, której nie przypisano w programie żadnej wartości,ma wartość przypadkową

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 53: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przypisanie

Wartość zmiennej może ulegać zmianie w trakcie działaniaprogramu

Operator przypisania (=) pozwala nadać zmiennej pewnąwartośćprzypisywana wartość musi oczywiście mieścić się z zakresietypu do którego należy zmenna

zmienna, której nie przypisano w programie żadnej wartości,ma wartość przypadkową

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 54: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykład (Użycie instrukcji przypisania)

deklaracje zmiennych: int a,b,i;

i = 2;

a = 2+2;

b = a+i;weź wartość zmiennej a, dodaj do niej wartość zmiennej i, otrzymany wynik

przypisz zmiennej b

a = a + 5;weż wartość zmiennej a, dodaj do niej 5, otrzymany wynik przypisz z powrotem

zmiennej a

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 55: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykład użycia zmiennych

#include <iostream >using namespace std;int main(){

int a;int b,c;

a=3;b=6;c = a+b;

cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "a + b = " << c << endl;

return 0;}

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 56: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Inicjalizacja zmiennych

Zmiennej możemy nadać wartość już w momencie jej definiowania(inicjalizacja zmiennej). Przypisywana wartość powinna mieścic sięw zakresie typu.Postać: typ zmiennej nazwa zmiennej = wyrażenie;

Przykłady

int i = 0;

float s= 2.5234 + 3.234;

int k, l=100, m;tylko jedna zmienna ma nadaną wartość początkową 100

powyższe wartości początkowe mogą być oczywiście zmienione w trakcie działania

programu

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 57: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Inicjalizacja zmiennych

Zmiennej możemy nadać wartość już w momencie jej definiowania(inicjalizacja zmiennej). Przypisywana wartość powinna mieścic sięw zakresie typu.Postać: typ zmiennej nazwa zmiennej = wyrażenie;

Przykłady

int i = 0;

float s= 2.5234 + 3.234;

int k, l=100, m;tylko jedna zmienna ma nadaną wartość początkową 100

powyższe wartości początkowe mogą być oczywiście zmienione w trakcie działania

programu

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania

Page 58: wykład 1 Agata Półrola Wydział Matematyki i …polrola/strony/1718z-wdprog/wdprog...Pascal, Ada, C++, Java, ...) prosty zapis operacji Przykład C := A + B programy napisane w

Komputery, programy, języki Tworzenie programu Algorytmy Język C++ Liczby Typy liczbowe Zmienne i stałe

Przykład (inicjalizacja zmiennych,oraz C++ to nie Excel ;-) )

#include <iostream >using namespace std;int main(){int a = 3;int x, b=10;int c = a*b;

cout << "niezainicjalizowany x = " << x << endl;a = 6;cout << "a = " << a << " b = " << b << " c = " << c

<< endl; /* wartosc zmiennej a zmieniona ,wartosc c bez zmiany (nadal 30) */

return 0;}

Agata Półrola Wydział Matematyki i Informatyki UŁ

Wstęp do programowania