Programowanie Delphi obliczenia, schematy blokowe



Podobne dokumenty
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Cw.12 JAVAScript w dokumentach HTML

JAVAScript w dokumentach HTML (1)

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Algorytmika i Programowanie VBA 1 - podstawy

Wprowadzenie do programowania w VBA

Pascal - wprowadzenie

JAVAScript w dokumentach HTML - przypomnienie

Wprowadzenie do języka Pascal

Przykład programu Rozwiązanie równania postaci:

Programowanie w języku Pascal

Wstęp do programowania. Różne różności

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Podstawy programowania

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Instrukcja standardowa Writeln

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

Język ludzki kod maszynowy

Definicje. Algorytm to:

4. Funkcje. Przykłady

Wyrażenia arytmetyczne

1. Wypisywanie danych

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Programowanie - instrukcje sterujące

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Odczyt danych z klawiatury Operatory w Javie

Stałe oznaczane są słowem kluczowym final. Do stałej wartość można przypisać tylko raz. Dobrą konwencją jest nazywanie stałych wielkimi literami

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Luty 2001 Algorytmy (7) 2000/2001

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Instrukcje iteracyjne (pętle)

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Klasy: String, Random, Math. Korzystanie z dokumentacji.

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

dr inż. Jarosław Forenc

C++ wprowadzanie zmiennych

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

Podstawy programowania w języku C i C++

Podstawy Programowania Podstawowa składnia języka C++

1 Podstawy c++ w pigułce.

Podstawy programowania

Podstawowe wyrażenia matematyczne

Właściwości i metody obiektu Comment Właściwości

Informatyka 1. Przetwarzanie tekstów

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Język programowania PASCAL

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Podstawy programowania

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy programowania

Wprowadzenie komentarzy do programu

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Ściągawka z funkcji i właściwości systemowych VBA. Opis działania i parametrów. Nazwa funkcji. Składnia zwracanej wartości

Języki programowania wysokiego poziomu. PHP cz.2.

Języki programowania zasady ich tworzenia

Algorytmy i struktury danych. Wykład 4

Instalacja Pakietu R

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Algorytmy i struktury danych

PASCAL FUNKCJE PREDEFINIOWANE

Wstęp do programowania

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

ForPascal Interpreter języka Pascal

Podstawy i języki programowania

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Instrukcja warunkowa i wyboru

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Liczby losowe i pętla while w języku Python

1 Wprowadzenie do algorytmiki

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

Bloki anonimowe w PL/SQL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Visual Basic for Application (VBA)

Algorytm. a programowanie -

Warunki logiczne instrukcja if

2 Przygotował: mgr inż. Maciej Lasota

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Podstawy programowania C. dr. Krystyna Łapin

1 Podstawy c++ w pigułce.

Wstęp do programowania

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Transkrypt:

Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu programu. Budujemy je podobnie jak w Excelu czy Matlabie. Wyrażeniem arytmetycznym może być stała, zmienna lub zapis złożonej operacji na stałych, zmiennych i funkcjach (standardowych, bibliotecznych lub własnych użytkownika) z użyciem operatorów arytmetycznych. Bardziej skomplikowane wyrażenia zawierają operatory i funkcje. Ponadto używamy nawiasów (tylko okrągłych!) w celu zmiany kolejności działań. Wyrażenia używane są najczęściej w instrukcjach przypisania po prawej stronie symbolu := Operatory arytmetyczne Rozróżniamy następujące operatory: jednoargumentowe zmiana znaku, + powielenie znaku, dwuargumentowe multiplikatywne * mnożenie, / dzielenie (rzeczywiste), div dzielenie całkowite (obydwa argumenty operacji muszą być całkowite, wynik jest ), mod reszta z dzielenia całkowitego (jak wyżej), (znak przedstawia spację), dwuargumentowe addytywne + dodawanie, odejmowanie. UWAGA: Dla operatorów tej samej wagi - kolejność działań od lewej do prawej. Jeżeli w wyrażeniu są tylko argumenty całkowite i nie ma dzielenia rzeczywistego to wynik jest typu integer. Jeżeli występuje chociaż jeden element typu real lub dzielenie rzeczywiste to wynik jest typu real. Na elementach tekstowych (char, string) możemy dokonywać operacji łączenia tekstów (tzw. konkatenacja) używając znaku +. Przykład: nazwisko := 'Kowalski' ; tekst_1 := 'Pan ' + nazwisko ; W rezultacie zmienna tekst_1 przyjmie wartość tekstową 'Pan Kowalski'. Funkcje standardowe W czasie poprzedniego ćwiczenia poznaliśmy już kilka funkcji standardowych (wbudowanych), jak np. sin, random, sqrt. Istnieje możliwość użycia w wyrażeniu funkcji matematycznych (w kontekście identycznym jak zmienne proste) w postaci: identyfikator_funkcji (lista_argumentów) Argumentem może być wyrażenie odpowiedniego typu. Zestaw funkcji standardowych przedstawia tabela Funkcje standardowe Znaczenie Nazwa funkcji Typ wyniku Typ argumentu Przykład

