Top Banner
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)
12

1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

Mar 01, 2019

Download

Documents

hoanghuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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)

Page 2: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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.

Page 3: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 4: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 5: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 6: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 7: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 8: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 9: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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.

Page 10: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 11: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

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

Page 12: 1 Inf Wyk1 2017 - kkiem.agh.edu.pl · 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

12

67

Śledzenie działań algorytmu

68

Śledzenie działań algorytmu

69

Śledzenie działań algorytmu

70

Przykład algorytmu porządkowania ciągu: