Posts Tagged ‘pascal’

Informatyka w liceum lekcja 12

Thursday, January 17th, 2008

Liczbe wymierna mozemy zapisac w formie ulamka dwoch liczb calkowitych l/m
wiec taka liczbe zapisac mozemy za pomoca dwukolumnowej tablicy
Wprowadzamy pojecie rekordu. Rekord jest rzedem tablicy, ktory ma swoja wlasna nazwe. definiujemy go:
type osoba = Record
nazwisko,imie=string;
pensja:real;
kierownik:boolean
end;

Do poszczegolnych pol rekordu odwolujemy sie za pomoca nazwarekordu.nazwapola.

(more…)

Zadania z pascala 2

Saturday, January 5th, 2008

We wszystkich warto uzywac procedur i/lub funkcji.

Zadania na stringach:
1. Zrobic program ktory szyfruje i deszyfruje szyfrem przesuwajacym. (trudniejsza wersja tego, co bylo w poprzednich zadaniach). Program ma dostawac informacje czy chcemy zaszyfrowac, czy deszyfrowac, oraz jakie jest przesuniecie. Zakladamy, za dostaje ciag zankow alfabetu lacinskiego ze spacjami.

(more…)

Informatyka w liceum lekcja 11

Thursday, January 3rd, 2008

Temat: Grafika

Wyobrazmy sobie kilka ponumerowanych punktow w przestrzeni. Chcemy polaczyc kazdy z punktow z kazdym odcinkami.

Jesli chcemy stworzyc tablice, ktora ma wiecej niz jedna kolumne, tworzymy ja w ten sposob:
array [1..n,1..m] of...
gdzie n to liczba rzedow a m liczba kolumn

Uklad wspolrzednych wyglada w komputerze tak, ze x rosna w prawo od lewego gornego rogu ekranu, a y z tego samego punktu rosna w dol. (more…)

Informatyka w liceum lekcja 10

Thursday, December 6th, 2007

Zadanie: wylosowac tablice liczb wiekszych od 1 i uporzadkowac ja w sposob:  najpierw liczby podzielne przez 2, potem przez 3, potem dalej.

program dupa;
const
n=10;
type
tablica=array [1..n] of integer;
function szukaj(A:tablica; j:integer; d:integer):integer;
var
b:boolean;
begin
b:=true;
while b do
if A[j] mod d = 0 then
begin
szukaj:=j;
b:=false
end
else
begin
j:=j+1 ;
if j>n then
begin
szukaj:=0;
b:=false
end;
end;
end;
procedure Losuj(var A:tablica);
var
i:integer;
begin
for i:=1 to n do
A[i]:=random(100)+2;
end;
procedure Wypisz(var A:tablica);
var
i:integer;
begin
for i:=1 to n do
write(A[i],' ');
writeln;
writeln;
end;
procedure sortuj(var A:tablica);
var
d, zap,i,j,m:integer;
b:boolean;
begin
i:=1;
d:=2;
while i<n do
begin
j:=szukaj(A, i, d);
If j=0 then
d:=d+1
else
begin
zap:=A[i];
A[i]:=A[j];
A[j]:=zap;
i:=i+1
end;
end;
end;
var
A,B,C:tablica;
begin
randomize;
Losuj(A);
Wypisz(A) ;
sortuj(A);
wypisz (A)
end.

Informatyka w liceum lekcja 9

Thursday, November 29th, 2007

Program na sortowanie tablicy od najwiekszej do najmniejszej:

(more…)

Informatyka w liceum lekcja 8

Thursday, November 22nd, 2007

Dotad zapisywalismy tablice np. tak:
const n=100;
var A:array [1..n] of integer;

teraz chcemy zapisac “array [1..n] of integer;” pod jedna nazwa. Robimy to tak:
const n=100
type tablica=array [1..n] of integer

I tablice potem definiujemy tak:
var A:tablica

(more…)

Informatyka w liceum lekcja 7

Thursday, November 15th, 2007

Chcemy napisać program na wyszukiwanie liczb bliźniaczych.
Musimy w nim dwukrotnie sprawdzi, czy jakieś liczby są pierwsze. Nie ma sensu pisać dwa razy długiego kodu który sprawdza czy liczba jest pierwsza.
Dlatego stosujemy funkcje. Używamy ich wtedy, gdy chcemy usystematyzować program, lub zamknąć jakąś część programy pod jedną, krótką nazwą. Wygląda to tak:

(more…)

Przykładowe zadania na sprawdzian z Pascala

Wednesday, October 31st, 2007

Paweł mnie prosił o zadania. Mam nadzieję, że tego typu będą na klasówce. Nie umiem napisać takich o podobnym stopniu trudności i dokłądnie testujących to o co chodzi, bo nie jestem p. Borowieckim, ale chyba to jest mniej więcej to. Nei są uporzadkowane wg. trudności. Te ostatnie 4 są wymyślane przez nie przeze mnie, i nie wiem, czy wszystkie da się rozwiązać :P
Miłej zabawy. Odpowiedzi będą później. :)

(more…)

Informatyka w liceum lekcja 6

Thursday, October 25th, 2007

Temat: Pascal

Polecenie randomize należy wykonać na poczatku programu. Służy do losowania.
Potem używamy polecenia random (zakres) . Zakres jest w postaci od 0 do n-1
Rzut kostką: x:=1+random(6)
Tablicy używamy do zapamiętania wielu zmiennych obok razem.
Deklarujemy ją var tablica: array[zakres] of typ
W zakresie piszemy jaki zakres indeksów ma być w tablicy np [1..6]
W typie piszemy typ zmiennej np integer
Odwołujemy się do elementów tablicy: nazwatablicy[indeks elementu]
Np tablica[3]

(more…)

Informatyka w liceum lekcja 5

Thursday, October 18th, 2007

Szukamy liczby pierwszej x. Nie sprawdzamy czy liczba ma dwa dzielniki, tylko musimy udowodnić, ze nie ma ich więcej. Zakres dzielników jest 2 do x-1. Musimy uzyć pętli warunkowej.

Jeśi liczba nie jest pierwsza i ma dzielnik d1, to ma też dizelnik x/d1. Wystarczy naleźć tylko jeden z tch dzielników.
Więc zakres musi być 2 do x div 2
Lepiej, zęby zakres był 2 do sqrt(x)
X musi być nieparzyste i dzielniki muszą być nieparzyste.
Jakie mamy wyjątki w liczbach pierwszych?
1 – bo ma jeden dzielnik (nie)
2 – bo jest parzysta. (tak)
parzysta >2 (nie)
nieparzysta >1 ?

(more…)