Poslao: 23 Apr 2011 14:11
|
offline
- mikyyyyyyyyy
- Novi MyCity građanin
- Pridružio: 23 Apr 2011
- Poruke: 5
|
Zadatak glasi:
Napraviti program koji stampa sve brojeve izmedju 10 i 150 koji sadrze broj 3 i koji su deljivi brojem 3.
Dobro ce doci svaka pomoc:D Hwala unapred!
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 23 Apr 2011 14:17
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
Dokle si ti stigao sa programom?
|
|
|
|
|
Poslao: 23 Apr 2011 14:46
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12520
- Gde živiš: Južni pol
|
Napisano: 23 Apr 2011 14:43
Da bi testirao brojeve od 10 do 150, potrebno je prvo da napraviš petlju koja odbrojava sve brojeve u tom opsegu. Da bi proverio da li i koji su brojevi deljivi sa 3, morao bi da proveriš modulo za svaki broj i zatim, koristeći naredbe toka, ako je ostatak nula, ispišeš broj.
Pseudo kod za ovo bi mogao da izgleda ovako:
dok je broj između 10 i 150
ako je broj modulo 3 jednak nuli
ispisi broj
Dopuna: 23 Apr 2011 14:46
Naravno, postoji više načina da se ovo reši. Ako koristiš predloženu petlju, morao bi da inicijalizuješ broj, a zatim povećavaš za jedan u svakom koraku provere. Ali to sam izostavio, da bi te naterao da razmišljaš.
|
|
|
|
Poslao: 23 Apr 2011 15:33
|
offline
- mikyyyyyyyyy
- Novi MyCity građanin
- Pridružio: 23 Apr 2011
- Poruke: 5
|
Napisano: 23 Apr 2011 14:56
Hwala ti...Ae pokusacu, da vidim sta mogu.
Dopuna: 23 Apr 2011 15:33
program ds3;
var
broj1,broj2,broj3:integer;
begin
broj1:=10;
for broj1:=10 to 29 do
begin
if (broj1 mod 10=3) and (broj1 mod 3=0) then
writeln (broj1);
end;
broj2:=30;
for broj2:=30 to 39 do
begin
if (broj2 mod 3=0) then
writeln (broj2);
end;
broj3:=40;
for broj3:=40 to 150 do
begin
if (broj3 mod 10=3) and (broj3 mod 3=0) then
writeln (broj3);
readln;
end.
Evo ga napokon..daje tacan rezultat, radi dobro..mada mislim da moze malo da se skrati..
sta mislite?
|
|
|
|
Poslao: 23 Apr 2011 16:02
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12520
- Gde živiš: Južni pol
|
Dobro razmišljanje. Vidiš prevideo sam da broj mora da sadrži 3. Poželjno je da to sve bude u jednoj petlji.
|
|
|
|
Poslao: 23 Apr 2011 16:03
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
Čini mi se da bi procedurom Val mogao da konvertuješ trenutni broj u string, a sa Pos proveris da li je '3' u tom stringu (jedna petlja i IF sa dva uslova).
|
|
|
|
Poslao: 23 Apr 2011 16:05
|
offline
- mikyyyyyyyyy
- Novi MyCity građanin
- Pridružio: 23 Apr 2011
- Poruke: 5
|
broj1:=10;
for broj1:=10 to 150 do
if ((broj1 mod 10=3) and (broj1 mod 3=0)) and ((i<=29) or (i>=40)) then
writeln (broj1);
broj2:=30;
for broj2:=30 to 39 do
if (broj2 mod 3=0) then
writeln (broj2);
readln;
end.
Sad je mnogo kraci, a daje isti rez:D
Hwala vam na pomoci:D
|
|
|
|
Poslao: 23 Apr 2011 22:51
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
program brojevi
var
i: integer;
stotice, desetice, jedinice: integer;
begin
for i := 10 to 150 do
begin
if (i mod 3 = 0) then // da li je broj deljiv sa 3
begin
stotice := i div 100;
desetice := (i - (stotice*100)) div 10;
jedinice := ((i - ((stotice*100)) - (desetice*10)));
if (stotice = 3) or (desetice = 3) or (jedinice = 3) then // da li je broj 3 na bilo kojoj od pozicija (mada uslov za stotice moze da se izbaci jer ta cifra moze biti samo 0 ili 1)
writeln(i);
end;
end;
end.
Mozda ima malo vise zagrada nego sto je potrebno, ali nisam bio siguran sa kojom verzijom Pascala radis i koliko ta verzija postuje redosled matematickih operacija.
Tvoja varijanta programa mozda daje tacne rezultate, ali posebno obradjuje jedan opseg brojeva, sto ja ne bih priznao kao tacno resenje da sam na mestu tvog nastavnika/profesora.
Pride toga, sta tvoj program radi sa opsegom brojeva od 130 do 139?
|
|
|
|
|