Python vježbe 2 grananja i petlje

1.) Korisnik unosi koordinate (x,y) a algoritam treba odrediti u kojem se kvadrantu nalaze zadane koordinate.

x=int(input("Unesite koordinatu x: "))
y=int(input("Unesite koordinatu y: "))

if x==0 and y==0:
    print("Zadana koordinata je 0,0")
elif x>0 and y>0:
    print("Koordinata (",x,",",y,") se nalazi u prvom kvadrantu")
elif x<0 and y>0:
    print("Koordinata (",x,",",y,") se nalazi u drugom kvadrantu")
elif x<0 and y<0:
    print("Koordinata (",x,",",y,") se nalazi u trećem kvadrantu")
elif x>0 and y<0:
    print("Koordinata (",x,",",y,") se nalazi u četvrtom kvadrantu")

 

2.) Napišite program koji računa površinu trokuta pomoću Heronove formule. Korisnik unosi stranice (a, b, c). Algoritam treba smjestiti unutar beskonačne while petlje. Petlja se prekida kada korisnik na pitanje (Želite ponovo računati površinu trokuta (d/n)?) unese slovo n.
P=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2

import math
print("Heronova formula")

a=int(input("Unesite stranicu a: "))
b=int(input("Unesite stranicu b: "))
c=int(input("Unesite stranicu c: "))

s=(a+b+c)/2
p=math.sqrt(s*(s-a)*(s-b)*(s-c))

print ("Površina trokuta iznosi:",round(p,4))

 

3.) Napravite algoritam za računanje kvadrata binoma (ax+by) ^2. Korisnik unosi koeficijente a i b a program ispisuje rezultat u obliku:
ax^2 + bxy +by^2

print("Kvadrat binoma (ax + by)^2")

a=int(input("Unesite a: "))
b=int(input("Unesite b: "))

k1=a**2
k2=2*a*b
k3=b**2

#sep='' se koristi za uklanjanje razmaka
#pokušajte pokrenuti program bez sep=''
print(k1,"x^2 + (",k2,"xy) + ",k3,"y^2", sep='')

 

4.) Pomoću for petlje napravite algoritam koji računa prvih n potencija broja 2 (2^1, 2^2, 2^3, … 2^n ). Korisnik unosi n s tipkovnice.

print("Potencije broja 2")

n=int(input("Unesite n: "))

# pokušajte otkrit zašto piše i in range(1,n+1)
for i in range(1,n+1):
    pot=2**i
    print ("2 ^",i,"iznosi:",pot)

 

5.) Napravite program koji od n unesenih brojeva ispisuje najveći i najmanji neparan broj. Korisnik s tipkovnice unosi n a zatim željene brojeve. U slučaju da korisnik ne unese niti jedan neparan broj, program ispisuje poruku (Među unesenim brojevima nema neparnih).

print("Najmanji i najveći neparan broj")

n=int(input("Koliko brojeva želite unjeti: "))

provjera=0
min=0
max=0

for i in range(0,n):
    # obratite pažnju na %(i+1) i kako se koristi
    broj=int(input("Unesite %i. broj: "%(i+1)))
    if provjera==0 and broj%2!=0:
        min=max=broj
        provjera=1
    elif broj%2!=0 and min>broj:
        min=broj
    elif broj%2!=0 and max<broj:
        max=broj

if provjera==0:
    print("Niste unjeli niti jedan neparan broj!")
elif min==max:
    print("Najmanji i najveći neparan broj su jednaki:",min)
else:
    print("Najmanji neparan broj je:",min)
    print("Najveći neparan broj je:",max)

 

6.) Napišite program koji računa prosječnu visinu učenika u razredu. Korisnik unosi željeni broj učenika n te visine učenika v. Nakon unosa svih potrebnih podataka, program ispisuje sljedeće podatke (prosječna visina, najniži učenik, najviši učenik).

print("Prosječna visina učenika")

n=int(input("Unesite broj učenika: "))

min=0
max=0
zbroj=0

