1011z wdprog w01

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Wstęp do programowania

wykład 1

Agata Półrola

Wydział Matematyki i Informatyki UŁ

sem. zimowy 2010/2011

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

To oczywiście pewnie wszyscy wiedzą...

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

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Podstawowe elementy komputera

Procesor

- “mózg” komputera. Zawiera:

jednostkę sterującą (CU - control unit) - element nadzorujący i
koordynujący działanie komputera
jednostkę 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.

Pamięć wewnętrzna

przechowuje m.in. uruchamiany program, dane, tymczasowe
struktury danych niezbędne do poprawnego działania
uruchamianego programu itp.

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Podstawowe elementy komputera

Procesor

- “mózg” komputera. Zawiera:

jednostkę sterującą (CU - control unit) - element nadzorujący i
koordynujący działanie komputera
jednostkę 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.

Pamięć wewnętrzna

przechowuje m.in. uruchamiany program, dane, tymczasowe
struktury danych niezbędne do poprawnego działania
uruchamianego programu itp.

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Podstawowe elementy komputera - cd

jednostki wejścia/wyjścia

umożliwiające komunikację z

“otoczeniem” (mysz, klawiatura, ekran itp)

pamięć pomocnicza

pozwalająca przechowywać dane,

programy które nie są wykonywane itp

zawartość pamięci pomocniczej jest zazwyczaj zorganizowana
w

pliki

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Podstawowe elementy komputera - cd

jednostki wejścia/wyjścia

umożliwiające komunikację z

“otoczeniem” (mysz, klawiatura, ekran itp)

pamięć pomocnicza

pozwalająca przechowywać dane,

programy które nie są wykonywane itp

zawartość pamięci pomocniczej jest zazwyczaj zorganizowana
w

pliki

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Podstawowe elementy komputera - cd

jednostki wejścia/wyjścia

umożliwiające komunikację z

“otoczeniem” (mysz, klawiatura, ekran itp)

pamięć pomocnicza

pozwalająca przechowywać dane,

programy które nie są wykonywane itp

zawartość pamięci pomocniczej jest zazwyczaj zorganizowana
w

pliki

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Pamięć

Pamięć komputera może być traktowana jako ciąg

komórek

pamięci

(nazywanych czasami

słowami

).

Każda komórka ma pewien

adres

, określający jej pozycję w

pamię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 zawiera

cyfrę dwójkową

(0 lub 1)

za pomocą ciągów cyfr dwójkowych zapisujemy liczby
całkowite, rzeczywiste, wartości logiczne, instrukcje programu
itd

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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 z
pamięci i zapewnia, że są one wykonywane w odpowiednim
porządku

