1 Inf Wyk1 2017 - kkiem.agh.edu.pl · Opis języka BASIC oraz przykłady programów w tym j ęzyku...

12
1 Wydzial Inżynierii Mechanicznej i Robotyki AGH w Krakowie Studia Niestacjonarne, Rok 1, semestr 2 przedmiot: Informatyka Dr inż. Zbigniew Rudnicki Katedra Konstrukcji i Eksploatacji Maszyn AGH B-2, pok.301, tel.617-31-27 2 AGH WIMiR Studia Niestacjonarne Semestr 2: Informatyka 2016 AiR 8 godz. wykladu, 8 godz. ćwiczeń (poprzednio 10+10) MiBM 8 godz. wykladu, 8 godz. ćwiczeń (poprzednio 8+16) Wyklady: AiR : B2 sala 123; MiBM : sala 100 dr inż Zbigniew Rudnicki, B-2 pok.301 e-mail: [email protected] Ćwiczenia laboratoryjne : B2 sale: 320-322 - dr inż. Krystyna Prync-Skotniczny - mgr inż. Dariusz Wędrychowicz Informacje: w INTERNECIE: http://www.kkiem.agh.edu.pl (Nauczanie - Materialy dyd.) i w gablotce B-2 III p. obok pokoju 301 3 Cele nauczania przedmiotu Informatyka (ograniczone wymiarem godzinowym) 1) poznanie podstaw konstruowania algorytmów 2) nabycie umiejętności konstruowania prostych programów z użyciem standardowych poleceń dostępnych w większości języków programowania 3) nauczenie się podstaw użytkowania języka i potężnego pakietu oprogramowania jakim jest Matlab, a w tym środków do operowania na tablicach oraz generowania wykresów 4) poznanie zasad tworzenia programów obiektowo-zdarzeniowych z interfejsem graficznym („okienkowych”) w Matlabie 4 8 godz . ćwiczeń laboratoryjnych: Algorytmy (1 godz.)- śledzenie dzialań (oceniane), konstruowanie algorytmów (zadanie domowe) MATLAB (7 godz.): dzialania w oknie komend i proste programy, tabelaryzacja funkcji, zapis do pliku, wykres XY, programy z pętlą i warunkiem, – rozwiązywanie równań nieliniowych, pierwiastki wielomianu budowa interfejsu graficznego, interpolacja i aproksymacja, operowanie na macierzach i uklady równań liniowych test: podstawowe pojęcia z wykladów i ćwiczeń Ćwiczenia Laboratoryjne: 5 Podręcznik: Wprowadzenie do Informatyki i Programowania Z. Rudnicki. Wyd. AGH wydanie drugie Kraków 2015 6 Podręcznik zawiera m.in.: 1. Podstawy tworzenia stron WWW w językach HTML i PHP 2. Wiedzę o algorytmach i strukturach danych wraz z przykladami i ćwiczeniami 3. Opis języka BASIC oraz przyklady programów w tym języku 4. Podstawy programowania obiektowego na przykladzie w Visual Basic-u 5. Szczególowe wprowadzenie do programowania w MATLAB-ie (3 rozdzialy) z uwzględnieniem: – instrukcji strukturalnych, – operacji na tablicach, – tworzenia wykresów, – programowania w trybie graficznym 6. Opis podstaw języka C i porównania go z Matlabem 7. Wprowadzenie do programowania Baz Danych 8. Zarys wybranych metod sztucznej inteligencji (sieci neuronowe i systemy ekspertowe)

Transcript of 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · Opis języka BASIC oraz przykłady programów w tym j ęzyku...

1

Wydział Inżynierii Mechanicznej i Robotyki

AGH w Krakowie

Studia Niestacjonarne, Rok 1, semestr 2

przedmiot:

Informatyka

Dr inż. Zbigniew Rudnicki

Katedra Konstrukcji i Eksploatacji Maszyn AGH

B-2, pok.301, tel.617-31-272

AGH WIMiR Studia Niestacjonarne

Semestr 2: Informatyka 2016AiR 8 godz. wykładu, 8 godz. ćwiczeń (poprzednio 10+10)

