Analiza zadatka

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: III. Gimnazija Osijek - Informatika 2
Knjiga: Analiza zadatka
Otisnuo/la: Gost (anonimni korisnik)
Datum: ponedjeljak, 28. listopada 2024., 16:15

Zadatak

Želimo ograditi voćnjak pravokutnog oblika​, širine m i dužine n metara.

  • Ako znamo širinu i dužinu voćnjaka koliko žice nam treba?​
  • Želimo li postaviti stup na svakih x metara, koliko stupova trebamo?​
  • Ako znamo cijenu metra žice i jednog stupa koliko će koštati ograđivanje voćnjaka​?

Problem smo već raščlanili na tri jednostavnija problema.

1. Koliko metara žice nam treba?

2. Koliko stupova nam treba?

3. Koliko nam novca za to sve treba?

Napravite analizu i algoritam u pseudojeziku za navedeni zadatak.


1. Koliko metara žice nam treba?

Voćnjak je pravokutnog oblika, širine m i dužine n metara:

Da bismo vidjeli koliko nam žice treba moramo izračunati opseg voćnjaka prema formuli za računanje opsega pravokutnika:

kolicina_zice = 2 * (m + n)

Pseudokod za ovaj dio programa bio bi:

      ulaz (m, n)

      kolicina_zice = 2 * (m + n)

      izlaz (kolicina_zice)

Testirajmo: ako je širina voćnjaka 6 metara, a dužina 10 metara, treba nam 32 metra žice.


2. Koliko stupova nam treba?

Na svakih x metara stavljamo po jedan stup. Dakle, trebamo podijeliti potrebnu kolicinu zice sa brojem x.

Pseudokod za ovaj dio programa bio bi:

     ulaz (x)

     broj_stupova = kolicina_zice / x

     izlaz (broj_stupova)

Testirajmo: Ako na svakih 2 metra stavimo stup treba nam 32 / 2 = 16 stupova


3. Koliko nam novca za to sve treba?

Da bismo riješili ovaj problem treba nam cijena 1 dužnog metra žice i cijena 1 stupa. Ukupnu cijenu možemo izračunati prema formi:

ukupna_cijena = kolicina_zice * cijena_zice + broj_stupova*cijena_stupa

Pseudokod za ovaj dio programa bio bi:

    ulaz (cijena_zice, cijena_stupa)

    ukupna_cijena=kolicina_zice*cijena_zice+broj_stupova*cijena_stupa

    izlaz (ukupna_cijena)

Testirajmo: Ako je cijena 1 dužnog metra žice  15 kn a cijena 1 stupa = 25 kn ukupno nam treba 32 * 15 + 16 * 25 = 880kn.


Konačno rješenje

Da bismo dobili konačno rješenje sve do sada navedeno treba objediniti u jedinstveni kod. Pri tome treba paziti na uobičajeni redoslijed kod pisanja programa, a to je:

Dakle prvo treba unijeti sa tipkovnice sve potrebne vrijednosti. Nakon toga izračunamo sve potrebno i tek tada rezultate ispisemo na zaslon. Tad bi nas pseudokod izgledao ovako:

ulaz (m, n)

ulaz (x)

ulaz (cijena_zice, cijena_stupa)

kolicina_zice = 2 * (m + n)

broj_stupova = kolicina_zice / x

ukupna_cijena = kolicina_zice * cijena_zice + broj_stupova*cijena_stupa

izlaz (kolicina_zice)

izlaz (broj_stupova)

izlaz (ukupna_cijena)


Uočite da u ovom pseudokodu ne smijemo zamijeniti redoslijed naredbi: zamjenom naredbi u retku 4 sa naredbom u retku 5 naše rješenje više neće biti dobro, jer ne možemo dijeliti kolicina_zice sa x ako prije toga nismo izracunalu kolicina_zice. Dakle redoslijed naredbi je jako bitan!

Isto tako, primijetite da smo imena varijabli uvijek pisali kao jednu riječ (ako je više riječi stavili smo poveznicu između). To je zato što programski jezici zahtijevaju da imena varijabli budu jedna riječ.

U našem pseudokodu imamo tri naredbe za unos podataka i tri naredbe za ispis podataka. Sve tri naredbe za ulaz možemo objedititi i napisati ovako:

ulaz (m, n, x, cijena_zice, cijena_stupa)

A naredbe za izlaz ovako:

izlaz (kolicina_zice, broj_stupova, ukupna_cijena)


Tada bi naš pseudokod izgledao ovako:


ulaz (m, n, x, cijena_zice, cijena_stupa)

kolicina_zice = 2 * (m + n)

broj_stupova = kolicina_zice / x

ukupna_cijena = kolicina_zice * cijena_zice + broj_stupova*cijena_stupa

izlaz (kolicina_zice, broj_stupova, ukupna_cijena)