instrukcja “mówi” komputerowi, że powinien wykonać jakieś
zadanie (np. przenieść zawartość komórki pamięci znajdującej
się 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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 z
pamięci i zapewnia, że są one wykonywane w odpowiednim
porządku

instrukcja “mówi” komputerowi, że powinien wykonać jakieś
zadanie (np. przenieść zawartość komórki pamięci znajdującej
się 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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 przez
komputer. Mówimy, że jest w postaci

kodu maszynowego

instrukcje kodu maszynowego nazywa się też

rozkazami maszynowymi

Przykład

0011001111110011
0011111110000110
1001001111001111

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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 przez
komputer. Mówimy, że jest w postaci

kodu maszynowego

instrukcje kodu maszynowego nazywa się też

rozkazami maszynowymi

Przykład

0011001111110011
0011111110000110
1001001111001111

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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 przez
komputer. Mówimy, że jest w postaci

kodu maszynowego

instrukcje kodu maszynowego nazywa się też

rozkazami maszynowymi

Przykład

0011001111110011
0011111110000110
1001001111001111

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Języki programowania

początkowo programy były pisane w kodzie maszynowym

kolejnym etapem był

język asembler

jest to język używający krótkich nazw odpowiadających
poszczególnym rozkazom maszynowym danego typu procesora
oraz pozwalający na użycie nazw zmiennych zamiast ich
adresów

Przykład

LOAD A
ADD 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Języki programowania

początkowo programy były pisane w kodzie maszynowym

kolejnym etapem był

język asembler

jest to język używający krótkich nazw odpowiadających
poszczególnym rozkazom maszynowym danego typu procesora
oraz pozwalający na użycie nazw zmiennych zamiast ich
adresów

Przykład

LOAD A
ADD 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Języki programowania

początkowo programy były pisane w kodzie maszynowym

kolejnym etapem był

język asembler

jest to język używający krótkich nazw odpowiadających
poszczególnym rozkazom maszynowym danego typu procesora
oraz pozwalający na użycie nazw zmiennych zamiast ich
adresów

Przykład

LOAD A
ADD 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Języki programowania

początkowo programy były pisane w kodzie maszynowym

kolejnym etapem był

język asembler

jest to język używający krótkich nazw odpowiadających
poszczególnym rozkazom maszynowym danego typu procesora
oraz pozwalający na użycie nazw zmiennych zamiast ich
adresów

Przykład

LOAD A
ADD 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Od kodu do programu wykonywalnego

Program napisany w języku programowania ma postać pliku
tekstowego. Ta postać nazywana jest

kodem źródłowym

Aby program można było wykonać, musi zostać
przetłumaczony na

kod wykonywalny

zapisany w języku

maszynowym

proces tłumaczenia programu nazywany jest

kompilacją

proces tłumaczenia programu składa się tak naprawdę z dwóch czynności:

kompilacji

i

łączenia

kompilacja zamienia program źródłowy na plik binarny zawierający
program w kodzie maszynowym (object file). Najczęściej nie jest on
jeszcze końcową wersją programu - zawiera odwołania do zewnętrznych
podprogramów umieszczonych w bibliotekach

łączenie (konsolidacja, linkowanie) 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Od kodu do programu wykonywalnego

Program napisany w języku programowania ma postać pliku
tekstowego. Ta postać nazywana jest

kodem źródłowym

Aby program można było wykonać, musi zostać
przetłumaczony na

kod wykonywalny

zapisany w języku

maszynowym

proces tłumaczenia programu nazywany jest

kompilacją

proces tłumaczenia programu składa się tak naprawdę z dwóch czynności:

kompilacji

i

łączenia

kompilacja zamienia program źródłowy na plik binarny zawierający
program w kodzie maszynowym (object file). Najczęściej nie jest on
jeszcze końcową wersją programu - zawiera odwołania do zewnętrznych
podprogramów umieszczonych w bibliotekach

łączenie (konsolidacja, linkowanie) 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Języki interpretowane (skryptowe)

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

do uruchomienia programu potrzebne jest środowisko
uruchomieniowe -

interpreter

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

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Etapy tworzenia programu

Aby napisać program musimy:

określić wymagania programu (

faza analizy wymagań i

specyfikacji

)

zaprojektować sposób rozwiązania problemu (

faza projektowa

)

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

faza

implementacji

)

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Etapy tworzenia programu

Aby napisać program musimy:

określić wymagania programu (

faza analizy wymagań i

specyfikacji

)

zaprojektować sposób rozwiązania problemu (

faza projektowa

)

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

faza

implementacji

)

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

PROGRAMOWANIE

JEST JEDNO

tylko językow programowania wiele

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

PROGRAMOWANIE

JEST JEDNO

tylko językow programowania wiele

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Algorytmy

Aby napisać program, musimy znaleźć odpowiedni

algorytm

- czyli

opisać, jak rozwiązać konkretny problem / zadanie

Algorytmy 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Algorytmy

Aby napisać program, musimy znaleźć odpowiedni

algorytm

- czyli

opisać, jak rozwiązać konkretny problem / zadanie
Algorytmy 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Przykłady algorytmów

przepis na ciasto

instrukcja składania mebli

“przepis” na rozwiązanie równania kwadratowego postaci
ax

2

+ bx + c = 0

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

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Sekwencyjność

Opisujemy kolejne kroki. Kroki muszą być wykonywane w takiej
kolejnoś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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Sekwencyjność

Opisujemy kolejne kroki. Kroki muszą być wykonywane w takiej
kolejnoś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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Wybór

Opisujemy fakt konieczności podjęcia decyzji którą z
alternatywnych “ś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ń,

to

