Eugeniusz Jakubas Własności liczb



Pobieranie 269.42 Kb.
Data22.05.2018
Rozmiar269.42 Kb.

Temat: Własności liczb. (gimnazjum)
Celem lekcji jest zapoznanie ze sposobem sprawdzania, czy dana liczba jest pierwsza, sposobem wyznaczania liczb pierwszych w danym przedziale, sposobem wyznaczania nwd i nww oraz z zwłasnością liczby 153.
Przebieg lekcji:
1.Omówienie sposobu sprawdzania, czy dana liczba całkowita jest pierwsza.

program Liczba_pierwsza; {Turbo Pascal}

uses crt;

var liczba,n:longint;

begin


clrScr;

liczba:=1997;

for n:=2 to round(sqrt(liczba)) do

if liczba mod n=0 then exit;

writeLn(liczba,'-liczba pierwsza');

readLn;


end.

program Liczba_pierwsza; {Think Pascal}

var


liczba, n: longint;

begin


liczba := 1997;

for n := 2 to round(sqrt(liczba)) do

if liczba mod n = 0 then

halt;


writeLn(liczba, '-liczba pierwsza');

end.

2.Wyznaczenie wszystkich liczb pierwszych w danym przedziale - sito Eratostenesa.


{Turbo Pascal}

program Liczby_pierwsze;

uses crt;

const max=500;

var liczba,n:longInt;

t:array[2..max] of longInt;

begin

clrScr;


for liczba:=2 to round(sqrt(max)) do

if t[liczba]=0 then

for n:=2 to max div liczba do t[liczba*n]:=1;

for n:=2 to max do if t[n]=0 then write(n:5);

readLn;

end.


{Think Pascal}

program Liczby_pierwsze;

const max=500;

var liczba,n:longInt;

t:array[2..max] of longInt;

begin


for liczba:=2 to round(sqrt(max)) do

if t[liczba]=0 then

for n:=2 to max div liczba do t[liczba*n]:=1;

for n:=2 to max do if t[n]=0 then

if n mod 100=0 then writeLn

else write(n:5);

end.



Liczby pierwsze z przedziału (1, 500):
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97,

101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199,

211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293,

307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397,

401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499
3. Gra w sito Eratostenesa.
4. Omówienie zastosowań liczb pierwszych do szyfrowanie.
5. Omówienie sposobu znajdowania największego wspólnego dzielnika liczb a i b - algorytm Euklidesa.

Należy przedstawić liczbę a jako kombinację liniową liczby b: a=k*b+r, gdzie r. Jeżli r=0 to nwd(a,b)=b, jeżeli r0 to podstawiamy za a liczbę b, za b liczbę r i powtarzamy całą operację ponownie dopóki r nie będzie równe 0.


6.Ułożenie programu na algorytm Euklidesa.

Program Nwd; {Turbo Pascal}

uses crt;

var a,b,r:integer;

begin


clrScr;

a:=1995;


b:=1957;

repeat


writeLn(a,' = ',a div b,'*',b,' + ',a mod b);

r:=a mod b;

a:=b;

b:=r;


until r=0;

writeLn('Nwd = ',a);

readLn;

end.


program Nwd; {Think Pascal}

var


a, b, r: integer;

begin


a := 1995;

b := 1957;

repeat

writeLn(a,' =',a div b:2,'*',b:2,'+',a mod b:2);



r := a mod b;

a := b;


b := r;

until r = 0;

writeLn('Nwd = ', a : 2);

end.

7. Omówienie sposobu znajdowania najmniejszej wspólnej wielokrotności liczb a i b.
I sposób: bierzemy kolejne wielokrotności liczby a: 1a, 2a, 3a, i.t.d., aż do momentu, gdy któraś z nich podzieli się przez b. Wtedy ta wielokrotność jest to najmniejszą wspólną wielokrotnością liczb a i b.

II sposób: rozkładamy obie liczby a i b na czynniki pierwsze i za najmniejszą wspólną wielokrotność uznajemy iloczyn czynników, z tym, że jeśli jakiś czynnik występuje w obu rozkładach to do iloczynu bierzemy go tylko raz.

III sposób: obliczamy iloczyn liczb a i b i dzielimy go przez ich największy wspólny dzielnik tych liczb.
8. Ułożenie programów komputerowych do wyznaczania najmniejszej wspolnej wielokrotności.


program Najmniejsza_wspolna_wielokrotnosc;

uses crt;

var a,b,dz:longInt;

begin


clrScr;

a:=30;


b:=105;

dz:=1;


while dz*a mod b<>0 do dz:=dz+1;

writeLn('N. w. w.(',a,',',b,') = ',dz*a);

readLn;

end.


program Najmniejsza_wspolna_wielokrotnosc;

var a, b, dz: longInt;

begin

a := 30;


b := 105;

dz := 1;


while dz * a mod b <> 0 do dz := dz + 1;

writeLn('N. w. w.(',a:1,',',b:1,')=',dz*a:1);

end.

