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

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

Język programowania PASCAL

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

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

Przykładowerozwiązania.

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

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

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

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

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

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

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Zasady Programowania Strukturalnego

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>

Programowanie w Turbo Pascal

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

Informatyka 1. Przetwarzanie tekstów

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Podprogramy. Procedury

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

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

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

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

Wstęp do programowania

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

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

Podstawy programowania

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

Pascal - wprowadzenie

Podstawy programowania

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

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

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

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

KURS PASCAL A. 1.Wprowadzenie

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

Instrukcje iteracyjne (pętle)

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

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

Podstawy programowania

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

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

Wprowadzenie komentarzy do programu

Lekcja 6: Pascal. Procedura i funkcja

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

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

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

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

Pascal_cwiczenia_do_ksiazki_helionu_32_6 wykonał Tomasz Roszczyk

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Podstawy programowania

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

Wykład 4. Tablice. Pliki

tablica: dane_liczbowe

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

Programowanie Delphi obliczenia, schematy blokowe

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

Podstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno

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

Podstawy Programowania C++

Wprowadzenie Tablica jednowymiarowa Tablice wielowymiarowe Algorytmy Rekordy Pliki Zadania Bibliografia

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

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta.

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

Programowanie. Wprowadzanie danych i wyprowadzanie wyników. Klasa 2 Lekcja 24 WEJŚCIE/WYJŚCIE

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

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

OPERACJE NA PLIKACH. Podstawowe pojęcia:

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

Algorytmy i struktury danych

Programowanie strukturalne i obiektowe. Funkcje

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

Proste programy w C++ zadania

Pliki. Operacje na plikach w Pascalu

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

Algorytmy i struktury danych

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

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

PODSTAWY INFORMATYKI wykład 1.

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej.

Instrukcja standardowa Writeln

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Podstawy programowania

Struktura i podstawowe instrukcje programu. Środowisko tworzenia programów. 1. Tworzenie i kompilacja z wiersza poleceń. 1. Przykładowy program.

LibreOffice Calc VBA

Języki i metody programowania

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Transkrypt:

CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0) - liczba podpierwiastkowa; p - początkowe przybliżenie pierwiastka; maxiter - liczba iteracji Wynik: Przybliżona wartość pierwiastka kwadratowego z a Kroki: 1. iter:=0; 2. x:=(p+a/p)/2; iter:=iter+1 3.Jeśli iter=maxiter to zakończ algorytm; przybliżona wartość pierwiastka kwadratowego z a jest równa x 4. Przyjmij, że p:=x i wróć do kroku 2 program NewtonRaphson; var iter, Maxiter: integer; a, p, x: real; write('podaj pierwiastkowana liczbe: '); readln(a); write('podaj poczatkowe przyblizenie: '); readln(p);write('podaj liczbe iteracji: '); readln(maxiter); iter:=0; repeat x:=(p+a/p)/2; iter:=iter+1; p:=x; until iter=maxiter; writeln('pierwiastek z ',a:0:2,' wynosi: ', x:0:10); 2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie. Programy: 1) Lp1.pas - generuje liczby pierwsze dla zakresu 1..1000, wykorzystuje instrukcję goto na wyjście z pętli. Wyniki tego programu są zapisywane do pliku Lp1.txt. Analogiczne nazwy mają pliki wyników pozostałych programów - jak program, tylko z rozszerzeniem.txt. 2) Lp2a.pas - podaje się liczbę max do której obliczane są liczby pierwsze, 0 - kończy obliczenia. Max zakres 100000 (p=p+1). 3) Lp2b.pas - przy generowaniu liczb korzysta się z tablicy liczb wygenerowanych (p=p+2). 4. Liczp1.pas - podaje się ilość liczb a nie zakres 5. Liczp2.pas j.w. 6. Liczp3.pas j.w., obliczenia w pętli do podania 0. 7. Liczbyp.pas - program najprostszy pod wzgl. algorytm, nie korzysta z tablic ale efektywny, wyniki zapisuje tylko do pliku. Max ilość generowanych liczb ograniczona teoretycznie wielkością typu longint, w praktyce oczywiście mniejsza. 2. Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element tablicy ma numer (indeks). Tablicę stosujemy w przypadku, gdy chcemy przechowywać w jednej zmiennej (pod jedną nazwą) większą ilość danych.