przechodzi 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Wybór

Opisujemy fakt konieczności podjęcia decyzji którą z
alternatywnych “ś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ń,

to

przechodzi 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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Iteracja

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

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Iteracja

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

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

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Rekurencja

Problem dzielimy na mniejsze (zagnieżdżone) podproblemy o
podobnej strukturze. Każdy z nich rozwiązujemy stosując ten sam
algorytm.

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Aby tworzyć algorytmy, powinniśmy rozumieć co jest w stanie
zrobić 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 razie
potrzeby 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ęzyku
programowania

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Aby tworzyć algorytmy, powinniśmy rozumieć co jest w stanie
zrobić 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 razie
potrzeby 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ęzyku
programowania

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Aby tworzyć algorytmy, powinniśmy rozumieć co jest w stanie
zrobić 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 razie
potrzeby 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ęzyku
programowania

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Każdy język ma swoją

składnię

:

słowa kluczowe

instrukcje

itd

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

Ada

(dokładniej: Ada 2005)

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Każdy język ma swoją

składnię

:

słowa kluczowe

instrukcje

itd

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

Ada

(dokładniej: Ada 2005)

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Ada

Dobry pierwszy język programowania: łatwa składnia, duże
możliwości, pilnowanie programisty (kontrola błędów)

Język został opracowany w latach 70tych XX wieku, wygrał konkurs zorganizowany

przez Departament Obrony USA pokonując 19 innych projektów. Nazwa Ada pochodzi

od imienia Ady Augusty Lovelace, uważanej za pierwszą programistkę w historii.

Poprzednie wersje języka: Ada83, Ada95

Kto używa: kontrola lotów, lotnictwo (Airbus, Boeing, Eurofighter,
Iliuszyn), koleje (metro w Paryżu i Londynie, TGV) i inni

http://www.adacore.com/home/ada_answers/lookwho/

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Ada

Dobry pierwszy język programowania: łatwa składnia, duże
możliwości, pilnowanie programisty (kontrola błędów)

Język został opracowany w latach 70tych XX wieku, wygrał konkurs zorganizowany

przez Departament Obrony USA pokonując 19 innych projektów. Nazwa Ada pochodzi

od imienia Ady Augusty Lovelace, uważanej za pierwszą programistkę w historii.

Poprzednie wersje języka: Ada83, Ada95

Kto używa: kontrola lotów, lotnictwo (Airbus, Boeing, Eurofighter,
Iliuszyn), koleje (metro w Paryżu i Londynie, TGV) i inni

http://www.adacore.com/home/ada_answers/lookwho/

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Ada

Dobry pierwszy język programowania: łatwa składnia, duże
możliwości, pilnowanie programisty (kontrola błędów)

Język został opracowany w latach 70tych XX wieku, wygrał konkurs zorganizowany

przez Departament Obrony USA pokonując 19 innych projektów. Nazwa Ada pochodzi

od imienia Ady Augusty Lovelace, uważanej za pierwszą programistkę w historii.

Poprzednie wersje języka: Ada83, Ada95

Kto używa: kontrola lotów, lotnictwo (Airbus, Boeing, Eurofighter,
Iliuszyn), koleje (metro w Paryżu i Londynie, TGV) i inni

http://www.adacore.com/home/ada_answers/lookwho/

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Ada

Dobry pierwszy język programowania: łatwa składnia, duże
możliwości, pilnowanie programisty (kontrola błędów)

Język został opracowany w latach 70tych XX wieku, wygrał konkurs zorganizowany

przez Departament Obrony USA pokonując 19 innych projektów. Nazwa Ada pochodzi

od imienia Ady Augusty Lovelace, uważanej za pierwszą programistkę w historii.

Poprzednie wersje języka: Ada83, Ada95

Kto używa: kontrola lotów, lotnictwo (Airbus, Boeing, Eurofighter,
Iliuszyn), koleje (metro w Paryżu i Londynie, TGV) i inni

http://www.adacore.com/home/ada_answers/lookwho/

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Przydatne linki

http://www.adahome.com/

http://www.adacore.com/home/

http://www.adaic.org/standards/ada05.html

http://www.sigada.org/education/

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Przykładowy program

