Hitno potrebna pomoc oko Pascal zadatka.

1

Hitno potrebna pomoc oko Pascal zadatka.

offline
  • 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.
offline
  • dr_Bora  Male
  • Anti Malware Fighter
    Rank 2
  • Pridružio: 24 Jul 2007
  • Poruke: 12280
  • Gde živiš: Höganäs, SE

Dokle si ti stigao sa programom?



offline
  • Pridružio: 23 Apr 2011
  • Poruke: 5

Pocinjao sam al ne ide. Ne mogu da provalim. Svaki predlog je dobrodosao...Very Happy

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12339
  • 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š.

offline
  • 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?

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12339
  • 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.

offline
  • dr_Bora  Male
  • 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).

offline
  • 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

offline
  • 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?

offline
  • Pridružio: 23 Apr 2011
  • Poruke: 5

heh bravo...uvek moze bolje.
Ovo je vec pravo resenje:D

Svaka cast. Hwala ti:D

Ko je trenutno na forumu
 

Ukupno su 593 korisnika na forumu :: 24 registrovanih, 0 sakrivenih i 569 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4fat, A.R.Chafee.Jr., Boris90, Cobi026, CrazyDiablo, djboj, Dukelander, goxin, indja, Kaplar2, KUZMAR, Lieutenant, Marko Marković, MiroslavD, mrav pesadinac, stegonosa, t.mile, trajkoni018, Trpe Grozni, Vlada1389, vladetije, wizzardone, zlaya011, |_MeD_|