![]() |
![]() |
|
FunkcijePosoda z vodoMatevž v posodo, ki ima obliko kvadra , na dnu pa obliko kvadrata, in je do vrha napolnjena z vodo, polaga predmete različnih oblik, pri čemer ga zanima, koliko litrov vode ostane v posodi, po tem ko vanjo položi nek predmet. Volumen take posode lahko izračunamo po formuli:
1. podnalogaMatevž v posodo najprej položi kroglo z radijem Spodnja funkcija za
izračuna, koliko litrov vode ostane v posodi po tem, ko vanjo položimo kroglo s polmerom Spremenite to funkcijo v
Namig: Volumen krogle izračunamo po formuli: Uradna rešitevimport math def koliko_vode_ostalo(sirina, visina, polmer): """Na tri decimalke natančno vrne, koliko litrov vode je ostalo v posodi.""" volumen_krogle = 4/ 3 * math.pi * (polmer / 10)**3 volumen_posode = (sirina / 10) ** 2 * (visina / 10) ostanek_vode = round(volumen_posode - volumen_krogle, 3) return ostanek_vode 2. podnalogaMatevž v posodo sedaj položi stožec, katerega premer je enak širini posode, višina pa enaka globini posode. Napišite funkcijo
Namig: volumen stožca izračunamo po formuli: volumen valja pa po formuli: kjer Uradna rešitevimport math def koliko_ostalo_stozec(širina, višina, n): """Na n decimalk natančno vrne, koliko litrov vode je ostalo v posodi.""" volumen_stozca = (1 / 3) * math.pi * ((širina / 10) / 2)**2 * (višina / 10) volumen_posode = (širina / 10)**2 * (višina / 10) ostanek_vode = round(volumen_posode - volumen_stozca, n) return ostanek_vode Varčevanje na obrokePri varčevanju na obroke na začetku vplačamo nek znesek, nato pa vsak mesec doplačujemo mesečne obroke. Zaradi enostavnosti predpostavimo, da so vplačila vedno prvi dan v mesecu, vrednost varčevalnega računa pa se vedno računa ob koncu meseca. Denar, ki ga imamo na varčevalnem računu, se obrestuje po fiksni obrestni meri. 1. podnalogaV bančništvu pogosto navajamo letno obrestno mero, obrestujemo pa mesečno. Zato je pred računanjem potrebno obrestno mero primerno spremeniti. Napišite funkcijo
Uradna rešitevdef mesecna_obrestna_mera(r): """Vrne mesečno obrestno mero v decimalni obliki.""" return r / 12 / 100 2. podnalogaPri enostavnem obrestovanju s fiksno letno obrestno mero Sestavite funkcijo Primeri:
Uradna rešitevdef enostavno_obrestovanje(polog, letna_obrestna_mera, st_mesecev): """Vrednost obrestovanega denarja pri enostavnem obrestovanju.""" return polog * (1 + mesecna_obrestna_mera(letna_obrestna_mera) * st_mesecev) 3. podnalogaPri obrestno obrestnem računu s fiksno letno obrestno mero Sestavite funkcijo Primeri:
Uradna rešitevdef obrestno_obrestovanje(polog, letna_obrestna_mera, st_mesecev): """Vrednost obrestovanega denarja pri obrestno obrestnem obrestovanju.""" return polog * (1 + mesecna_obrestna_mera(letna_obrestna_mera))**st_mesecev AlarmTomaž je začel trenirati košarko. Sestavite funkciji, ki mu bosta pomagali, da ne bo nikoli zamudil svojih treningov. 1. podnalogaUra je 13. Čez natanko 7 ur se začne trening.
Sestavite funkcijo Na primer:
Namig: Ne pozabite, dan nas ne zanima. Uradna rešitevdef alarm(ura_sedaj, koliko_h): """Funkcija pove, ob kateri uri se moram odpraviti na trening.""" return (ura_sedaj + koliko_h - 1) % 24 2. podnalogaSestavite funkcijo
Uradna rešitevdef alarm2(ura_sedaj, koliko_h): """Funkcija vrne urejen par števil - prvo pove čez koliko dni se moram odpraviti na trening, drugo pa ob kateri uri tega dneva se moram odpraviti.""" return (ura_sedaj + koliko_h - 1) // 24, (ura_sedaj + koliko_h - 1) % 24 Mirko in SlavkoMirko in Slavko sta partizanska kurirja iz jugoslovanskega stripa Mirko in Slavko. Po stripu so posneli tudi film. 1. podnalogaPrevara s čekom Kurirji so iznajdljivi, sploh pa Mirko in Slavko. V roke sta dobila ček, kjer banka prinositelju izplača vrednost na njem napisanega tromestnega zneska. Vendar Mirko ne bi bil Mirko, če ne bi kaj hitro ugotovil, da lahko s spretnostjo in ostrim nožičem ček neopazno spremeni tako, da premeša števke na znesku. A kaj, ko je Mirko bolj slab v matematiki, rad pa bi ček popravil tako, da bo dobil kar se da veliko. Potoži se Slavku, ta pa odvrne: "Ah, to pa ja ni problem. Poglej spodnjo funkcijo. Malo jo spremeni, pa boš dobil največje možno število."
Premislite, kaj funkcija počne, in na osnovi ideje v njej namesto Mirka
sestavite funkcijo
Uradna rešitevdef naj_tromestno(n): """Iz števk danega tromestnega števila sestavi največje možno število.""" enice = n % 10 desetice = n//10 % 10 stotice = n // 100 najmanjse = min(enice, desetice, stotice) najvecje = max(enice, desetice, stotice) srednje = enice + desetice + stotice - najmanjse - najvecje # srednje po velikosti return najvecje * 100 + srednje * 10 + najmanjse 2. podnalogaMirko in Slavko ob pomoči Dimnjačare pečeta palačinke Mirko in Slavko sta v uspešni akciji zaplenila velike količine moke in jajc, zato bosta za celo vas Glavuša na Kozari napekla palačinke. Ampak kaj, ko ne vesta koliko! Dimnjačara jima je zato napisal funkcijo, vendar mu je, tik preden je odšel, izpod listov trpotca, ki jih je imel na čelu namesto obveze, padlo par kapelj krvi in sedaj funkcija izgleda tako:
Na srečo pa so ostali trije Dimnjačarini zapiski, ki prikazujejo delovanje funkcije. Pomagajte Mirku in Slavku in dopolnite funkcijo, da se bo obnašala kot prej, če so zapiski:
Uradna rešitevdef koliko_palacink(stevilo_odraslih, stevilo_otrok): """Vrne število palačink potrebnih, da nasitijo vse povabljene.""" odrasel = 5 otrok = 2 palacinke_odrasli = stevilo_odraslih * odrasel palacinke_otroci = stevilo_otrok * otrok palacinke_skupaj = palacinke_odrasli + palacinke_otroci + 7 # še malo za rezervo return palacinke_skupaj 3. podnalogaSlavko peče torte Po velikem uspehu s peko palačink, se je Slavko spravil peči torte.
Po receptu za torto potrebujemo Slavku sestavite funkcijo
Namig: Funkcija Uradna rešitevdef koliko_tort(margarina, moka, sladkor): """Maksimalno število tort, ki jih lahko spečemo iz danih sestavin.""" recept_margarina = 0.8 # količina margarine po receptu recept_moka = 2 # količina moke za eno torto po receptu recept_sladkor = 1.5 # količina sladkorja po receptu # koliko tort glede na posamezno sestavino iz_moke = int(moka / recept_moka) iz_margarine = int(margarina / recept_margarina) iz_sladkorja = int(sladkor / recept_sladkor) torte = min(iz_moke, iz_margarine, iz_sladkorja) return torte 4. podnalogaMirko in smučarski skoki Medtem, ko Slavko peče torte, je Mirko organiziral tekmovanje v smučarskih skokih. Pri smučarskih skokih so točke skoka vsota:
Vsak od petih sodnikov lahko skakalcu dodeli največ 20 točk, ki so odvisne od položaj smuči med letom, ravnotežja med letom, položaja telesa, pristanka ipd. Točke sloga so vsota točk posamičnih sodnikov, pri čemer se najboljša in najslabša ocena ne upoštevata. Mirko ima več kot dovolj dela z iskanjem primernih sodnikov (pa še z njegovo
matematiko je bolj tako, tako...). Zato mu pomagajte in sestavite funkcijo
Namig: Poleg funkcije Uradna rešitevdef tocke_slog(oc1, oc2, oc3, oc4, oc5): """Vrne število točk, ki jih dobi skakalec za slog.""" vse_skupaj = oc1 + oc2 + oc3 + oc4 + oc5 najslabsa = min(oc1, oc2, oc3, oc4, oc5) najboljsa = max(oc1, oc2, oc3, oc4, oc5) return vse_skupaj - najslabsa - najboljsa Funkcije višjega redaTale naloga je namenjena vsem, ki imate radi matematiko, pa tudi tistim, ki radi spreminjate svet in stvari. Spodaj je primer funkcije višjega reda
1. podnalogaSestavite funkcijo
Uradna rešitevdef linearna(a, b): """Vrne funkcijo, ki sprejme število x ter vrne vrednost izraza a*x + b.""" return lambda x: a*x + b 2. podnalogaSestavite funkcijo
Uradna rešitevdef kompozitum(f, g): """Vrne funkcijo, ki sprejme število x ter vrne kompozitum funkcij f in g na številu x.""" return lambda x: f(g(x)) 3. podnalogaSestavite funkcijo
Uradna rešitevdef odvod(f, epsilon=10e-5): """Vrne funkcijo, ki sprejme število x ter vrne odvod funkcije f v točki x z okolico epsilon.""" return lambda x: (f(x + 0.5 * epsilon) - f(x - 0.5 * epsilon))/epsilonMesto objave ob koncu projekta 15.9.2018 |