−− n a s z p i e r w s z y program

p r o c e d u r e p r o g 0 i s
b e g i n

n u l l ;

−− t e n program n i c n i e r o b i

end p r o g 1 ;

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

−− n a s z d r u g i program p o w i t a n i e

with ada . t e x t i o ;
use ada . t e x t i o ;

p r o c e d u r e w01 p1 i s

b e g i n

ada . T e x t I O . p u t ( ” witam : −) ” ) ;

s k i p l i n e ;

end w01 p1 ;

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Ogólna postać programu

with u ż y w a n e p a k i e t y ; −− k l a u z u l a

’ w i t h ’

−− e w e n t u a l n i e k l a u z u l a

’ u s e ’

p o s t a c i

−−

’ u s e u ż y w a n e p a k i e t y ’

p r o c e d u r e n a z w a p r o g r a m u i s

−− c z ę ś ć d e k l a r a c y j n a programu

b e g i n

−− c z ę ś ć wykonywalna programu

end p r o g 1 ;

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Elementy programu

program w Adzie składa się z

procedury

klauzula with

informuje z jakich

pakietów

(bibliotek - zbiorów

funkcji i procedur) ma korzystać program

klauzula use

pozwala na szybki dostęp (bezpośrdnie

korzystanie) z zawartości pakietów

część deklaracyjna

zawiera deklaracje i definicje zmiennych,

podprogramów wykorzystywanych przez nasz program itp

część wykonywalna

zawiera instrukcje programu

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Elementy programu

program w Adzie składa się z

procedury

klauzula with

informuje z jakich

pakietów

(bibliotek - zbiorów

funkcji i procedur) ma korzystać program

klauzula use

pozwala na szybki dostęp (bezpośrdnie

korzystanie) z zawartości pakietów

część deklaracyjna

zawiera deklaracje i definicje zmiennych,

podprogramów wykorzystywanych przez nasz program itp

część wykonywalna

zawiera instrukcje programu

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Elementy programu

program w Adzie składa się z

procedury

klauzula with

informuje z jakich

pakietów

(bibliotek - zbiorów

funkcji i procedur) ma korzystać program

klauzula use

pozwala na szybki dostęp (bezpośrdnie

korzystanie) z zawartości pakietów

część deklaracyjna

zawiera deklaracje i definicje zmiennych,

podprogramów wykorzystywanych przez nasz program itp

część wykonywalna

zawiera instrukcje programu

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Elementy programu

program w Adzie składa się z

procedury

klauzula with

informuje z jakich

pakietów

(bibliotek - zbiorów

funkcji i procedur) ma korzystać program

klauzula use

pozwala na szybki dostęp (bezpośrdnie

korzystanie) z zawartości pakietów

część deklaracyjna

zawiera deklaracje i definicje zmiennych,

podprogramów wykorzystywanych przez nasz program itp

część wykonywalna

zawiera instrukcje programu

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Elementy programu

program w Adzie składa się z

procedury

klauzula with

informuje z jakich

pakietów

(bibliotek - zbiorów

funkcji i procedur) ma korzystać program

klauzula use

pozwala na szybki dostęp (bezpośrdnie

korzystanie) z zawartości pakietów

część deklaracyjna

zawiera deklaracje i definicje zmiennych,

podprogramów wykorzystywanych przez nasz program itp

część wykonywalna

zawiera instrukcje programu

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Identyfikatory

