Instrukcja do ćwiczeń (6) Zadania wprowadzające, przykładowe

Komentarze

Transkrypt

Instrukcja do ćwiczeń (6) Zadania wprowadzające, przykładowe
Lab. Informatyki
P. Mazurek ©2012
Instrukcja do ćwiczeń (6)
Zadania wprowadzające, przykładowe:
Napisz program, który wyświetli liczby od 1 do 10. (można wykorzystać algorytm ze zmienną pomocniczą,
która będzie przechowywała aktualnie wyświetlaną wartość.
Napisz program, który będzie pobierał liczby podane przez użytkownika a następnie wyświetlał je na ekranie.
Podanie liczby mniejszej od zera kończy działanie programu.
Napisz program sumujący liczby podane przez użytkownika. Wprowadzenie z klawiatury wartości „0”
kończy sumowanie i jednocześnie wyświetla wartość sumy. (podpowiedź: w programie warto
wykorzystać dwie zmienne: do przechowywania liczby podawanych przez użytkownika i do
przechowywania wartości sumy).
Zadania wprowadzające, przykładowe:
Napisz program, który będzie słownie wyświetlał wartość liczby podanej przez użytkownika. Program ma
działać dla liczb z zakresu 1-3.
Lab. Informatyki
P. Mazurek ©2012
Napisz program, który sprawdzi do którego z przedziałów 0-5 czy 6-10 należy podana przez użytkownika
liczba.
Poniżej przedstawiono fragment programu, który w zależności od wyboru użytkownika liczy kwadrat lub
pierwiastek liczby wczytanej z klawiatury. Wybór obliczeń jest dokonywany w oparciu o początkowe
wyświetlane menu - jeżeli użytkownik poda 1 to liczony jest kwadrat, jeśli poda 2 to liczony jest pierwiastek.
Napisz program obliczający pierwiastki równania kwadratowego ax2+bx+c. Wartości a, b i c podaje
użytkownik. Wraz z wyświetlonymi wartościami miejsc zerowych pojawia się odpowiedni komunikat:
„jest jedno miejsce zerowe: ”, „są dwa pierwiastki: x1= x2= ” , „brak pierwiastków”.
--------------------------------------------------------------------------------------------------------------------------------------
Lab. Informatyki
P. Mazurek ©2012
Program losujący liczbę całkowitą z zakresu 0-10, liczbę całkowitą z zakresu 10-20, liczbę rzeczywistą z
zakresu 0-1.
Aby możliwe było losowanie liczb musimy uruchomić generator liczb
pseudolosowych. – umieszczenie w kodzie instrukcji: Randomize;
Aby wylosować liczbę rzeczywistą korzystamy z instrukcji: R:=random;
R jest zmienną typu rzeczywistego. Zostanie do niej przypisana
wylosowana wartość. Wartość ta zawsze pochodzi z zakresu od 0 do 1.
Aby wylosować liczbę całkowitą korzystamy z instrukcji:
i:=random(n);
i jest zmienną typu całkowitego, n jest wartością całkowitą. Do zmiennej i
zostanie przypisana wylosowana wartość. Wartość ta zawsze pochodzi z
zakresu od 0 do n-1. Jeżeli chcemy wylosować liczbę z zakresu od k do n
wówczas stosujemy instrukcję: i:= random(n-k+1)+k.
Tablice deklarujemy w sekcji var. Deklaracja tablicy ma postać:
tab:array[0..5] of Integer;
gdzie: tab- nazwa tablicy , array– słowo kluczowe oznaczające tablicę, [0..10]– numery pierwszego i ostatniego indeksu komórki, z
nich wynika rozmiar tablicy Integer– typ elementów przechowywanych w komórkach tablicy
Aby w kodzie programu odwołać się do komórki tablicy podajemy nazwę tablicy oraz numer komórki:
Napisz program zawierający tablicę 5x4. Pierwszy wiersz wypełnij kolejnymi parzystymi liczbami (ale
pierwsza liczba ma pojawić się losowo z zakresu 10-20). Drugi wiersz wypełnij kwadratami liczb z
pierwszego wiersza. W trzecim wierszu umieść pierwiastki liczb z pierwszego wiersza. W czwartym
wierszu zsumuj wszystkie poprzednie trzy liczby. Wyświetl wyniki.
Lab. Informatyki
P. Mazurek ©2012
Zadanie dodatkowe
Napisać program wyświetlający na układzie współrzędnych (z opisanymi osiami i strzałkami) przebieg funkcji
y=0,6+4*sin(x). (można wykorzystać informacje z poniższego algorytmu)
Procedura pierwszego przycisku
aktywujacego układ współrzędnych:
begin
uklad.Enabled:=false;
Canvas.Pen.Color := clBlack;
Canvas.Pen.Style := psSolid;
Canvas.Brush.Style := bsClear;
Canvas.Font.Color := clBlue;
uklad wspolrzednych
Canvas.MoveTo(20, 100); // góra "y"
Canvas.LineTo(20, 300); // os "y"
Canvas.MoveTo(20,200); // srodek ukladu
Canvas.LineTo(400, 200); // os "x"
napisy na ukladzie wspolrzednych
Canvas.TextOut(19, 60, 'Wykres funkcji sinus!');
Canvas.TextOut(5, 100, 'y');
Canvas.TextOut(407, 200, 'x');
Canvas.TextOut(10, 200, '0');
Canvas.TextOut(95, 205, 'Pi/2');
Canvas.TextOut(170, 205, 'Pi');
Canvas.TextOut(255, 205, '(3/2*Pi)');
Canvas.TextOut(334, 205, '2*Pi');
canvas.pen.mode := pmblack;
Canvas.Brush.Color := clRed;
strzałki
canvas.Polygon([point(400,200),point(390,195),Point(390,205)]);
canvas.Polygon([point(20,100),point(15,110),Point(25,110)]);
end;
Procedura drugiego przycisku aktywujacego wykres sinusa
var
x,y:integer;
y2,x2,i:real;
begin
sinus.Enabled:=false;
Canvas.Pen.Color := clblue;
Canvas.Pen.Style := psSolid;
Canvas.Brush.Style := bsClear;
canvas.pen.mode := pmblack;
Canvas.Brush.Color := clRed;
Inicjowanie wykresu sinusa(x)
i:=0.0;
REPEAT
i:=i + 0.02;
x2:=20+i*50;
x:=round(x2);
y2:=200-(sin(i)*50);
y:=round(y2);
Funkcja Round zaokrągla podaną liczbę rzeczywistą
(w górę lub w dół, w zależności od
tego której wartości jest bliższa) i zwraca ją w postaci liczby całkowitej.
Canvas.Pixels[x, y] := clRed;
sleep(10);
UNTIL i>=6.29;
end;

Podobne dokumenty