cw07 pas1

background image

MPDI2 Informatyka – ćw.7

Programowanie Pascal (1)

Pisanie kodu i wykonywanie programu

Uruchomić środowisko programistyczne Borland Delphi. Zapoznać się z

elementami pulpitu. Wybrać z menu

File-New-Other..- Console Application

(two-

rzenie nowej aplikacji konsolowej). Pojawi się okienko, w którym będziemy pisać
kod programu.

Struktura programu

program nazwa;

//nagłówek

{$APPTYPE CONSOLE}
uses SysUtils;

blok deklaracyjny (definicje)

begin

część wykonawcza (instrukcje do wykonania)

end.
Szkielet kodu jest już utworzony, należy tylko wprowadzać elementy dekla-

racyjne i instrukcje wykonawcze.

Uruchomienie programu i jego wykonanie odbywa się przy pomocy przyci-

sku

Run

. W dodatkowym oknie konsoli pojawią się wówczas informacje zawarte

w instrukcjach wyjścia (write, writeln).

Deklaracja zmiennych

Deklaracje zmiennych wprowadzonych przez użytkownika umieszczamy w bloku

poprzedzonym słowem kluczowym var, w następującej, ogólnej postaci:

var

lista nazw zmiennych: nazwa_lub_opis_typu1;

lista nazw zmiennych: nazwa_lub_opis_typu2 ;
....;

Podstawowe typy zmiennych to:

integer

– typ całkowitoliczbowy

real

– typ liczbowy dziesiętny

boolean

– typ logiczny

char

– typ znakowy (1 znak!)

string

– typ łańcuchowy (dłuższy tekst)

Zatem, gdy potrzebne nam są w programie zmienne, dla wczytania danych lub prze-

chowywania obliczonej wartości, wymyślamy nazwę (identyfikator), określamy typ i
umieszczamy w bloku deklaracyjnym po słowie

var

.

Identyfikatory (nazwy) zmiennych muszą się

zaczynać od litery

, a potem ciąg liter,

cyfr i

znaku _ (bez spacji). Duże i małe litery nie są rozróżniane.

background image

Podstawowe instrukcje wykonawcze programu

Instrukcje wykonywane są po kolei od pierwszej do ostatniej (o ile program nie po-

siada "skoków", wywołań podprogramu itp.). Każdą instrukcję kończymy średnikiem ;

Instrukcja

przypisania

Jest ona podstawową, prostą instrukcją w większości języków programowania. Za

jej pomocą zmiennym nadawane są wartości w trakcie wykonywania programu.

identyfikator_zmiennej := wyrażenie ;

Wyrażenia budujemy podobnie jak w Excelu – stosując:

stałe, zmienne, operatory + - * / oraz standardowe funkcje.

Instrukcje

wejścia/wyjcia

Do

wprowadzenia

wartości do zmiennej w trakcie wykonania programu (standar-

dowym urządzeniem wejścia jest klawiatura) służy instrukcja (wykonanie procedury
standardowej) read(readln) – „czytaj”, o postaci:













readln

read

(lista zmiennych) ;

Wewnątrz { } - alternatywny wybór

Instrukcją (procedurą standardową)

wyprowadzania

danych (domyślnie na ekran)

jest write(writeln) – „pisz” – o strukturze:













writeln

write

(lista elementów) ;

Elementy listy można formatować:

wyrażenie:

m

- gdzie m to liczba znaków szerokości pola

wyrażenie_rzeczywiste:m:

n

- gdzie n to liczba miejsc dziesiętnych

Instrukcja warunkowa if.. then..else.. (jeżeli.. to.. w przeciwnym razie..)

Służy ona do warunkowego wykonywania dowolnej instrukcji (grupy instrukcji).

Używamy dwóch postaci instrukcji.

Postać skrócona:

if

W

B

then

Instrukcja ;

”je

ż

eli”

”to”

W instrukcji wykonywane jest badanie warunku logicznego W

B

, a następnie:

- jeśli W

B

= true to Instrukcja jest wykonywana,

- jeśli W

B

= false to Instrukcja jest ignorowana.

Postać pełna:

background image

if

W

B

then

Instrukcja_1

else

Instrukcja_2 ;

”je

ż

eli” ”to”

”w przeciwnym przypadku”

Pętla „liczona” for..do..

Postać instrukcji jest następująca:

for

Z := W

1

downto

to

W

2

do

Instrukcja ;

W

1

i W

2

to wartości całkowite licznika – początkowa i końcowa.

Instrukcja powtarzana jest dla każdej wartości zmiennej Z, zmieniającej się od W

1

do

W

2

z krokiem co 1.

downto stosujemy, gdy W

1

jest większe od W

2

, wtedy odliczanie jest wsteczne.

Uwaga: jeżeli wewnątrz if lub for wykonana ma być więcej niż jedna in-

strukcja – otaczamy je słowami begin i end

Pętla warunkowa repeat..until.. (powtarzaj .. aż..)

Postać ogólna instrukcji:

repeat

ciąg instrukcji

until

W

B

;

Ciąg instrukcji jest wykonywany aż wyrażenie logiczne W

B

będzie prawdą.

Oczywiście instrukcje muszą mieć wpływ na wartość W

