Witam,
Chciałbym aby ktoś mi wytłumaczył co miej więcej zachodzi w tych programach.
- Oblicz ilość wystąpienia danej liczby wśród losowo wygenerowanych 100 liczb z zakresu (0,9) wpisanych do tablicy.
PROGRAM 1;
USES CRT;
VAR
T : ARRAY [1..100] OF INTEGER;
A, B, C, D, E, F, G, H, J, K, I : INTEGER;
BEGIN
ClrScr;
randomize;
FOR I:=1 TO 100 DO
BEGIN
T[I]:=(random(10)+0);
END;
FOR I:=1 TO 100 DO
IF T[I]= 0 THEN A:=A + 1;
FOR I:=1 TO 100 DO
IF T[I]= 1 THEN B:=B + 1;
FOR I:=1 TO 100 DO
IF T[I]= 2 THEN C:=C + 1;
FOR I:=1 TO 100 DO
IF T[I]= 3 THEN D:=D + 1;
FOR I:=1 TO 100 DO
IF T[I]= 4 THEN E:=E + 1;
FOR I:=1 TO 100 DO
IF T[I]= 5 THEN F:=F + 1;
FOR I:=1 TO 100 DO
IF T[I]= 6 THEN G:=G + 1;
FOR I:=1 TO 100 DO
IF T[I]= 7 THEN H:=H + 1;
FOR I:=1 TO 100 DO
IF T[I]= 8 THEN J:=J + 1;
FOR I:=1 TO 100 DO
IF T[I]= 9 THEN K:=K + 1;
writeln('Ilosc danej liczby:');
writeln('0 ===== ',A);
writeln('1 ===== ',B);
writeln('2 ===== ',C);
writeln('3 ===== ',D);
writeln('4 ===== ',E);
writeln('5 ===== ',F);
writeln('6 ===== ',G);
writeln('7 ===== ',H);
writeln('8 ===== ',J);
writeln('9 ===== ',K);
readln;
END.
- Wypełnij tablicę 25 elementową losowo wygenerowanymi liczbami z przediału (0,9). Utwórz MENU umożliwiające użytkownikowi dodanie, odjęcie, pomnożenie i podzielenie (liczb całkowitych i modulo) elementów tablicy.
PROGRAM 2;
USES CRT;
LABEL poczatek;
VAR
T: ARRAY [1..25] OF INTEGER;
I, A, B : INTEGER;
W : BYTE;
C : CHAR;
BEGIN
poczatek:
ClrScr;
randomize;
FOR I:=1 TO 25 DO
BEGIN
T[I]:=(random(10)+0);
END;
textcolor(lightgreen);
writeln('++++++++++ MENU +++++++++++');
writeln('++++ 1 DODAWANIE +++++++');
writeln('++++ 2 ODEJMOWANIE +++++++');
writeln('++++ 3 MNOZENIE +++++++');
writeln('++++ 4 DZIELENIE +++++++');
writeln('++++ 5 ZAMKNIJ +++++++');
writeln('+++++++++++++++++++++++++++');
writeln;
textcolor(lightred);
write('Wybierz opcje: ');
readln(W);
writeln;
IF W=5 THEN halt;
textcolor(yellow);
write('Podaj indeks pierwszej liczby: ');
readln(A);
write('Podaj indeks drugiej liczby: ');
readln(B);
textcolor(lightblue);
CASE W OF
1:
writeln('Suma liczb ',T[A],' oraz ',T[B], ' jest rowna: ',(T[A]+T[B]));
2:
writeln('Roznica liczb ',T[A],' oraz ',T[B], ' jest rowna: ',(T[A]-T[B]));
3:
writeln('Iloczyn liczb ',T[A],' oraz ',T[B], ' jest rowna: ',(T[A]*T[B]));
4:
BEGIN
IF B <> 0 THEN
BEGIN
writeln('Iloraz liczb ',T[A],' oraz ',T[B], ' jest rowna: ',(T[A]/T[B]));
writeln('Modulo liczb ',T[A],' oraz ',T[B], ' jest rowna: ',(T[A] mod T[B]));
END;
IF B = 0 THEN writeln('Liczba o indeksie ',B,' jest rowna 0.');
END;
END;
textcolor(lightgreen);
writeln('Czy zamknac program (T/N) ?');
readln(C);
IF ((C = 'n') OR (C = 'N')) THEN goto poczatek;
END.
- Wypełnij tablice 25 elementową losowo wygenerowanymi liczbami z przedziału (0,9) Liczby z tablicy przemóż przez wzór: y:=ax+b. Wyświetl zawartość na ekranie. Odwróć proces: x=(y-b)/a
PROGRAM 3;
USES CRT;
VAR
T : ARRAY [1..25] OF INTEGER;
A, B, I : INTEGER;
BEGIN
ClrScr;
A:=2;
B:=3;
writeln('Program oblicza wzor y=ax+b dla danych z tabeli');
writeln('X Y=ax+b X=(y-b)/a');
randomize;
FOR I:=1 TO 25 DO
BEGIN
T[I]:=(random(10)+0);
writeln(T[I],' ',(A*T[I]+B),' ',(((A*T[I])-B)/A):2:2);
END;
readln;
END.