MiBM 8 godz. wykładu, 8 godz. ćwiczeń (poprzednio 8+16)

• Wykłady: AiR: B2 sala 123; MiBM: sala 100

dr inż Zbigniew Rudnicki, B-2 pok.301

e-mail: [email protected]

• Ćwiczenia laboratoryjne: B2 sale: 320-322

- dr inż. Krystyna Prync-Skotniczny

- mgr inż. Dariusz Wędrychowicz

Informacje: w INTERNECIE:

http://www.kkiem.agh.edu.pl (Nauczanie - Materiały dyd.)

i w gablotce B-2 III p. obok pokoju 301

3

Cele nauczania przedmiotu Informatyka(ograniczone wymiarem godzinowym)

1) poznanie podstaw konstruowania algorytmów

2) nabycie umiejętności konstruowania prostych programów z użyciem

standardowych poleceń dostępnych w większości języków programowania

3) nauczenie się podstaw użytkowania języka i potężnego pakietu

oprogramowania jakim jest Matlab, a w tym środków do

operowania na tablicach oraz generowania wykresów

4) poznanie zasad tworzenia programów obiektowo-zdarzeniowych

z interfejsem graficznym („okienkowych”) w Matlabie

4

8 godz. ćwiczeń laboratoryjnych:

• Algorytmy (1 godz.)- śledzenie działań (oceniane),

konstruowanie algorytmów (zadanie domowe)

• MATLAB (7 godz.):

– działania w oknie komend i proste programy,

– tabelaryzacja funkcji, zapis do pliku, wykres XY,

– programy z pętlą i warunkiem,

– rozwiązywanie równań nieliniowych, pierwiastki wielomianu

– budowa interfejsu graficznego,

– interpolacja i aproksymacja,

– operowanie na macierzach i układy równań liniowych

– test: podstawowe pojęcia z wykładów i ćwiczeń

Ćwiczenia Laboratoryjne:

5

Podręcznik:

Wprowadzenie

do Informatyki

i

Programowania

Z. Rudnicki. Wyd. AGH

wydanie drugie

Kraków 2015

6

Podręcznik zawiera m.in.:

1. Podstawy tworzenia stron WWW w językach HTML i PHP

2. Wiedzę o algorytmach i strukturach danych

wraz z przykładami i ćwiczeniami

3. Opis języka BASIC oraz przykłady programów w tym języku

4. Podstawy programowania obiektowego na przykładzie w Visual Basic-u

5. Szczegółowe wprowadzenie do programowania w MATLAB-ie

(3 rozdziały) z uwzględnieniem:

– instrukcji strukturalnych,

– operacji na tablicach,

– tworzenia wykresów,

– programowania w trybie graficznym

6. Opis podstaw języka C i porównania go z Matlabem

7. Wprowadzenie do programowania Baz Danych

8. Zarys wybranych metod sztucznej inteligencji

(sieci neuronowe i systemy ekspertowe)

2

7

Tematyka wykładów (obecność sprawdzana):

1) Wprowadzenie do algorytmów i struktury danych oraz

metody i narzędzia programowania

2) Matlab - charakterystyka, tryby użytkowania i podstawy

programowania

3) Przykłady programów w Matlabie

4) Macierze i operacje macierzowe w Matlabie

5) Wykresy oraz obiekty i programy graficzne w Matlabie

6) Elementy programowania obiektowo-zdarzeniowego

w języku Visual Basic

7) Charakterystyka języka C i porównanie z Matlabem

8) Budowa i obsługa baz danych. Elementy języka SQL

Wykład 1:

Wprowadzenie do programowania

czyli

ALGORYTMY i STRUKTURY

DANYCH

Opracował: Zbigniew Rudnicki

9

Po co komputerowi programy?

Komputer dzięki programom (aplikacjom) może zmieniaćsię w różne narzędzia, np. do:

• pisania

• malowania

• komunikowania się

• obliczania

• komponowania i odtwarzania muzyki i filmów

• nauczania

• sterowania urządzeniami

• .......

10

Współczesne programy „okienkowe”

kontra „tradycyjne” programy linearne

• Współczesne programy „okienkowe” są obiektowo-zdarzeniowymi, czyli:

- program prezentuje na ekranie szereg obiektów

i czeka na zdarzenia np.: kliknięcie któregoś z nich.

Inaczej mówiąc:

steruje użytkownik a programów jest tyle ile zdarzeń.

• Tradycyjny program - realizując ściśle określone zadanie - wykonuje

polecenia krok po kroku w kolejności (linearnej) w jakiej są zapisane

w programie,

a w określonych sytuacjach żąda od użytkownika danych.

Inaczej mówiąc: steruje program a użytkownik się do niego

dostosowuje choć może wybierać zaproponowane warianty

11

Najpierw programowanie tradycyjne

Większą część semestru poświęcimy nauce programowania

tradycyjnego

- z użyciem niewielkiej liczby podstawowych poleceń wtym instrukcji strukturalnych, organizujących rozgałęzienia

i pętle programu.

Dopiero ostatnie zajęcia poświęcone będą znacznie

trudniejszemu -

programowaniu obiektowo-zdarzeniowemu

12

Jak opracować program

dla realizacji określonego zadania?1) określić jakie wyniki mają być uzyskane

oraz jakie dane będą do tego niezbędne

2) zdefiniować potrzebne zmienne - a dokładniej struktury

danych czyli pojemniki

dla danych oraz wyników pośrednich i końcowych

3) zdefiniować (krok po kroku) algorytm czyli ciąg operacji

jakie mają być wykonywane na danych

4) zapisać algorytm jako program w określonym języku

programowania

5) przetestować działanie programu na reprezentacyjnych

zestawach danych i dokonać niezbędnych poprawek.

3

13

A więc podstawy

programowania to:

1. Umiejętność tworzenia algorytmów

operujących na

zmiennych i strukturach danych

2. Znajomość języka programowania

i środowiska do uruchamiania i

testowania programów

14

ALGORYTMAlgorytm to:

a) opis danych oraz

b) opis procedury realizacji zadania z pewnej, ściśle określonej

klasy zadań, np..: rozwiązywania dowolnego równania

kwadratowego

Opis procedury składa się ze skończonej liczby jednoznacznie

określonych poleceń (kroków) jakie należy wykonaćw określonej kolejności dla uzyskania celu.

Polecenia muszą być zrozumiałe i możliwe do realizacji dla

wykonawcy algorytmu.

Np.: wykonawcą algorytmu obliczeń będzie komputer

a wykonawcą algorytmu pieczenia placka - pani domu

15

Polecenia DLA KOMPUTERA

Pamiętaj, że: algorytm i program mają się składaćNIE z równań i nierówności ale

z POLECEŃ DLA KOMPUTERA

zwanych też: instrukcjami, rozkazami, komendami,

Np. polecenie: „Wczytaj A”

lub dokładniej „Wczytaj wartość do zmiennej A”

oznacza, że: komputer ma zażądać liczby

a gdy ją otrzyma to ma ją umieścićw obszarze pamięci zarezerwowanym

dla zmiennej A

16

Algorytm ma być uniwersalny dla

określonej klasy zadań

• Algorytm nie ma służyć jednorazowo, lecz ma stanowić proceduręrozwiązywania:

DOWOLNEGO ZADANIA z określonej KLASY ZADAŃna przykład „rozwiązywania dowolnego równania kwadratowego”.

• Każdy algorytm i program powinien móc działaćdla wielu różnych zestawów danych

• Uzyskujemy to przez operowanie NAZWAMI zmiennych

oraz dzięki umiejętności abstrakcyjnego uogólniania

17

Abstrakcyjne uogólnianie

Tworzenie programu to NIE OBLICZENIA!

Konstruując algorytm:

• przeanalizuj na konkretnych przykładach - jakie operacje

komputer ma wykonywać i w jakiej kolejności a następnie uogólnij tak

aby algorytm mógł działać dla wielu zestawów danych

• nie myśl o liczbach tylko o ROLI jaką pełnią izastąp liczby odpowiednio nazwanymi zmiennymi

• uwzględnij wszelkie sytuacje - na przykład jak unikniesz dzielenia

przez zero, ...

• przykłady liczbowe niech posłużą do testowania poprawności działania