9. Omówienie własności kolejnych sum cyfr dowolnej liczby naturalnej:

a) sumy cyfr, np. 12345 15 6 6 ...

b) sumy kwadratów cyfr, np. 12345 55 50 25 29 85 89145 42 20 4 16 37 5889 ...

c) sumy sześcianów cyfr (własność liczby 153), np. 12345 225 141 66 432 99 1458 702 351 153 153...


program Suma_szescianow_cyfr {Turbo Pascal}

uses crt;

var liczba,cyfra,suma,i:longInt;

key:char;

begin

clrScr;


liczba:=123;

write(liczba,' ');

repeat

suma:=0;


repeat

cyfra:=liczba mod 10;

suma:=suma+cyfra*cyfra*cyfra;

liczba:=liczba div 10;

until liczba=0;

write(suma,' ');

liczba:=suma;

key:=readKey;

until (key=#27);

end.


program Suma_szescianow_cyfr ;{Think Pascal}

var


liczba, cyfra, suma, i: longInt;

key: char;

begin

liczba := 123;



writeLn(liczba);

repeat


suma := 0;

repeat


cyfra := liczba mod 10;

suma := suma + cyfra * cyfra * cyfra;

liczba := liczba div 10;

until liczba = 0;

write(suma, ' ');

liczba := suma;

read(key);

until key = '^';

end.

We wszystkich przypadkach kolejne iteracje sum cyfr, lub sum kwadratów cyfr lub suma sześcianów cyfr tworzą cykle.Szczególnie ciekawy jest przypadek c) dla liczb podzielnych przez 3. Otrzymujemy zawsze liczbę 153.

Dowód tej własności polega na pokazaniu, że suma sześcianów cyfr liczby większej niż 9999 jest od niej mniejsza a dla pozostałych można sprawdzić badaną własność na komputerze.
10. Omówienie własności ciągu liczb Collatza.
Liczby te powstają według następującego przepisu:

Bierzemy dowolną liczbę naturalną. Jeśli jest ona parzysta to dzielimy ją przez 2, w przeciwnym przypadku mnożymy ją przez 3 i dodajemy 1. Z otrzymaną liczbą postępujemy w ten sam sposób. Collatz wysunął hipotezę, że w skończonej ilości takich iteracji zawsze otrzymamy liczbę 1. Hipoteza ta nie została to tej pory udowodniona.


Przykłady:

5

3



5

11. Zastosowanie programu komputerowego do otrzymywania liczb ciągu Collatza.



Program Ciag_Collatza;

uses crt;

var n:longInt;

begin


clrscr;

n:=23;


repeat

write(n,' ');

if n mod 2=0 then n:=n div 2

else


n:=3*n+1;

until n=1;

writeln('1');

readln;


end.

11. Omówienie rozkładu liczb parzystych, podzielnych przez 3, podzielnych przez 4, itd. w trójkącie Pascala. Rozkład ten ma związek z trójkątem Sierpińskiego i z liczbami Newtona.



program trojkat_Pascala;

uses graph;

var karta,tryb,n,k:integer;

x,y:longInt;ilS:string;t:array[1..33] of longInt;

begin

karta:=detect; initGraph(karta, tryb, '');



setTextStyle(2,0,1);

for n:=1 to 33 do t[n]:=0;

y:=1;

for n:=1 to 33 do



for k:=1 to n-1 do

begin


x:=y;

y:=t[k];


t[k]:=x+y;

setColor(t[k] mod 2+3);

str(t[k],ilS);

setUserCharSize(1,length(ilS) div 2,5,4);

outTextXY(320-10*n+k*20,12*n,ilS);

end;


readLn; closeGraph;

end.








Pobieranie 269.42 Kb.

Share with your friends:




©operacji.org 2020
wyślij wiadomość

    Strona główna
warunków zamówienia
istotnych warunków
przedmiotu zamówienia
wyboru operacji
Specyfikacja istotnych
produktu leczniczego
oceny operacji
rozwoju lokalnego
strategii rozwoju
kierowanego przez
specyfikacja istotnych
Nazwa przedmiotu
Karta oceny
ramach działania
przez społeczno
obszary wiejskie
dofinansowanie projektu
lokalnego kierowanego
Europa inwestująca
Regulamin organizacyjny
przetargu nieograniczonego
kryteria wyboru
Kryteria wyboru
Lokalne kryteria
Zapytanie ofertowe
Informacja prasowa
nazwa produktu
Program nauczania
Instrukcja obsługi
zamówienia publicznego
Komunikat prasowy
programu operacyjnego
udzielenie zamówienia
realizacji operacji
opieki zdrowotnej
przyznanie pomocy
ramach strategii
Karta kwalifikacyjna
oceny zgodno
Specyfikacja techniczna
Instrukcja wypełniania
Wymagania edukacyjne
Regulamin konkursu
lokalnych kryteriów
strategia rozwoju
sprawozdania finansowego
ramach programu
ramach poddziałania
kryteriów wyboru
operacji przez
trybie przetargu