3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!

Podobne dokumenty
Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury

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};

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Przykładowerozwiązania.

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

KURS PASCAL A. 1.Wprowadzenie

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

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

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

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

Lekcja 6: Pascal. Procedura i funkcja

Programowanie w Turbo Pascal

INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE

Zasady Programowania Strukturalnego

Kurs Pascala LO Biecz 2010/2011. Kurs Pascala oparty na zadaniach i problemach z lekcji Informatyki.

Język programowania PASCAL

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu

Podstawy programowania

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

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

Podstawy programowania

Instrukcja standardowa Writeln

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

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

Podprogramy. Procedury

Konstrukcja alternatywy

Wstęp do programowania

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

Wprowadzenie komentarzy do programu

Podstawy programowania

FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;

Podstawy programowania

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe

if (wyrażenie ) instrukcja

Wstęp do Informatyki

Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR:

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Analiza algorytmów zadania podstawowe

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Planowanie eksperymentu 2 (k p) w 2 r blokach. Stanisław Jaworski, Wojciech Zieliński

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

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

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

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

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Podstawy programowania

Pascal_cwiczenia_do_ksiazki_helionu_32_6 wykonał Tomasz Roszczyk

do instrukcja while (wyrażenie);

LibreOffice Calc VBA

Informatyka 1. Przetwarzanie tekstów

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne. TEMAT 8: Moduły standardowe

Języki i metody programowania

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

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

Podstawy programowania

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:

for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Algorytmy i struktury danych

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

Warunki logiczne instrukcja if

Instrukcje sterujące

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Znajdowanie największego i najmniejszego elementu w zbiorze n liczb całkowitych

Proste programy w C++ zadania

