13. óra: Algoritmus felismerése, módosítása

Oldja meg a kiadott feladatokat python-ban, és ha kész, mutassa meg a mûködõ programot!

A megoldás során a bevitt adatok helyességét nem kell ellenõriznia, feltételezheti, hogy azok a feladat kiírásának megfelelnek.

A mólt órán készített osztoszam.py program kiírja 1-tõl 100-ig az osztók számát. (A programot letöltheti a fenti linkrõl is.)
 
1. feladat: Mentse el a programot osztoszam.tol.ig.py néven!
Ezután módosítsa úgy, hogy ne 1-tõl 100-ig adja meg az osztók számát, hanem a felhasználó által megadott határok között!

A program futása kb. ilyen (sárgával kiemeltem, amit a felhasználó ír be):

Adja meg az alsó határt: 10
Adja meg az felsõ határt: 18
10    4
11    2
12    6
13    2
14    4
15    4
16    5
17    2
18    6

Kész munkáját tesztelje, és ha jó, mutassa be!

 

2. feladat: Az osztoszam.py programot mentse el primek.py néven, és módosítsa úgy, hogy:
  1. A fájba íráskor a primek.txt-be írjon.
     
  2. Amikor 1-tõl 100-ig kiírja a számokat, ne az osztók számát írja mellé, hanem azt, hogy prim-e az a szám! Ha prím, Írja oda, hogy "Prím!", ha nem prím, ne írjon semmit.
(A prímek felismerhetõk pl. arról, hogy pontosan két osztójuk van.)

A program futása kb. ilyen (A '...' helyén a sok sort töröltem, de önöknek ott végig kell fusson):

1
2    Prím!
3    Prím!
4
5    Prím!
6
7    Prím!
8
9
10
...
93
94
95
96
97    Prím!
98
99
100

Kész munkáját tesztelje, és ha jó, mutassa be!

 

Az lkkt.py program meghatározza két megadott pozitív egész szám legkisebb közös többszörösét. (A programot letöltheti a fenti linken.)
Ha letöltötte, tesztelje!
Tanulmányozza a kódot, és próbálja megérteni, hogy mûködik, mert egy kicsit majd át kell írnia...
  
3. feladat: Mentse el a programot lnko.py néven!
Ezután módosítsa úgy, hogy ne a megadott ne a legkisebb közös többszöröst határozza meg, hanem a két szám legnagyobb közös osztóját!

A program futása kb. ilyen (sárgával kiemeltem, amit a felhasználó ír be)):

Adja meg az egyik számot: 12
Adja meg a másik számot: 18
A két szám legnagyobb közös osztója: 6

Kész munkáját tesztelje, és ha jó, mutassa be!

 

4.1. feladat: Készítsen programot prímstatisztika.py néven, mely 1-tõl 100-ig kiírja a számokat, majd mindegyik mellé kiírja azt, hogy az aktuális számig hány prím van.
 
4.2. feladat: A kimenetet a képernyõn kívül írja ki a
prímstatisztika.txt névû fájlba is!

A program futása a képernyõn kb. ilyen (A '...' helyén a sok sort töröltem, de önöknek ott végig kell fusson):

1    0 prím van eddig
2    1 prím van eddig
3    2 prím van eddig
4    2 prím van eddig
5    3 prím van eddig
6    3 prím van eddig
7    4 prím van eddig
8    4 prím van eddig
9    4 prím van eddig
...
95    24 prím van eddig
96    24 prím van eddig
97    25 prím van eddig
98    25 prím van eddig
99    25 prím van eddig
100    25 prím van eddig

Kész munkáját tesztelje, és ha jó, mutassa be!

 

3n + 1 probléma
 
Egy a felhasználó által megadott kezdõértékû sorozatot kell vizsgálnia.
A kezdõértéket jelölje: \(a_1\). (Pozitív egész.)
A sorozat további tagjait a következõképpen képezzük:
- Ha a sorozat egy tagja páros, akkor a következõ tag legyen annak a fele!
- Ha a sorozat egy tagja páratlan, akkor a következõ legyen annak 3-szorosa +1.
A sorozat véget ér, ha elérjük az 1-et.
 
Például: \(a_1=17\) esetén a sorozat így néz ki:

17  52  26  13  40  20  10  5  16  8  4  2  1 (Vége, a sorozat 13 tagú.)
 
5.1. feladat: Kérjen be a felhasználótól egy pozitív egész számot! Ez lesz a sorozat kezdõtagja: \(a_1\).
Ezután írja ki a teljes sorozatot! A számokat két üres hellyel válassza el!
A sorozat vége után új sorba írja ki, hogy hány tagú a sorozat!
Kész munkáját mentse sorozat.py néven!

A program futása a képernyõn kb. ilyen (sárgával kiemeltem, amit a felhasználó ír be):

Kérem a sorozat elsõ tagját (poz. egész): 11
11  34  17  52  26  13  40  20  10  5  16  8  4  2  1  
A tagok száma: 15.

Kész munkáját tesztelje, és ha jó, mutassa be!

 

5.2. feladat: Készítsen programot sorozatstatisztika.py néven, mely 1-tõl 100-ig kiírja a számokat, majd mindegyik mellé (tabulátorral elválasztva) kiírja, hogy az adott számmal kezdõdõ sorozat hány tagú. (A sorozatot már nem kell kiírnia.)
 
5.3. feladat: A kimenetet a képernyõn kívül írja ki a
sorozatstatisztika.txt névû fájlba is!

Blabla

Blabla

 

Jó munkát!