B

, tak aby pętla kiedyś się

skończyła.

Ć

wiczenie

Wpisać poniższe kody przykładowych programów, wykonać je – przeanalizować

i zrozumieć ich działanie.

Przykład 1

program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;

//deklaracja zmiennej a typu całkowitoliczbowego

var
a:integer;
begin

powtarzaj

background image

//wypisanie komunikatu na ekranie ( wewn

ą

trz ' ')

write('podaj bok kwadratu :');

// odczyt zmiennej a z klawiatury

readln(a);
write('pole kwadratu wynosi :');
write(a*a);
readln;

// ostatnia instrukcja po to aby zatrzymac wyniki
// na ekranie – naci

ś

ni

ę

cie ENTER zamknie konsol

ę

end.

Przykład 2 - Instrukcja warunkowa

if

– obliczanie pierwiastków równania kwa-

dratowego

program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,c,delta,x1,x2:real;
begin
write('podaj a='); readln (a);
write('podaj b='); readln (b);
write('podaj c='); readln (c);
delta:=b*b-4*a*c;

// := operator przypisania, nadania warto

ś

ci

if (delta <0) then

//instrukcja warunkowa

write('rozwiazanie nie istnieje');
if (delta = 0) then
write('x1=',-b/2/a);
if delta >0 then

begin

x1:=(-b-sqrt(delta))/2/a;

//sqrt funkcja pierwiastka arytmetycznego

x2:=(-b+sqrt(delta))/2/a;
write('x1=',x1,' x2=',x2);

end

;

readln;
end.

Przykład 3 - Obliczenia numeryczne w „pętli” liczonej

for

program Project3;
{$APPTYPE CONSOLE}
uses
SysUtils;
var

background image

i:integer;

// deklaracja zmiennej rzeczywistej

kat:real;
begin
writeln(' stopnie sin cos');

//petla - zmiana licznika od 0 do 10

for i:=0 to 10 do

begin

//uzywamy wbudowanej stałej pi

kat:=(i*30)*pi/180;
writeln(i*30:10,sin(kat):10:6,cos(kat):10:6);

end

;

readln;
end.

Uwaga:wykonywa

ć

program ”krok po kroku”, naciskaj

ą

c

klawisz F7 i obserwowa

ć

przebiegi „p

ę

tli”

Przykład 4 - Tabliczka mnożenia – pętla zagnieżdżana for

Program tabliczka_mno;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
w,k:integer;
begin
for w:=1 to 10 do

begin

for k:=1 to 10 do
write (w*k:4);

//tylko ta instrukcja w p

ę

tli po k

writeln;

//nowy wiersz

end

;

readln;
end.

Przykład 5 - Pętla zagnieżdżana for z warunkowaniem licznika

program choinka;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
w,k:integer;
begin
for w:=1 to 10 do

begin

background image

for k:=1 to w do
write('*');
writeln;

end

;

readln;
end.

Przykład 6 - generacja liczb losowych – pętla warunkowa repeat..until..

program Project4;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
l_kom,l_usera,licznik:integer;
begin
randomize;

//ustawienie zarodka liczb losowych aby losowac
//za kazdym uruchomieniem inn

ą

liczb

ę

licznik:=0;

// wylosowanie liczby i umieszczenie w zmiennej

l_kom:=

random

(100);

repeat

// poczatek petli

//zwiekszenie licznika o jeden

licznik:=licznik+1;
write('Podaj liczbe:');
readln(l_usera);
if (l_kom>l_usera) then
writeln('Podales za mala liczbe');
if (l_kom<l_usera) then
writeln('Podales za duza liczbe');

until

l_kom=l_usera;

//koniec petli

writeln(' Brawo - zgadles za ',licznik,' razem');
readln;
end.

Zadania

1.

Przeanalizować przykłady z ćwiczenia. Wprowadzać celowe błędy (brak deklara-
cji zmiennej, brak średników na końcu instrukcji itp.) i zrozumieć komunikaty.

2.

Utworzyć programy:

a.

program dla podanego R oblicza objętość kuli.

b.

podajemy dwie liczby całkowite, a następnie ich iloczyn – program informuje
nas, czy podaliśmy prawidłowy wynik - wykorzystać instrukcję warunkową.

background image

c.

podajemy liczbę – program informuje, czy podana liczba znajduje się w prze-
dziale (-5; 5) – wykorzystać instrukcję warunkową.

d.

program losuje 6 liczb całkowitych z przedziału 1 do 49 (wykorzystać pętlę).

e.

program wypisuje na ekranie liczby nieparzyste od 1 do 99 (wykorzystać pę-
tlę).


Wyszukiwarka

Podobne podstrony:
PAS1-domowa-MiBM, nauka, PW, sem 3, PAS, PAS 1
25) TSiP 2010 11 ćw07
cw07, Akademia Morska, 1 rok, Fizyka, FIZYKA1, fiza
Cw07
CW07
Cw07 MK1 Dzialanie DSM51
Cw07 S
Cw07 Matlab1
pas1
cw07
cw07 pomiar natezenia swiatla
pas1
cw07
izs cw07 id 221279 Nieznany
cw07
GW CW07 BUD C Przyklad

więcej podobnych podstron