algorytmu i programu (należy wówczas unikać szczególnych przypadków np.

jednakowych wartości zmiennych)

18

Zmienne proste (skalarne)

i struktury danych

4

19

Zmienne w programowaniu• Zmienne traktujemy jak pojemniki na wartości danych

• Każda zmienna posiada NAZWĘ przez którą odwołujemy siędo przypisanego tej zmiennej obszaru pamięci komputera

• Rodzaj przechowywanych danych związany jest z typem

zmiennej (np. zmienne liczbowe, tekstowe, logiczne)

• Każda zmienna musi mieć ściśle określoną rolęi najlepiej gdy nazwa zmiennej kojarzy się z tą rolą

• Przy tworzeniu algorytmu i programu:

- koniecznie sporządź SPIS ZMIENNYCH

z precyzyjnym opisem ich ról

20

Każda zmienna posiada:

• NAZWĘ (lub inny identyfikator np.: adres)

• TYP wartości jakie może przyjmować(oraz zakres i strukturę - jeśli jest to zmienna złożona)

• WARTOŚĆ - określoną w każdym momencie

(a jeśli jest to zmienna złożona to zbiór wartości)

� ale przede wszystkim pełni OKREŚLONĄ ROLĘ

21

Zmienne w komputerze

• Każdej zmiennej przypisany jest określony obszar w

pamięci operacyjnej komputera identyfikowany adresem

pierwszej jego komórki

• Obszar ten przechowuje wartość zmiennej a odwołujemy

się do niego przez jej nazwę.

• Nowo nadana wartość zmiennej zastępuje wartośćdotychczasową.

• Jeśli zmienna musi przechowywać wiele wartości to musi

być zmienną złożonąnp. wektorem, tablicą, rekordem, listą.

22

Zakres i czas trwania zmiennej

Zmienne w programach mogą się też różnić:

• Zakresem widoczności:

– globalne - widziane w całym programie

– lokalne - widziane tylko w jednym bloku (podprogramie)

– wspólne (common) dla określonych podprogramów

• Czasem trwania:

– statyczne - istniejące przez cały czas działania programu

– dynamiczne - tworzone i usuwane w trakcie działania progr.

23

Zmienne proste i złożone

czyli STRUKTURY DANYCH

Zmienna skalarna (zmienna prosta)

- przechowuje pojedynczą wartość

Oprócz zmiennych prostych czyli skalarnych

mogą występować zmienne złożone czyli struktury danych

takie jak:

– tablice (wektory, macierze i in.)

– rekordy (inaczej struktury)

– listy (zmienna długość)i inne

24

Struktury danych (1) - TABLICA

• TABLICA (ang.: ARRAY) to struktura wielu danych, które

oprócz wspólnej nazwy posiadają indywidualne indeksy

(numery).

• Liczba indeksów elementu tablicy nazywa się jej wymiarem

• Maksymalne wartości indeksów określają rozmiary tablicy

• Tablica jednowymiarowa to WEKTOR

• Tablica dwuwymiarowa to MACIERZ

5

25

Struktury danych (2)

• Rekord to zbiór n danych o pojedynczym obiekcie lub zdarzeniu

(np. twoje dane personalne: Nazwisko, rok urodzenia, ...), przy

czym każda z tych danych ma określony typ i nie muszą one byćjednakowego typu

zbiór rekordów (wierszy) tworzy tabelę (kartotekę) bazy danych

W Matlabie typ rekordowy nazywa się struct

26

Struktury danych (3)

o zmiennej długości - Listy

• Lista jednokierunkowa - to ciąg danych z których każda

oprócz wartości zawiera identyfikator (lub adres) swego

następnika lub znacznik końca listy

• Lista dwukierunkowa - to ciąg danych z których każda

oprócz wartości zawiera identyfikator (lub adres) swego

następnika lub znacznik końca listy oraz identyfikator

poprzednika lub znacznik początku.

27

Struktury danych (4)

o zmiennej długości - stos i kolejka• Kolejka to lista o zmiennej długości do której elementy można

dołączać na końcu listy a usuwać na początku listy

Może być sprzętowo realizowana jako