wartość bezwzględna abs(x) abs(-2) pierwiastek kwadratowy sqrt(x) sqrt(5.45) kwadrat sqr(x) sqr(x-5) e x exp(x) exp(-x/2) logarytm naturalny ln(x) ln(2*x-4) sinus sin(x) rzecz. (radiany) sin(3*alfa) cosinus cos(x) rzecz. (radiany) cos(beta/2) arcus tangens arctan(x) arctan(fi) część całkowita int(x) część ułamkowa frac(x) int(2.5) frac(3.6) zaokrąglenie round(x) round(3.6) obcięcie trunc(x) trunc(3.6) znak następny succ(z) porządkowy porządkowy succ ( 'g' ) znak poprzedni pred(z) porządkowy porządkowy pred( 'j' ) znak o podanym kodzie ASCII chr(n) znakowy chr(49) kod znaku ord(z) znakowy ord( '1' ) długość tekstu length(tekst) łańcuchowy length( 'alfa' ) liczba losowa całkowita random(n) random(100) liczba losowa rzeczywista z przedziału (0, 1) random brak random W wyrażeniach istotne są wszelkie ograniczenia obszaru określoności funkcji, np. użycie: ln(-3) sqrt(-5.0) spowoduje błędy wykonania. Brak w języku operatora lub funkcji standardowej potęgowania (w Excelu i Matlabie ^), stąd można dla niewielkich ch potęg zastosować zapis w postaci: x 4 to x*x*x*x lub sqr (x)*sqr(x) lub sqr (sqr(x)), Można wykorzystać funkcję power(podstawa, wykładnik), jej użycie wymaga dopisania deklaracji modułu Math w sekcji uses. uses sysutils,math; begin writeln( power(5.1, 3.7)); readln; end. Oczywiście można wykorzystywać funkcję power() do obliczania pierwiastków dowolnego stopnia. Brak w języku również innych, często potrzebnych funkcji, jak na przykład tangens czy logarytm dziesiętny. Trzeba wówczas korzystać z elementarnych wzorów matematycznych: log = tg = Należy zwrócić uwagę na możliwość wystąpienia przekroczenia dopuszczalnych zakresów wartości zmiennych przy obliczeniach. Poniższe wyrażenie w postaci matematycznej: 1 sin( 3 x 3 ) 2 π można zapisać w przykładowej postaci: 1/2/pi*sin(3*x-3)

W przypadku zastosowania w instrukcji przypisania wyrażenia zawierającego zmienną, której aktualnie przypisujemy wartość, np.: x := x + 5 ; obliczana jest wartość wyrażenia (wartość x powinna być wcześniej określona), a następnie uaktualniana wartość zmiennej, np. w ciągu instrukcji:... x := 5 ; x := sqr(x) ; {x będzie równe 25} x := x +2 ; {powiększenie poprzedniej wartości x o 2, x będzie równe 27}... Funkcje standardowe nie wymagają deklaracji ich użycia. Pisząc wyrażenie należy szczególnie uważać na: operatory arytmetyczne szczególnie mnożenia: 2*x a nie 2x format wykładniczy np.1.34e-8 (10 7 to 1e7 a nie e7), argumenty funkcji trygonometrycznych podajemy je w radianach, w przypadku konieczności używania kąta w stopniach należy przeliczyć kąt na radiany wyrażeniem stopnie*pi/180, (pi jest predefiniowaną nazwą stałej). hierarchię operatorów odpowiednie stosowanie nawiasów, brak w języku operacji potęgowania, brak funkcji tangens, cotangens, logarytm dziesiętny, różnicę między funkcjami o podobnych nazwach sqr i sqrt. Wyrażenia logiczne Wyrażeniem logicznym może być: 1. stała logiczna true prawda false fałsz 2. zmienna typu boolean, 3. porównanie w sensie liczbowym lub tekstowym (kolejności alfabetycznej) według schematu: wyrażenie1 operator_porównania wyrażenie2 Wynikiem porównania jest wartość logiczna true (prawda) lub false (fałsz). Operatorami są (dla przypomnienia): < = > <= >= < > różny Przykłady porównań: x12 < 2 (4*x+1.5) < 30.7 nazwisko >= 'G' {nazwiska od litery G do końca alfabetu} 4. stałe logiczne, zmienne logiczne, porównania (w nawiasie!), połączone operatorami logicznymi: - jednoargumentowymi: not (negacja) np. not (i < 5) - dwuargumentowymi: and (iloczyn logiczny "i" jednoczesne spełnienie warunków) np. (x > 0) and (x < 3) or (suma logiczna "lub" alternatywne spełnienie warunków) np. (x < 0) or (x > 100) (gdzie znak przedstawia spację). Poniższa tabela przedstawia wartości wyrażeń logicznych w zależności od wartości argumentów: Argument 1 Argument 2 and or

false false false false true false false true false true false true true true true true Przykładowe użycie: Sprawdzenie przynależności do przedziału: if (x>0) and (x<100) then jakaś instrukcja wykonawcza Sprawdzenie parzystości (reszty z dzielenia całkowitego): if (k mod 2) = 0 then writeln('parzysta'); Sprawdzenie kolejności alfabetycznej: if n1 < n2 then writeln('n1 wcześniejsze w alfabecie'); //uwaga: n1 i n2 typu string W operacji przypisania wartości zmiennej logicznej musi zachodzić zgodność typów. Wartość wyrażenia logicznego można przypisać do zmiennej typu boolean bądź użyć je w instrukcjach warunkowych lub pętlach repeat i while. Ćwiczenie 1. Napisać program, w którym dla zadanej wartości x (np. x=3.45) obliczane są wartości następujących wyrażeń oraz wyprowadzane wyniki na ekran konsoli (wykorzystać tabelę funkcji standardowych ): a) 2 (2 ) b) "! c) 1 %&' ( 30 0 ) d) π (3 3) 2. Napisać program, w którym wymagane jest wprowadzenie przez użytkownika liczby rzeczywistej, a następnie sprawdzana jest przynależność podanej liczby do przedziału (0, 10). 3. Napisać program losujący: a. 10 liczb ch z przedziału (a, b), gdzie wartości a i b podaje użytkownik b. 10 liczb ch z przedziału (a, b), gdzie wartości a i b podaje użytkownik Uwaga: programy wymaga wykorzystania standardowej procedury: randomize; na początku części wykonawczej programu. 4. Napisać program, w którym w "pętli" for obliczane są wartości funkcji sinus dla kątów od 0 do 180 stopni z krokiem co 10 stopni. 5. Napisać program obliczający pole rombu dla podawanej wartości rzeczywistej boku i kata ostrego. Wzór wyprowadzić dzieląc romb na prostokąt i dwa trójkąty oraz stosując funkcje trygonometryczne dla nieznanych wielkości.

Schematy blokowe Schematy blokowe Reguły graficzne tworzenia schematów blokowych: Terminatory Operacje wejścia i wyjścia Instrukcja wykonawcza (proces) - blok operacyjny Blok decyzyjny Iterację while.. do (dopóki.. wykonuj) while warunek do begin ciąg instrukcji end można zilustrować schematem blokowym: Iterację warunkową repeat..until.. (powtarzaj.. aż..) repeat ciąg instrukcji until W B ; przedstawia schemat blokowy: ZADANIA 1. Przemyśleć schematy blokowe i działanie iteracji repeat i while.. Zastanowić się jakie wartości warunku (true/false) powodują zakończenie iteracji. 2. Utworzyć aplikację, w której obliczamy kolejne wartości funkcji: f(x)=x 3 3x 2 3x +5, poczynając od x=0 i w kolejnych krokach iteracji zwiększając wartość x o 0,1. Iteracja ma za zadanie sprawdzać warunek zmiany znaku funkcji (wyznaczenie miejsca ze-

rowego funkcji). Kolejne wartości funkcji wypisywane są w konsoli. Wykonać schemat blokowy. 3. Sprawdzić w aplikacji następującą pętlę : k:=0; while sin(pi*k/180)<0.87 do begin k:=k+5; writeln('k=',k:4,sin(pi*k/180):10:4); end; Wyjaśnić jej działanie. 4. Wykonać program, w którym podawana jest przez użytkownika liczba całkowita. Program ma za zadanie odpowiedzieć czy jest to liczba pierwsza, czyli zbadać w pętli podzielność bez reszty przez kolejne liczby naturalne, począwszy od 2 aż do połowy zadanej liczby (dlaczego? co w przypadku gdy liczba jest nieparzysta?). Jaką pętlę tu najlepiej zastosować? Wykonać schemat blokowy. 5. Opracować algorytm obliczania n! (n silnia) = 1*2*3*4...*n przy wykorzystaniu pętli while. Sporządzić schemat blokowy, napisać i przetestować program.