raport


Robert Wesołowski

  1. Kod programu napisany w języku Pascal przy pomocy kompilatora Free Pascal Compiler w wersji 2.4.4.

program ciagi;

uses crt;

var koniec:boolean;

tablica: array[1..100] of integer;

liczba: integer;

indeks: byte;

licznik: byte;

a: integer;

maks: byte;

plik: text;

maksymalny: integer;

procedure zmien(liczba: integer; var zwr: integer);

var dziel, pierwsza: integer;

begin

dziel:=(liczba div 10) mod 100;

zwr:=dziel;

end;

begin

clrscr;

textcolor(white);

maks:=0;

liczba:=1000;

assign(plik,'wynik.txt');

rewrite(plik);

repeat

koniec:=true;

writeln(plik,'Badana liczba: ',liczba);

writeln('Badana liczba: ',liczba);

indeks:=1;

zmien(liczba,tablica[indeks]);

write(plik,tablica[indeks]);

write(tablica[indeks]);

while koniec do

begin

zmien(tablica[indeks]*tablica[indeks],tablica[indeks+1]);

write(plik,' -> ',tablica[indeks+1]);

write(' -> ',tablica[indeks+1]);

indeks:=indeks+1;

for licznik:=1 to indeks-1 do

begin

if tablica[licznik]=tablica[indeks] then

begin

koniec:=false;

end;

end;

end;

writeln(plik,'.');

writeln('.');

textcolor(lightgreen);

writeln(plik,'Dlugosc ciagu: ',indeks);

writeln('Dlugosc ciagu: ',indeks);

textcolor(white);

writeln(plik,'==========================================');

writeln('==========================================');

if indeks>maks then

begin

maks:=indeks;

maksymalny:=tablica[1];

end;

liczba:=liczba+10;

until liczba>1990;

writeln(plik,'Maksymalna dlugosc ciagu ',maks,' np. dla x',maksymalny,'x, gdzie x to dowolna cyfra');

writeln('Maksymalna dlugosc ciagu ',maks,' np. dla x',maksymalny,'x, gdzie x to dowolna cyfra');

close(plik);

readln;

end.

  1. Działanie programu.

Program ma zadanie wyszukać liczbę czterocyfrową, która utworzy najdłuższy ciąg bez powtórzeń w następujący sposób: bierze dwie środkowe cyfry i tworzy z nich liczbę, którą podnosi do kwadratu. Z tej powstałej czterocyfrowej liczby bierze znów środkowe cyfry i podnosi do kwadratu. Robi to do momentu, aż jakaś liczba dwucyfrowa wystąpi po raz drugi w danym ciągu, wtedy przerywa działanie pętli. Do otrzymywania liczby ze środkowych liczb służy funkcja zmien, która przyjmuje dwa argumenty: liczba - liczba do zamiany oraz zmienną zwr, która służy do zwracania liczby utworzonej z środkowych cyfr. Aby zminimalizować liczbę operacji przedział testowanych liczb jest od 1000 do 1990 z krokiem co 10, gdyż pierwsza i ostatnia cyfra liczby nie wpływa na działanie algorytmu. A więc mamy do przetestowania 100 kombinacji, od 00 do 99, co realizuje nam pętla repeat … until liczba>1990. Wewnątrz tej pętli znajduje się druga, która dla każdej z tych kombinacji wyszukuje i wypisuje ciąg oraz sprawdza jego długość. Na podstawie długości jest znajdowany najdłuższy ciąg oraz kombinacja, która go realizuje. Program wyświetla wyniki działania, które także zapisuje w pliku o nazwie wyniki.txt w katalogu, w którym sam się znajduje.

  1. Wyniki

Jak można wyczytać w pliku wyniki.txt najdłuższymi ciągami są ciągi oparte na liczbach: x42x i x69x, gdzie x - dowolna cyfra. Ich ciągi przedstawiają się następująco:

x42x: 42 -> 76 -> 77 -> 92 -> 46 -> 11 -> 12 -> 14 -> 19 -> 36 -> 29 -> 84 -> 05 -> 02 -> 00 -> 00.

x69x: 69 -> 76 -> 77 -> 92 -> 46 -> 11 -> 12 -> 14 -> 19 -> 36 -> 29 -> 84 -> 05 -> 02 -> 00 -> 00.

Jak widać oba ciągi mają po 16 elementów (licząc z powtórzonymi kombinacjami 00 na końcu, które przerywają dalsze działanie najbardziej wewnętrznej pętli). Co ciekawe można zauważyć że poza pierwszym elementem ciągi te nie różnią się między sobą.



Wyszukiwarka

Podobne podstrony:
Pedagogika ekologiczna z uwzględnieniem tez raportów ekologicznych
Prezentacja Raport
bph pbk raport roczny 2001
No Home, No Homeland raport
Dzieci recesji Raport UNICEF
Pełnia szczęścia raport
DiW 3 raport lifting
Centrum Zielonych technologii raport
06 Raporty finansowe
Lab 3 Draft forms raport
1 Sprawko, Raport wytrzymałość 1b stal sila
Formularze i raporty
Raport 398, Fizyka jądrowa, Dozymetria
Chemia fizyczna 18, chemia fizyczna, chemia, FIZYCZNA - raporty
raport5.2, UMK, Chemia fizyczna
Raport FBI, Satanizm
Chemia fizyczna 20-wyniki, chemia fizyczna, chemia, FIZYCZNA - raporty, Ćwiczenie 8
RAPORT Z EWALUACJI 201197, Nadzór pedagogiczny

więcej podobnych podstron