rejestr FIFO (ang.: First In First Out

- „ten co pierwszy przyszedł

ten pierwszy odejdzie”)

_______________________________________________________

• Stos to lista o zmiennej długości w której zarówno

dołączanie jak usuwanie elementów odbywa sięna końcu listy. Może być sprzętowo realizowana

jako rejestr LIFO (ang.: Last In First Out

- „ostatni przyszedł pierwszy wyjdzie”)

28

Podstawowe polecenia

algorytmów obliczeniowych

Do budowania algorytmów obliczeniowych

oraz tworzenia programów obliczeniowych,

w dowolnym języku programowania,

wystarczy znać:

8 podstawowych typów poleceń:

29

8 podstawowych typów poleceń:1) Wprowadzanie (wczytywanie) danych = wartości

danych pobierane z urządzenia wejściowego lub z

pliku mają być przesłane do odpowiednich zmiennych

2) Podstawianie (przypisywanie) = wartość podanego

wyrażenia ma być wyznaczona i przesłana do

zmiennej (przypisana zmiennej)

3) Wyprowadzanie wyników i objaśnień na ekran lub

drukarkę lub do pliku, ...

4) Instrukcja warunkowa „Jeżeli... to” - zależnie od

spełnienia lub nie spełnienia określonego warunku -

nastąpi wybranie jednego z dwu wariantów

Dwa typy PĘTLI dla powtarzania czynności:

5) pętla typu „Dla ...”

6) pętla typu „Podczas...”

7) Definiowanie własnych podprogramów i funkcji

8) Wywoływanie podprogramów (funkcji i procedur)

Wczytaj A, B

A=A+2*B

Drukuj A, B

A>100Tak Nie

30

Podstawowe polecenia:

1) Wczytywanie - czyli polecenie wprowadzenia wartości danej

z urządzenia wejściowego do zmiennej.

Na przykład:

Oznacza:

Komputer zażąda wprowadzenia z

klawiatury wartości zmiennej F

wyświetlając na ekranie tekst zrozumiały dla

użytkownika i określający rolę tej

zmiennej np.: Sila=

a wpisaną liczbę wstawi do zmiennej F

Wczytaj F

6

31

Podstawowe polecenia c.d.:

2) Podstawianie lub inaczej przypisanie

zmienna = wyrażenie

- to nadanie zmiennej, wartości obliczonego wyrażenia

a najprostsze wyrażenie to stała (liczba) lub zmienna.

Przykłady: Zeta =1.567

y1 = sin(x-1)*x^2-5

a nawet: X = X + 2

- co oznacza: do dotychczasowej wartości zmiennej X dodaj 2 i wynik

wstaw do X jako jej nową wartość. Krócej mówiąc: Zwiększ X o 2

32

Symbole przypisania

W różnych językach stosowane są różne symbole podstawiania:

:= � =

w algorytmach, Mathcadzie, Algolu, Pascalu: zmienna := wyrażenie

w algorytmach: zmienna � wyrażenie

w algorytmach, Matlabie, Basic’u: zmienna = wyrażenie

33

Podstawowe polecenia c.d.:

3) Wyprowadzanie wyników (napisów i wartości

zmiennych) przez urządzenie wyjściowe (ekran,

drukarkę) lub do pliku dyskowego

Przykłady (w algorytmach):

1) Wyświetl (lub wydrukuj) tekst ”Moment=" oraz

wartość zmiennej Moment

2) Drukuj A, B

34

Podstawowe polecenia c.d.:

4) Rozgałęzienie "Jeśli... to ... w przeciwnym przypadku ...”(w Matlabie instrukcja IF ... ELSE ...END)

Przykład 1:

1) Jeśli wyrażenie Delta>0 jest prawdziwe to

wykonaj grupę instrukcji S1 a jeśli nie to wykonaj

grupę instrukcji S2

Przykład 2:

2)A>100

Tak Nie

35

Podstawowe polecenia c.d.:

5) Pętla typu "Dla wartości ... wykonuj ... koniec"

(instrukcja pętli "FOR ... END")

Przykład (w algorytmie):

Dla poszczególnych wartości

zmiennej X, zmieniającej sięod XP do XK z przyrostem DX

