Programski zadatak sa državne mature

poruka: 4
|
čitano: 2.186
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Programski zadatak sa državne mature

Išao sam u trogodišnju strukovnu školu i nisam imao informatiku, sad sam upisao večernju i izrazio želju da upišem studij poslije mature.

 

n := 290;

m := 300;

za i := n do m činiti

  {

t := i;

k := t mod 10;

dok je t >= 10 činiti

  t := t div 10;

ako je t + k = 9 onda

  izlaz (i);

 

}

 

Odgovor je navodno 297, no nije mi jasno kako? 

 

-n do m je 10

 

t=i=10

k= t mod 10=10 mod 10 što je 0

dok je t>=10 činiti

t=t div 10 što je=1 pošto je t vrijednosti 10

ako je t+k = 9 onda

izlaz

 

 

Može malo pomoći?

skokovic
 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programski zadatak sa državne mature

Jesi li prekodirao presudokod u neki programski jezik?

 

Primjeti da u petlji "i" ide od "n" do "m", dakle od 290 do 300, a ne od 10 kako si napisao (citiram t=i=10).

 

 

17 godina
offline
Programski zadatak sa državne mature

Sokole, ovaj izraz u tvom pseudo kodu

za i := n do m činiti

{

}

znači da imaš posla sa for petljom. Primjeti vitičaste zagrade, to znači da cijeli taj blok koda petlja izvodi za svaki broj i u rasponu od n do m.

U ovom slučaju od 290 do 300.

 

Primjeti i ovaj izraz u pseudo kodu

dok je t>=10 činiti

t := t div 10

To znači da imaš posla sa while petljom koja se izvodi dok je god t veći ili jednak 10.

A pošto ova petlja ispod sebe nema vitičaste zagrade, dakle ne izvodi blok koda, nego samo ovu liniju koda ispod sebe t := t div 10

 

Dato rješenje 297 ti je točno, a ovdje u c++ kodu ti je objašnjenje.

#include <iostream>
using namespace std;


int main ()
{
    int n=290,m=300,t,k,i;
    for(i=n; i<=m; i++) // kroz petlju ispituješ sve brojeve od 290 do 300
    {
       t=i;
       k=t%10;
       while(t>=10) // dok god je t>=10, t dijeliš sa 10 i pridružuješ tu vrijednost varijabli t
          t = t/10;
       if(t+k==9)
          cout<< i << endl; // ispisuješ iteraciju varijable i, odnosno brojača petlje ako je t+k=9
    }
    return 0;
}  
 

 

 

Da savladaš te gapove iz strukovne, preporučam ti ovu knjigu

http://www.skolskaknjiga.hr/hrv/page.asp?item=021154&act=add2basket

Nije preopširno da ne možeš proći gradivo do mature, a praktično jest, a dodatno sam pogledaj pseudo kod i dijagram toka jer to knjiga ne pokriva, a može ti biti na maturalnom.

 

 

 

 

 

 

 

 

 

 

Poruka je uređivana zadnji put pet 5.4.2013 13:36 (Floki).
 
3 0 hvala 1
12 godina
neaktivan
offline
Programski zadatak sa državne mature

Hvala, puno si pomogao :)

skokovic
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice