Stundas uzdevums: Analizēt "Skaitļu minētāja" spēles gaitu, izstrādāt vizuālu algoritma shēmu un sasaistīt to ar konkrētām funkcijām pirms koda rakstīšanas.
70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un pieraksti, kas strādā. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Pirms koda rakstīšanas algoritmu vizualizē shēmā. Katrs simbols Python kodā nozīmē konkrētu konstrukciju.
| Simbols | Nozīme shēmā | Atbilstība Python kodā |
|---|---|---|
| Ovāls | Sākuma vai beigu punkts | Programmas sākums / return |
| Taisnstūris | Darbība vai aprēķins | Funkcijas izsaukums vai piešķiršana |
| Paralelograms | Ievade / izvade | input() / print() |
| Rombs | Lēmums (jā/nē) | if / elif / else |
| Bulta | Plūsmas virziens | Koda izpildes secība |
Cikli shēmā tiek attēloti kā bulta atpakaļ uz iepriekšējo soli ar lēmuma rombu, kas pārtrauc vai turpina ciklu - tas atbilst Python while ciklam.
Atpazīsti šīs stundas galveno ideju un sasaisti to ar gala projektu Skaitļu minētājs.
.py, .md, .html vai projekta dokumentācijas failā, nevis uzreiz lielu funkciju.klases_punkti, zvana_taimeris, pazudusais_markieris vai kafijas_pauze; mazliet humora drīkst, bet kodam jāpaliek skaidram.Izmanto šīs stundas prasmi nelielā, strādājošā projekta daļā.
.py, .md, .html vai projekta dokumentācijas failā, izmantojot teorijas piemēru kā sākumpunktu.Pārbaudi risinājumu, salīdzini rezultātus un atrodi, ko uzlabot.
Pievieno nelielu radošu uzlabojumu ar klases dzīves piemēru, nepārsniedzot apgūto vielu.
megi += 1 rinda - programma nekad neapstājas. Vienmēr pārbaudi, vai kāds mainīgais maina pārtraukšanas nosacījumu.patiesais), kas vēl nav izveidots - definē to pirms cikla.import random
def izveido_skaitli():
return random.randint(1, 100)
def viens_meginajums(patiesais):
minetais = int(input("Min skaitli (1-100): "))
if minetais == patiesais:
return "trāpīts"
elif minetais < patiesais:
return "par mazu"
return "par lielu"
patiesais = izveido_skaitli()
megi = 0
while megi < 10:
rezultats = viens_meginajums(patiesais)
print(rezultats)
megi += 1
if rezultats == "trāpīts":
break