wykonuj ciąg instrukcji

zapisanych poniżej aż do słowa

KONIEC (tyle razy ile będzie

wartości X)

36

Podstawowe polecenia c.d.:

6) Pętla typu "Dopóki ..."

(instrukcja pętli "WHILE ... WEND")

Przykład (w algorytmie):

Tak długo jak spełnione

jest wyrażenie logiczne

„warunek” powtarzaj

wykonywanie instrukcji

zapisanych poniżej ażdo słowa KONIEC

7

37

Podstawowe polecenia c.d.:

7) Definiowanie podprogramu

8) Wywołanie podprogramu (wcześniej zdefiniowanego)

Przykład:

Wywołanie podprogramu

rozwiązywania równania

kwadratowego:

[X1, X2] = RRKW(-3, 7.45, 0.9)

RRKW

podprogram rozwiązywania

równania kwadratowego

a b c

X2X1

38

Przykłady algorytmów

39

Przykład 1: Utwórz algorytm wyznaczania sumy ciągu N

dowolnych liczb wczytywanych z klawiatury

Próbujemy sformułować różne warianty, dążąc do zapisu

w którym identyczne operacje są powtarzane

- wtedy można użyć t.zw. pętlę programową

Najprostszy

jest wariant (c):

S := S+Ai

oznacza:

„dotychczasową

wartość S

zwiększ o Ai

i zapamiętaj

jako nowe S” 40

c.d. Przykładu 1 (suma ciągu N wczytywanych liczb)

N - liczba elementów ciągu

i - numer wczytywanej liczby

A - wartość wczytanej i-tej liczby

S - suma już wczytanych liczb

Jeśli nie jest potrzebne pamiętanie całego ciągu to

wystarczą zmienne proste (skalarne):

41

Przykład 1 c.d.

- program w języku BASIC

PRINT "Program oblicza sume ciagu dowolnych liczb"

INPUT "Podaj ilosc liczb (elementow ciagu), N="; N

S = 0

FOR i = 1 TO N

INPUT "Wpisz element ciagu A="; A

S = S + A

NEXT i

PRINT "SUMA="; S

42

Przykłady algorytmów

z użyciem tablic

i podprogramów

8

43

Przykład 2 - Potrzeba zastosowania tablicyUtworzyć algorytm wyznaczania średniej oraz wariancji i odchylenia

standardowego ciągu wczytanych N liczb (wyników pomiarów)

Jak widać ciąg A(i) potrzebny jest dwukrotnie

44

c.d. Przykładu 2 - potrzeba tablicy

N - liczba powtórzeń

i - numer wczytywanej liczby

A(i) - i-ta liczba wczytana do i-tego elementu tablicy

S - suma już wczytanych liczb

SR - srednia z ciagu wyników pomiarów

V - wariancja

OD - odchylenie standardowe

D(i) - ciag kwadratów odchylen

Wariancja to średnia z ciągu kwadratów odchyleń od średniej.

Po wyznaczeniu sumy oraz średniej arytmetycznej, wczytany ciąg

będzie znowu potrzebny do wyznaczania odchyleń od średniej.

W takim przypadku trzeba zapamiętać cały ciąg liczb w tablicy, więc

potrzebne są zmienne:

45

Program w języku BASIC (z tablicami)

46

Przykład 2 c.d. - potrzeba podprogramów

Wczytywanie z pliku dyskowego ciągu liczb o niewiadomej

długości to często występujące w różnych problemach zadanie

więc:

- warto zdefiniować wczytywanie z pliku jako osobny podprogram

Wyznaczanie średniej w naszym zadaniu odbędzie się dwa razy:

1) średnia z ciągu wyników pomiarów

2) średnia z ciągu kwadratów odchyleń wyników od średniej

- warto więc utworzyć podprogram funkcyjny (funkcję) do

obliczania średniej

47

Przykład 2 c.d. - Definiowanie podprogramów

48

Użycie podprogramów

9

49

Postacie zapisu algorytmówTen sam algorytm może być zapisywany przy użyciu różnych

środków (języków) np.:

1) w języku naturalnym - po polsku, w postaci ponumerowanych

poleceń,

2) w postaci schematu blokowego