for i in range(0,n):
    v=int(input("Unesite visinu %i. učenika: " %(i+1)))
    zbroj=zbroj+v
    if i==0:
        min=max=v
    elif min>v:
        min=v
    elif max<v:
        max=v

print("Najniži učenik:",min)
print("Najviši učenik:",max)

prosjek=zbroj/n

print("Prosječna visina učenika:",round(prosjek,2))

 

7.) Napišite program koji radi statističku analizu rezultata ispita. Korisnik unosi željeni broj ocjena a nakon unosa, program će izračunati i ispisati podatke prikazane u primjeru ispod:

  • Nedovoljan: 25%
  • Dovoljan: 40%
  • Dobar:  25%
  • Vrlo dobar: 7%
  • Odličan: 3%
  • Prosječna ocjena iznosi:  rezultat
print("Statistička analiza rezultata ispita")

n=int(input("Unesite željeni broj ocjena: "))

o1=0
o2=0
o3=0
o4=0
o5=0
ukupno=0

for i in range(0,n):
    o=int(input("Unesite %i. ocjenu: " %(i+1)))
    ukupno=ukupno+o
    if o==1:
        o1=o1+1
    elif o==2:
        o2=o2+1
    elif o==3:
        o3=o3+1
    elif o==4:
        o4=o4+1
    elif o==5:
        o5=o5+1

print("")
postotak=(o1/n)*100
print(round(postotak,2),"% Nedovoljan")

postotak=(o2/n)*100
print(round(postotak,2),"% Dovoljan")

postotak=(o3/n)*100
print(round(postotak,2),"% Dobar")

postotak=(o4/n)*100
print(round(postotak,2),"% Vrlo dobar")

postotak=(o5/n)*100
print(round(postotak,2),"% Odličan")

prosjek=ukupno/n
print("Prosječna ocjena iznosi:",round(prosjek,2))

 

8.) Napišite algoritam koji računa kvadratnu jednadžbu (ax^2+bx+c=0). Korisnik unosi koeficijente a, b i c a program ispisuje rezultate x1 i x2. Neka se cijeli algoritam izvršava unutar beskonačne while petlje.

Formula:

  • D=b^2-4*a*c
  • x1=(-b+sqrt(D))/(2*a)
  • x2=(-b-sqrt(D))/(2*a)
  • Ako je D>0 ispisati rezultate x1 i x2
  • Ako je D=0 ispisati (x1 i x2 imaju zajedničko rješenje)
  • Ako je d<0 ispisati (Ne postoje realna rješenja)
import math

print("Algoritam za rješavanje kvadratne jednadžbe ax^2 + bx + c = 0")

x1=0
x2=0

# petlja za beskonačno izvođenje programa
while True:
    # unos podataka
    a=float(input("Unesite a: "))
    b=float(input("Unesite b: "))
    c=float(input("Unesite c: "))
    
    # računanje diskriminante
    d=b**2-4*a*c

    # provjera uvjeta
    if d<0:
        # ovdje koristimo round() funkciju za određivanje broja decimalnih mjesta
        print("Jednadžba nema realnih rješenja pošto je D < 0:",round(d,4))
    elif d==0:
        x1=(-b)/(2*a)
        print("Jednadžba ima jedno dvostruko rješenje pošto je D = 0:",round(x1,4))
    elif d>0:
        x1=(-b+math.sqrt(d))/(2*a)
        x2=(-b-math.sqrt(d))/(2*a)
        print("Jednadžba ima dva rješenja pošto je D > 0:",round(d,4))
        print("Rješenje x1:",round(x1,4))
        print("Rješenje x2:",round(x2,4))

    # ovdje unosimo znak (char) stoga ne koristimo int(input(""))
    nastavak=input("Želite nastaviti (d/n)? ")

    # uvjet za prekid izvođenja programa
    if nastavak=='n':
        break

Odgovori

Vaša adresa e-pošte neće biti objavljena. Nužna polja su označena s *

Možete koristiti ove HTML oznake i atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>