Programmeerimine
Programmeerimise õpik: http://programmeerimine.cs.ut.ee.
Tekst ekraanile
print("tere")
print(2+3)
Väärtuste sisestamine klaviatuurilt
print("Ruutuvõtmise programm")
a = int(input("Sisesta täisarv: "))
# input() võimaldab sisestada (tekstilisi) väärtusi
# int() teisendab väärtuse täisarvuks
# float() teisendab väärtuse reaalarvuks
print("Arvu", a, "ruut on", a*a)
Andmete lugemine failist
Teeme ruutuvõtmise programmist teise variandi, kus arv a loetakse sisse failist h:\arv.txt. Enne programmi käivitamist tuleb selline fail ise tekitada!
print("Ruutuvõtmise programm")
f = open("h:\\arv.txt") # faili h:\arv.txt avamine, tähiseks saab f
a = int(f.readline()) # f.readline() loeb failist f sisse ühe rea
print("Andmed loetud failist h:\\arv.txt")
print("Arvu", a, "ruut on", a*a)
Kordused
Loeme sisse 10 reaalarvu ja väljastame nende summa.
print("Summa leidmine")
print("Sisestada tuleb 10 reaalarvu")
i = 1
summa = 0.0
while i <= 10:
liidetav = float(input("Sisesta arv nr. " + str(i) + ": "))
# str() teeb argumendi tekstiliseks (ehk sõneks)
# + koostab sõnede järjest kirjutise
summa = summa + liidetav
i = i + 1
print("Sisestatud arvude summa on", summa)
Tingimuslause
Küsime kasutajalt tema hinde kursuses "Matemaatiline maailmapilt" või mõni selle ekvivalent. Kui hinne on F, siis lohutame, kui on A-st E-ni, siis kiidame. Muul juhul väljastame teksti Pole korrektne hinne
h = input("Sisestage oma hinne aines Matemaatiline maailmapilt: ")
if h == "A" or h == "B" or h == "C" or h == "D" or h == "E":
print("Tubli! Saite aine tehtud.")
elif h == "F":
print("Kahju! Peate uuesti proovima.")
else:
print("Pole korrektne hinne.")
Andmete lugemine failist järjendisse (ühemõõtmelisse massiivi)
Failis h:\andmed.txt esimesel real on täisarv {$N$} ja seejärel järgmisel real tühikutega eraldatult {$N$} reaalarvu. Ülesanne on väljastada need reaalarvud vastupidises järjekorras.
print("Tagurpidi kirjutamise programm")
f = open("h:\\andmed.txt")
N = int(f.readline())
# nüüd on arv N käes, järgnevalt tuleb teha N elemendiga järjend ja arvud sinna sisse lugeda
rida = f.readline()
# muutuja "rida" on tekstiline ja seal on reaalarvud tühikutega eraldatud
eraldi = rida.split()
# muutuja "eraldi" on järjend, mille elemendid eraldi[0], eraldi[1] jne, kuni eraldi[N-1] on failis
# olnud suurused (tekstiliselt)
# Need tuleks väljastada tagurpidises järjekorras, see tähendab, eraldi[N-1], eraldi[N-2] jne, kuni eraldi[0]
i = N-1
while i >= 0:
print(eraldi[i], end=" ")
# end=" " on vajalik selleks, et iga arvu järel ei tuleks reavahetust, vaid tühik
i = i - 1
Maatriksi transponeerimine
Failis h:\andmed.txt esimesel real on täisarv {$N$} ja seejärel järgmisel {$N$} real tühikutega eraldatult {$N$} reaalarvu. Seega on failis h:\andmed.txt ruutmaatriks. Ülesanne on väljastada see ruutmaatriks transponeerituna.
print("Transponeerimine")
f = open("h:\\andmed.txt")
N = int(f.readline())
maatriks = []
i = 0
while i <= N-1:
rida = f.readline()
eraldi = rida.split()
arvurida = []
j = 0
while j <= N-1:
arvurida.append(float(eraldi[j]))
j = j + 1
maatriks.append(arvurida)
i = i+1
# Nüüd on maatriks käes, vaja väljastada transponeerituna.
i = 0
while i <= N-1:
j = 0
while j <= N-1:
print(maatriks[j][i], end=" ")
j = j + 1
# kui algse maatriksi i-nes veerg on reana väljastatud, tuleks väljastada ka üks reavahetus
print()
i = i + 1
Tehke ise!
- Koostage programm, mis väljastab ekraanile Teie nime ja sünnikuupäeva.
- Koostage programm, mis küsib kasutajalt kaks reaalarvu ning väljastab nende summa.
- Koostage programm, mis loeb failist
h:\andmed.txtsisse kolm reaalarvu ja väljastab nende aritmeetilise keskmise. Arvud on igaüks eraldi real. - Koostage programm, mis tsüklit kasutades loeb failist
h:\andmed.txtsisse kolm reaalarvu ja väljastab nende aritmeetilise keskmise. Arvud on igaüks eraldi real. - Koostage programm, mis loeb failist
h:\andmed.txtsisse ühe täisarvu (olgu tema tähis {$n$}) ja seejärel {$n$} reaalarvu ning väljastab nende aritmeetilise keskmise. Arvud on igaüks eraldi real. - Koostage programm, mis loeb failist
h:\andmed.txtsisse ühe täisarvu (olgu tema tähis {$n$}) ja seejärel {$n$} reaalarvu ning väljastab, mitu neist reaalarvudest olid positiivsed. Arvud on igaüks eraldi real. - Koostage programm, mis loeb failist
h:\andmed.txtsisse ühe täisarvu (olgu tema tähis {$n$}) ja seejärel {$n$} tühikutega eraldatud reaalarvu ning väljastab nende aritmeetilise keskmise. - Koostage programm, mis loeb failist
h:\andmed.txtsisse ühe täisarvu (olgu tema tähis {$n$}), seejärel ühte massiivi {$n$} realt {$n$} tühikutega eraldatud reaalarvu ning teise massiivi samuti {$n$} realt {$n$} tühikutega eraldatud reaalarvu. Olgu need massiivid maatriks {$A$} ja {$B$}. Programm peab väljastama ruutmaatriksite {$A$} ja {$B$} summa.
Tarkvara
- Python https://www.python.org.