Institute of Mathematics and Statistics
Log in
  • Eesti keel
  • Courses
  • 2023/24 fall
  • Algebra I (MTMM.00.038)

Algebra I 2023/24 fall

  • Pealeht
  • Hinde kujunemine
  • Praktikumid
  • Õppematerjalid
  • Eksamid

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!

  1. Koostage programm, mis väljastab ekraanile Teie nime ja sünnikuupäeva.
  2. Koostage programm, mis küsib kasutajalt kaks reaalarvu ning väljastab nende summa.
  3. Koostage programm, mis loeb failist h:\andmed.txt sisse kolm reaalarvu ja väljastab nende aritmeetilise keskmise. Arvud on igaüks eraldi real.
  4. Koostage programm, mis tsüklit kasutades loeb failist h:\andmed.txt sisse kolm reaalarvu ja väljastab nende aritmeetilise keskmise. Arvud on igaüks eraldi real.
  5. Koostage programm, mis loeb failist h:\andmed.txt sisse ü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.
  6. Koostage programm, mis loeb failist h:\andmed.txt sisse ü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.
  7. Koostage programm, mis loeb failist h:\andmed.txt sisse ühe täisarvu (olgu tema tähis {$n$}) ja seejärel {$n$} tühikutega eraldatud reaalarvu ning väljastab nende aritmeetilise keskmise.
  8. Koostage programm, mis loeb failist h:\andmed.txt sisse ü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

  1. Python https://www.python.org.
  • Institute of Mathematics and Statistics
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.