Visual Basic for Application (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Algorytm. a programowanie -

1 Wprowadzenie. program t e s t 3 ; begin. Polecenie program. Różnice między poleceniami write i writeln. writeln ( Witaj, a ) ; end.

1. Język Pascal Program

Pascal - wprowadzenie

Wprowadzenie Zmienne Wyrażenia i operatory Komunikacja Instrukcje warunkowe Instrukcje iteracyjne Przykłady Bibliografia

INFORMATYKA. Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki. dr inż. Michał Łanczont

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Podstawy Programowania C 02

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

Problem Herona. lim(x i+1 x i ) 0. lim x i0 +1 x i0 < ǫ.

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 6 Teoria funkcje cz. 2

Programowanie komputerowe. Zajęcia 1

Algorytm 2.1. Rys Czy zupa jest słona? Przygotuj. Gotowe danie START. Przepis... STOP NIE TAK

Transkrypt:

Zajęcia 3 1. Instrukcja iteracyjna while while WARUNEK do Instrukcja; 2. Deklaracja funkcji function nazwa(x:real;i:integer;...): typ_funkcji; deklaracje zmiennych lokalnych; instrukcje (w tym podstawienie pod nazwe funkcji wartości); 3. Podstawowe funkcje mamematyczne. http://www.freepascal.org/docs-html/rtl/system/mathematicalfunctions.html ZAPOZNAĆ SIĘ!!! 4. Pewne procedury konwersji http://www.freepascal.org/docs-html/rtl/sysutils/conversionroutines.html wiedzieć, że takie coś jest, przeczytać Przykład 1. Program wyznaczający liczbe maksymalną ze wszystkich wczytanych liczb całkowitych; zapamiętuje wczytane liczby i ew. je drukuje. Podaje też ilość wczytanych liczb program maksimum; {wyznacza maksymalna liczbe integer, wczytane liczby pamieta w tablicy tab do ew. dalszego wykorzystania liczy tez ilosc wczytanych liczb} var max,a,i,ile_liczb:integer; odp:char; tab: array[1..1111] of integer; max:=0; {i to numer kolejnej liczby, ile_liczb -ich ilosc} i:=0; ile_liczb:=0; writeln(' jesli zakonczyć wcisnij n, kontynuowac - t '); readln(odp); while (odp<>'n') do write('podaj wartosc liczby :'); readln(a); i:=i+1; tab[i]:=a; ile_liczb:=i; if max<a then max:=a; writeln(' jesli zakonczyć wcisnij n, kontynuowac - t '); readln(odp); if(ile_liczb<>0) then Writeln('wczytales ',ile_liczb,' liczb, maxymalna liczba to ',max); {teraz ewentyalnie wydrukuje wczytane liczby} writeln(' nacisnij ENTER'); readln; writeln(' czy wypisac wczytane liczby t/n'); readln(odp); if odp='t' then for i:=1 to ile_liczb do writeln(' liczba ',i, ' jest rowna = ',tab[i]);

end else writeln(' nie wczytales zadnej liczby'); Przykład 2. Program wyznacza resztę z dzielenie dwu liczb rzeczywistych. Resztę z dzielenia dwu liczb całkowitych oblicza się stosując operator mod: i mod j Program reszta; var a,b:real; function modd(x,y:real):real; var il:real; il:=int(x/y); modd:=x-(il*y); write('podaj wartosc licznika a :');readln(a); write('podaj wartosc mianownika b :');readln(b); if(b<>0) then writeln('czesc calkowita to ',int(a/b):0:0, ' reszta z dzielenia a/b wynosi : ',modd(a,b):0:5) else writeln(' nie dziel przez 0 '); Przykład 3. Program rysuje trójkąt prostokątny o danej podstawie (jednostka: znak < 80) program trojkacik; var a,b,i:byte; write('podaj Podstawe trojkata (< od dlugosci wiersza :');readln(a); b:=0; writeln('*'); b:=b+1; if a>2 then write('*'); for i:=2 to b do write(' '); writeln('*'); until (a=b+2)or(a=2); for i:=1 to a do write('*'); readln; Przykład 3. Obliczanie silni. Wersja bez (silnia1) oraz z (silnia2) rekurencją program silnia1; var i,x: Integer; w : extended; Writeln('Program oblicza silnie podanej liczby'); Write('Podaj liczbe x: ');Read(x); if (x < 0 ) then if (x=0) then Writeln('Silnia liczby ',x, ' wynosi 1') else writeln(' liczba ujemna, nie ma '); end

else W:=1; for i:=1 to x do W:=W*i; Writeln('Silnia liczby ',x, ' wynosi ', W); Program silnia2; uses Crt; var M : integer; Function Silnia(N : integer):extended; Var I : integer; wartosc : extended; Begin Wartosc:=1; For I:=1 to N do Begin Wartosc:=Wartosc*I; End; Silnia:=Wartosc; Begin {blok instrukcji} Write('Podaj liczbe: ');readln(m); if (M < 0 ) then if (M=0) then Writeln('Silnia liczby ',M, ' wynosi 1') else writeln(' liczba ujemna, nie ma '); end else Writeln('Silnia liczby ',M,' = ',Silnia(M)); End. Przykład 4. Obliczenie iloczynu 2 macierzy 2x2. Wyrazy macierzy - przypadkowe liczby <=100. program iloczyn_macierzy; var i,ii:longint; macierz1:array[1..2,1..2]of longint; macierz2:array[1..2,1..2]of longint; randomize; for i:=1 to 2 do for ii:=1 to 2 do Begin macierz1[i,ii]:=random(100); macierz2[i,ii]:=random(100); writeln('macierz 1'); for i:=1 to 2 do for ii:=1 to 2 do Begin writeln(' ',macierz1[i,ii]);

writeln('macierz 2'); for i:=1 to 2 do for ii:=1 to 2 do Begin writeln(' ',macierz2[i,ii]); writeln('iloczyn Macierzy 1 i Macierzy 2'); writeln((macierz1[1,1]*macierz2[1,1])+(macierz1[2,1]*macierz2[1,2])); writeln((macierz1[1,1]*macierz2[2,1])+(macierz1[2,1]*macierz2[2,2])); writeln((macierz1[1,2]*macierz2[1,1])+(macierz1[2,2]*macierz2[1,2])); writeln((macierz1[1,2]*macierz2[2,1])+(macierz1[2,2]*macierz2[2,2])); Przykład 5. Program zgaduje ile masz lat z odpowiedzi T/N program ile_lat; var a1,a2,pyt:byte; ch:char; Writeln('PROGRAM ODGADNIE ILE MASZ LAT, mniej niz 100'); a1:=1; a2:=100; { maximum} pyt:=round(int((a1+a2)/2)); Writeln('Masz mniej niz ',pyt,' lat? [T/N]'); ch:=upcase(readkey); until (ch='n')or(ch='t'); if ch='n' then a1:=pyt; if ch='t' then a2:=pyt; if(a1-a2=1)or(a2-a1=1)then a2:=a1; until a1=a2; Writeln('Masz ',a1,' lat'); readln; Przykład 6. Program rysuje na ekranie prymitywną szachownicę. {lub uses wincrt;} var i,j:byte; procedure b; for j:=1 to 4 do write(#987+#987+#987+' '); procedure c; for j:=1 to 4 do write(' '+#987+#987+#987);

Writeln('Szachownica!'); writeln(' A B C D E F G H'); for i:=8 downto 1 do if i mod 2 = 0 then write(' ',i,' ');b;end else write(' ',i,' ');c; Przykład 7. Odpytywanie z tabliczki mnożenia. program tabliczka_mnozenia; var odp,l1,l2,pytan,bledow,zasieg:integer; ch:char; Writeln(' Program Mnozenie'); write('podaj zasieg z jakiego losowac liczby [1..100] : ');readln(zasieg); until (1<zasieg)and(zasieg<101); pytan:=0; bledow:=0; randomize; pytan:=pytan+1; l1:=random(zasieg)+1; l2:=random(zasieg)+1; Writeln('Pytanie Numer : ',pytan); Write('Ile Jest ',l1,' x ',l2,' = ');readln(odp); if odp<>l1*l2 then Writeln('Zle!');bledow:=bledow+1;end else writeln('dobrze'); Writeln('------------ STATYSTYKA -------------'); Writeln(' Pytan - ',pytan); Writeln(' Dobrych - ',pytan-bledow); Writeln(' Blednch - ',bledow); Writeln(' Procent Dobrych : ',100*(pytan-bledow)/pytan:0:1,' %'); Writeln('Kontynuowac? : [T/N]'); ch:=readkey; {funkcja upcase zamienia duze na małe litery} until upcase(ch)='n'; writeln('koniec'); UWAGA. Użyto funkcji upcase(ch). Inne funkcje operacji na łascuchach/znakach: http://www.freepascal.org/docs-html/rtl/system/stringfunctions.html ZAPOZNAĆ SIĘ Z NIMI!!

Przykład 8. Podajemy współczynniki funkcji liniowej. Obliczamy przecięcia z osiami X i Y oraz pisze, czy jest rosnąca, czy malejąca. program funkcja_liniowa; var a,b:integer; ch:char; Writeln('Program Oblicza Stan Funkcji Liniowej y = ax + b'); Writeln('Sprawdza czy jest rosnaca, malejaca czy stala.'); Write ('Podaj wartosc wpolczynnika a :');readln(a); Write ('Podaj wartosc wpolczynnika b :');readln(b); if a=0 then Writeln('Funkcja jest Stala'); if a<0 then Writeln('Funkcja jest Malejaca'); if a>0 then Writeln('Funkcja jest Rosnaca'); Writeln('Punkt przeciecia z osia y = x = 0 y = ',b); if a<>0 then Writeln('Punkt przeciecia z osia x = x = ',((0-b)/a):0:1,' Writeln('Punkt przeciecia z osia x = BRAK'); y = 0') else if a>0 then Writeln('Wartosci przyjmuje wartosc ujenma dla przedzialu (-nieskoncz, ',((0-b)/a):0:1,' )'); Writeln('Wartosci przyjmuje wartosc dodatmia dla przedzialu ( ',((0-b)/a):0:1,',nieskoncz )'); if a<0 then Writeln('Funkcja przyjmuje wartosc dodatnia dla przedzialu (-nieskoncz, ',((0-b)/a):0:1,' )'); Writeln('Funkcja przyjmuje wartosc ujemna dla przedzialu ( ',((0-b)/a):0:1,',nieskoncz )'); if a=0 then if b>0 then writeln('wartosc funkcji jest dodatnia dla ( -nieskoncz, nieskoncz )'); if b=0 then writeln('wartosc funkcji jest rowna zero'); if b<0 then writeln('wartosc funkcji jest ujemna dla ( -nieskoncz, nieskoncz )'); {} write('jeszcze Raz? [T/N] :'); ch:=readkey; {upcase zamienia mala na duza literę} until upcase(ch)='n'; writeln('koniec');