Deklaracja tablicy jednowymiarowej: nazwa: array[rozmiar] of typ; Przykład: var T: array[0..3] of real; {deklaracja tablicy przechowującej 4 wartości typu rzeczywistego} Przykład: 0, 1, 2, 3 var Dni: array[1..7] of string; {deklaracja tablicy typu łańcuch} Tablic używa się w programie podając nazwę zmiennej tablicowej oraz numer elementu, którego operacja ma dotyczyć ujęty w nawiasy kwadratowe. Przykłady: T[0] := 1.25; {przypisanie wartości 1.25 pierwszemu elementowi tablicy T } writeln(dni[7]); {wyświetlenie elementu tablicy Dni o indeksie 7} Możliwe jest zadeklarowanie tablicy dwuwymiarowej (bądź wielowymiarowej): nazwa: array[rozmiar1, rozmar2] of typ; var tab: array[0..2,0..3] of integer; {deklaracja tablicy dwuwymiarowej 3x4 o wartościach całkowitych} tab[0,0] := 32; {przypisanie wartości 32 do pierwszego elementu tablicy} Wynik := tab[0,0]; {pobranie wartości z pierwszego elementu tablicy} Przyklad program tablica_liczb_calkowitych; uses crt; {Program wczytuje do tablicy 5 liczb całkowitych a następnie wczytane liczby wyświetla} var Tab: array[1..5] of integer; i: integer; for i:=1 to 5 do write('podaj ', i, ' liczbe: '); readln(tab[i]) write('podales nastepujace liczby: '); for i:=1 to 5 do write(tab[i], ', '); CZĘŚĆ B WE/WY DO PLIKU, FUNKCJE I PROCEDURY Pliki a) deklaracja zmiennej plikowej. Dla plików sformatowanych, sekwencyjnych: var plik:text; b) nadanie zmiennej plikowej wartości (nazwnie pliku) assign(zmienna_plikowa;aaaa); gdzie AAAA zmienna typu łańcuchowego lub łańcuch np. assign(plik,'dane.dat'); {plik zmienna zadeklarowana jako var plik:text} LUB aaa:='dane dat'; {aaa zmienna typu string} assign(plik, aaa); c) otwarcie pliku reset(plik); - do odczytu rewrite(plik); - odczyt/zapis append(plik); - dopisywanie d) operacje na pliku e) zamknięcie pliku close(plik);

Przykład : odczytywanie pliku znak po znaku, aż do konca. FUNKCJA EOF(plik) end of file: Program Odczyt; var plik: text; znak: array[1..1111] of char; i: integer; assign(plik, 'dane.txt'); i:=0; reset(plik); while not eof(plik) do i:=i+1 read(plik, znak[i]); write(znak[i]); close(plik); Funkcje i procedury function nazwa_funkcji(lista_zmiennych): typ_funkcji; np. lista zmiennych wyjsciowych : x,y:real, i,j,k: integer, itp. lista zmiennych wejściowych : var x,y :real; var i,j,k : integer; itp function ff(x,y:real):real procedure nazwa_procedury(lista zmiennych); np. procedure calka(var a,b,delta:real; wynik:real); PRZYKŁADY P1. Obliczanie potęgi liczby rzeczywistej program pote; uses crt; var liczba,wykladnik:real; Function Potega(podst, wykl: real): real; if (podst>0) then Potega:= Exp(wykl * Ln(podst)) else Potega:= 0; writeln('porogram oblicza potegi liczb o rzeczywistym wykladniku'); write('podaj podstawe potegi :');readln(liczba); write('podaj wykladnik potege :');readln(wykladnik); writeln('potega liczby ',liczba:0:4,' wynosi = ',Potega(liczba,wykladnik):0:4);

P2. Obliczanie silni, funkcja + rekurencja PROGRAM Obliczanie_silni; USES Crt; VAR liczba, i, n : INTEGER; FUNCTION Silnia(liczba : INTEGER) : LONGINT; BEGIN IF liczba > 1 THEN Silnia:=liczba*Silnia(liczba-1) ELSE Silnia:=1; END; {Silnia} BEGIN {main} ClrScr; Writeln('Obliczanie silni z danej liczby calkowitej'); Writeln('Podaj liczbe'); Readln(n); FOR i:=0 TO n DO Writeln(' ', i, '!= ', Silnia(i)); REPEAT UNTIL KeyPressed; END. P3. Program z ozdobnikami. Przykład na to, jak skomplikować proste zadania. Program oblicza objętość kuli. Dane: promień kuli. Wszystkie operacje przeprowadzane są w procedurach. PROGRAM KULA1; { naglowek programu} { poczatek BLOKu DEKLARACJI} USES DOS,CRT; CONST ESC=#27; {stala} {Zmienne globalne} VAR r : real; {promien - typu rzeczywistego} v : real; {objetosc - typu rzeczywistego} i: integer; { zmienna typu calkowitego} z: char; {zmienna typu znak} PROCEDURE dane (VAR x: real); textcolor(red); writeln('obliczenie NR ',i); textcolor(yellow); write('promien='); readln(x); {dane} PROCEDURE obliczenia ( x: real; VAR y: real); { x,y - zmienne lokalne x-promien - przekazywany przea wartosc z programu glownego y-objetosc - przekazywany przez zmiennana zewnatrz procedury do programu glown } var x3: real; { r*r*r - promien do potegi 3 - zmienna lokalna}

Begin {pocz bloku operacji procedury obliczenia} x3:=x*x*x; y:=4.0/3.0*pi*x3; End; PROCEDURE wyniki(promien,objetosc: real); Begin textcolor(green); writeln('pi=',pi); textcolor(blue); write('objetosc KULI o promieniu '); textcolor(magenta); writeln(promien:7:3); textcolor(green); write(' wynosi '); textcolor(lightcyan); writeln(objetosc:10:3); textcolor(white); write('by zakonczyc obliczenia nacisnij'); highvideo; textcolor(yellow+blink); writeln(' ESC...'); textcolor(white); z:=readkey; normvideo; End; {wyniki} { Koniec bloku deklaracji} { Blok operacji - zacznie sie} BEGIN { Kula } clrscr; textmode(c40); i:=0; repeat i:=i+1; dane(r); obliczenia(r,v); { r wchodzi do procedury, a wychodzi z niej v} wyniki(r,v); until (z=esc); END. { Kula} {Koniec bloku operacji}