27 (660)

27 (660)



program cw3_33;

{ Program wpisuje liczby naturalne mniejsze od 100 }

{ podzielne przez 11 metoda "siłowa".    }

{ Katalog r3_08: 3_33.pas    }

var

I : Byte; begin

for I := 1 to 100 do

if (I mod 11 = 0) then Writeln (I);

Readln; end.

Pętla for (podobnie jak inne typy pętli, które poznasz w następnym rozdziale) to metoda zaprogramowania iteracji (z tym słowem spotkałeś się już podczas projektowania, pamiętasz?). Kolejne ćwiczenie (z moim zdaniem bardzo ciekawymi wynikami) zaczerpnąłem z książki Czy Bóg gra w kości lana Stewarta.

ĆWICZENIE

3.34


Obliczanie wyrazów ciqgu

Napisz program, który wyświetla kolejne wyrazy ciągu xn+i = x„2-1 dla x0 leżącego pomiędzy 0 i 1. Sprawdź wyniki dla różnych wartości X.. Czy widzisz jakąś regularność w zachowaniu? Popraw program, by liczył wartości ciągu xn+i = 2xn2—1 dla x0 leżącego pomiędzy O i 1.1 co teraz z wynikami?

Oczywiście, w ćwiczeniu wykorzystamy pętlę for. Zakładam, że jedną liczbę będę wyświetlał na 10 pozycjach, w wierszu zatem zmieści się 8 wyników. Wypiszę 24 wiersze, czyli razem 192 wyniki. Program może zatem mieć postać:

program cw3_34;

{ Program wpisuje kolejne wyrazy ciągu x(n+l) - x(n)~2-l }

{ dla podanej wartości x(0).    }

{ Katalog r3_08 : 3_34.pas    }

var

I : Byte;

Wartość : Real;

begin

Write ('Podaj wartość x(0) z zakresu (0, 1): '); Readln (Wartość); if ((Wartosc<-0) or (Wartosc>-l)) then

Writeln ('Podana dana spoza zakresu (0, 1)') else

for I 1 to 192 do begin

Wartość Wartosc*Wartosc-l;

Write (Wartość:10:5); end;

Readln; end.

Na początku programu czytamy wartość zerowego wyrazu ciągu. Za pomocą instrukcj warunkowej sprawdzamy, czy leży w interesującym nas zakresie (to bardzo typowe wykorzystanie tej instrukcji). Jeżeli nie — wyświetlamy komunikat o błędzie. Jeżeli tak — w pętli liczymy kolejne wyrazy ciągu i wypisujemy je (począwszy od pierwszego).

Cóż możemy zaobserwować? Bardzo szybko kolejne wyrazy ciągu zaczęły przybiera tylko dwie wartości na zmianę: 0 i 1. Spróbuj uruchamiać program dla innych wartośd


Wyszukiwarka

Podobne podstrony:
1. Doskonała inaczej (6pkt) ilgorylm wyznacza wszystkie dzielniki liczby naturalnej n > I, mniejs
Napisz program, który czyta dwie liczby naturalne (z zakresu od 1 do 1000000000) i wypisuje ich śred
Napisz program, który czyta liczbę naturalną z zakresu od 100 do 2000000000 i wypisuje ją pomijając
15 3 2 program powinien wypisać "TAK", ponieważ 15 + 3 = 18 (podzielne przez 9). Natomiast
Przykład 1 Dla podanych liczb 2 i 5 program wypisał sumę liczb mniejszych od 50, które są większe od
Liczby do0 ►Wpisz w serca liczby o 24 mniejsze od podanych. pomocą znaków zapisz liczby. Porównaj j
Napisz program, który czyta dwie dodatnie liczby naturalne A, B (nieprzekraczające dziesięciu tysięc
Napisz program, który czyta cztery różne liczby naturalne (do dwóch miliardów) i sprawdza, czy można
SKO2 overview 3 W modemach wykouanych w technologii CAP programowa zmiana liczby bitów informacyjny
Poznaj C++ w$ godziny0174 Referencje 163 Linie 24-26 zamieniają wartości. Efekt zamiany wypisywany j
Algorytm Euklidesa w Pascalu program Euklides ; { wczytuje liczby naturalne m i n. Jeśli dodatnie, l
MaszynaW 27 56 4. Program ćwiczeń 4.1.2. Przykład 2 Podać sekwencję sygnałów mikrosterujących realiz
67107 Obraz5 Pytania dotyczące efektywności programu: np. stosunek kosztów programu do liczby osób
Diagnostyka 27 Rada programowa Przewodniczący: prof. dr hab. Czesław Cempel Politechnika Poznańska
SKO2 overview 3 W modemach wykouanych w technologii CAP programowa zmiana liczby bitów informacyjny
Powiatowy ProgramBezpieczeństwa Ruchu Drogowego Ce!główny Programu: Zmniejszenie liczby ofiar

więcej podobnych podstron