Nazwy wykorzystywane w programie (tzw.

identyfikatory

muszą

być ciągami znaków złożonymi z liter, cyft i znaków podkreślenia,
zaczynającymi się od litery. Dwa znaki podkreślenia nie mogą
występować po sobie. Duże i małe litery nie są rozróżniane.

Przykłady

poprawne: prog1, prog 1, moja zmienna, A123

niepoprawne: prog

1,

moj program, on&ona,

1szy program, max%

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Identyfikatory

Nazwy wykorzystywane w programie (tzw.

identyfikatory

muszą

być ciągami znaków złożonymi z liter, cyft i znaków podkreślenia,
zaczynającymi się od litery. Dwa znaki podkreślenia nie mogą
występować po sobie. Duże i małe litery nie są rozróżniane.

Przykłady

poprawne: prog1, prog 1, moja zmienna, A123

niepoprawne: prog

1,

moj program, on&ona,

1szy program, max%

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Słowa kluczowe

Niektóre słowa są tzw.

słowami kluczowymi

(zarezerwowanymi).

Są to słowa (identyfikatory), którym w języku nadano specjalne
znaczenie

Słowa kluczowe w Adzie

abort

else

new

return

abs

elsif

not

abstract

end

null

accept

entry

select

access

separate

aliased

exit

of

subtype

all

or

protected

others

tagged

array

function

out

task

terminate

generic

package

then

begin

goto

pragma

body

private

if

procedure

case

in

for

constant

is

use

raise

declare

range

when

limited

record

while

delta

loop

rem

with

renames

do

mod

requeue

xor

exception

reverse

and

at

type

until

delay

digits

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Słowa kluczowe

Niektóre słowa są tzw.

słowami kluczowymi

(zarezerwowanymi).

Są to słowa (identyfikatory), którym w języku nadano specjalne
znaczenie

Słowa kluczowe w Adzie

abort

else

new

return

abs

elsif

not

abstract

end

null

accept

entry

select

access

separate

aliased

exit

of

subtype

all

or

protected

others

tagged

array

function

out

task

terminate

generic

package

then

begin

goto

pragma

body

private

if

procedure

case

in

for

constant

is

use

raise

declare

range

when

limited

record

while

delta

loop

rem

with

renames

do

mod

requeue

xor

exception

reverse

and

at

type

until

delay

digits

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Komentarz

Komentarz to fragment zawartości pliku z kodem źródlowym
programu, który nie jest brany pod uwagę przy kompilacji.
Komentarze rozpoczynamy dwoma myślnikami (komentarzem jest
wówczas tekst od tych znaków do końca linii)

Przykład

-- to jest komentarz

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Komentarz

Komentarz to fragment zawartości pliku z kodem źródlowym
programu, który nie jest brany pod uwagę przy kompilacji.
Komentarze rozpoczynamy dwoma myślnikami (komentarzem jest
wówczas tekst od tych znaków do końca linii)

Przykład

-- to jest komentarz

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Tekst na ekranie - proste operacje

Procedury umożliwiające proste operacje związane z
wyprowadzaniem tekstu na ekran, zawarte w pakiecie
ada.text io:

put("tekst");

- wypisanie na ekranie tekstu podanego jako parametr;

kursor zostaje bezpośrednio za wypisanym tekstem

put line("Tekst");

-

wypisanie na ekranie tekstu podanego jako

parametr, kursor przechodzi na początek kolejnej linii

new line;

-

przeniesienie kursora na początek nowej linii

new line(n);

-

n-krotne przeniesienie kursora na początek nowej linii

set col(n);

-

ustawienie kursora w n-tej kolumnie (przy czym kursor idzie

zawsze w przód)

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

Wstęp do programowania

background image

Komputery, programy i programowanie

Tworzenie programu

Algorytmy

Język Ada

Tekst na ekranie - proste operacje

Procedury umożliwiające proste operacje związane z
wyprowadzaniem tekstu na ekran, zawarte w pakiecie
ada.text io:

put("tekst");

- wypisanie na ekranie tekstu podanego jako parametr;

kursor zostaje bezpośrednio za wypisanym tekstem

put line("Tekst");

-

wypisanie na ekranie tekstu podanego jako

parametr, kursor przechodzi na początek kolejnej linii

new line;

-

przeniesienie kursora na początek nowej linii

new line(n);

-

n-krotne przeniesienie kursora na początek nowej linii

set col(n);

-

ustawienie kursora w n-tej kolumnie (przy czym kursor idzie

zawsze w przód)

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

Wstęp do programowania


Document Outline


Wyszukiwarka

Podobne podstrony:
1011z wdprog ww07
1011z wdprog ww05
1011z wdprog ww06
1011z wdprog ww08
1011z wdprog ww03
1011z wdprog ww04
1011z wdprog w02
1011z wdprog ww09
1011z wdprog ww07
1011z wdprog ww05
1011z wdprog ww07

więcej podobnych podstron