3) w języku programowania komputera - jako program

• . . . . . . . . . . . .

Tak więc ważna jest merytoryczna treść algorytmu oraz

zrozumiałość, jednoznaczność i wykonalność poleceń a nie

środki zapisu

50

PROGRAM

to

ALGORYTM

zapisany w języku programowania

51

Przykład:

algorytm obliczania kwadratów dowolnych liczb

postać 1: opis słowny

1) Będą użyte zmienne liczbowe: X, Y, oraz tekstowa: P

2) Wyświetl: „Obliczanie kwadratów. Podaj liczbę:”

3) Wczytaj liczbę do zmiennej X

4) Oblicz: X*X i wynik wstaw do Y

5) Wyświetl tekst „ Kwadrat liczby =” oraz wartość Y

6) Wyświetl pytanie: „Czy nowe obliczenie? (T/N):”

7) Wczytaj znak z klawiatury do zmiennej P

8) Jeśli wartość P = „T” lub P = „t” to skocz do (2)

9) KONIEC

52

algorytm obliczania kwadratów dowolnych liczb

postać 2: schemat blokowy

53

algorytm obliczania kwadratów dowolnych liczb

postać 3: program w języku BASIC

' w tym języku nie musimy deklarować zmiennych

2 PRINT "Obliczanie kwadratów"

INPUT "Podaj liczbe:"; X

Y = X * X

PRINT "Kwadrat liczby ="; Y

INPUT "Czy nowe obliczenie? (T/N):"; P$

IF P$ = "T" OR P$ = "t" GOTO 2

STOP

54

algorytm obliczania kwadratów dowolnych liczb

postać 4: program w języku PASCAL

program kwadraty;

uses crt, dos; VAR x,y:real; p:char; label 2;

BEGIN

2: writeln('Obliczanie kwadratow.');

write('Podaj liczbe:'); readln(x);

y:=x*x;

write('Kwadrat liczby='); writeln(y);

write('Czy nowe obliczenie? (T/N):'); readln(p);

if (p='T') OR (p='t') then goto 2

END.

10

55

algorytm obliczania kwadratów dowolnych liczb

postać 5: program w języku MATLAB

% Program oblicza kwadraty liczb

p= 't';

while p=='T' | p=='t'

disp('Obliczanie kwadratow.');

x = input('Podaj liczbe :');

y = x^2;

disp('Kwadrat liczby = '); disp(y);

p=input('Czy nowe obliczenie? (T/N):', 's');

end

56

algorytm obliczania kwadratów dowolnych liczb

postać 6: program w języku C

main()

{

float x,y; char p;

p='t';

while(p=='t'| p=='T')

{

printf("\n OBLICZANIE KWADRATOW. Podaj liczbe:");

scanf("%f",&x);

y=x*x;

printf("\n Kwadrat liczby= %f",y);

printf("\n Czy nowe obliczenia? (T/N):");

p=getch();

}

}

57

Idea zadań śledzenia algorytmuŚledzenie algorytmów polega na wykonywaniu poleceń

zawartych w algorytmie, w podobny sposób jak wykonywałby

to komputer.

Może być to przydatne dla sprawdzenia poprawności algorytmu,

ale na ćwiczeniach z informatyki poprawne wykonanie zadania

ze śledzenia algorytmów udowodni, że student zna sens i

działania poszczególnych poleceń.

Każdy student otrzyma ten sam algorytm oraz inny zestaw

danych. Na kartce wydzieli obszary:

1) dla danych czekających w kolejce na urządzeniu wejściowym,

2) dla pamięci zmiennych

3) dla wydruku wyników

58

Śledzenie działań algorytmu

59

Śledzenie działań algorytmu

60

Śledzenie działań algorytmu

11

61

Śledzenie działań algorytmu

62

Śledzenie działań algorytmu

63

Śledzenie działań algorytmu

64

Śledzenie działań algorytmu

65

Śledzenie działań algorytmu

66

Śledzenie działań algorytmu

12

67

Śledzenie działań algorytmu

68

Śledzenie działań algorytmu

69

Śledzenie działań algorytmu

70

Przykład algorytmu porządkowania ciągu: