Pascal: školski zadaci

poruka: 546
|
čitano: 167.783
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Pascal: školski zadaci

Uspio sam napraviti cijeli program prije pomoći.

Ponosan sam na sebe.

 

Ali svejedno hvala.

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Pascal: školski zadaci

Imam još jedno pitanje.

 

Kako napisati npr. x na minus prvu u pascalu.

 

Ne želim da bude 1/x  ,ima li neki drugi način ?

Moj PC  
0 0 hvala 0
16 godina
moderator
offline
RE: Pascal: školski zadaci
patch123 kaže...

Imam još jedno pitanje.

 

Kako napisati npr. x na minus prvu u pascalu.

Mozda:

x^(-1)

15 godina
offline
Pascal: školski zadaci

Imam jedan zadatak.Treba napisati program koji upisuje niz od n brojeva pa kreira novi niz koji sadrži brojeve iz prvog niza(ako ima duplikata napiše samo jednoga).Znači niz od 1,2,2,4,4 treba ispisati 1,2,4.

Gimnazija Antuna Gustava Matoša
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
RE: Pascal: školski zadaci
emerik kaže...

Imam jedan zadatak.Treba napisati program koji upisuje niz od n brojeva pa kreira novi niz koji sadrži brojeve iz prvog niza(ako ima duplikata napiše samo jednoga).Znači niz od 1,2,2,4,4 treba ispisati 1,2,4.

Pa disi zapeo, ne očekuješ valjda da to netko umjesto tebe uradi?

16 godina
online
RE: Pascal: školski zadaci
mbaksa kaže...
patch123 kaže...

Imam još jedno pitanje.

 

Kako napisati npr. x na minus prvu u pascalu.

Mozda:

x^(-1)

1/X

 

 

Always code as if the one ending up maintaining your code is a violent psychopath who knows where you live.
16 godina
moderator
offline
RE: Pascal: školski zadaci
Elles D. kaže...
mbaksa kaže...
patch123 kaže...

Imam još jedno pitanje.

 

Kako napisati npr. x na minus prvu u pascalu.

Mozda:

x^(-1)

1/X

{#}  Inace, 1/X je i sam dokucio, pa je trazio alternativno rjesenje:

 

patch123 kaže...

Ne želim da bude 1/x   ,ima li neki drugi način ?

 

 

 

 

emerik kaže...

Imam jedan zadatak.Treba napisati program koji upisuje niz od n brojeva pa kreira novi niz koji sadrži brojeve iz prvog niza(ako ima duplikata napiše samo jednoga).Znači niz od 1,2,2,4,4 treba ispisati 1,2,4.

Znaci, imas dva polja, u prvo se upisuju brojevi jedan po jedan, a prije nego broj upises u drugo, prodjes kroz drugo polje (od pocetka do kraja - a kraj je zadnje upisani broj u drugo polje) i pogledas ima li vec tog broja u polju. Ako nema, zapisujes broj u drugo polje, ako ima ne radis nista (odnosno "breakas" petlju za prolazak kroz drugo polje). I sve sam ti rekao. Probaj malo sam dokuciti takve stvari - ovo nisu teske stvari.

{#}

Poruka je uređivana zadnji put pon 24.1.2011 17:04 (mbaksa).
15 godina
offline
RE: Pascal: školski zadaci

Joj da,uopće sam zaboravio na naredbu brake,kad napišem stavim gore.

Gimnazija Antuna Gustava Matoša
16 godina
online
RE: Pascal: školski zadaci
mbaksa kaže...

{#}  Inace, 1/X je i sam dokucio, pa je trazio alternativno rjesenje:

 

Eh, da je bilo pogledati post iznad :)

 

pow(x, -1)

Always code as if the one ending up maintaining your code is a violent psychopath who knows where you live.
16 godina
moderator
offline
RE: Pascal: školski zadaci
Elles D. kaže...
mbaksa kaže...

{#}  Inace, 1/X je i sam dokucio, pa je trazio alternativno rjesenje:

 

Eh, da je bilo pogledati post iznad :)

 

pow(x, -1)

U kojem je to Pascalu i u kojoj jedinici se nalazi ta funkcija?

 

 

Edit: U Free Pascalu postoji funkcija power, koja se nalazi u biblioteci math. Vidim da u njemu ne funkcionira operator ^ - sad se vise ne sjecam kako je bilo u Turbo Pascalu - nekako mi je ostalo u sjecanju da sam u TP-u upotrebljavao upravo ovaj operator. Mozda sam doduse to pokupio odnekud drugdje. Taj operator ne funkcionira ni u Delphiju. Nemam trenutno instaliran Turbo Pasca, a ne znam u cemu ekipa radi.

 

Poruka je uređivana zadnji put pon 24.1.2011 17:42 (mbaksa).
13 godina
neaktivan
offline
RE: Pascal: školski zadaci

Operator ^ se koristi za stepenovanje u Basic-u.

13 godina
neaktivan
offline
RE: Pascal: školski zadaci
emerik kaže...

Imam jedan zadatak.Treba napisati program koji upisuje niz od n brojeva pa kreira novi niz koji sadrži brojeve iz prvog niza(ako ima duplikata napiše samo jednoga).Znači niz od 1,2,2,4,4 treba ispisati 1,2,4.

Evo resenja. Radi 100% u Borland Pascalu

 

Program zad1;
{uses wincrt;}
 var niz1,niz2:array[1..100] of integer;
  i,j,br,n:integer;nadjen:boolean;
   begin
    readln(n);
     for i:=1 to n do
      read(niz1[i]);
      br:=0;
      for i:=1 to n do
       begin
         nadjen:=false;
          j:=1;
          while not nadjen and (j<=br) do
           begin
            if niz1[i]=niz2[j] then nadjen:=true;
            j:=j+1;
           end;
          if not nadjen then
              begin
               br:=br+1;
               niz2[br]:=niz1[i];
              end;
         end;
     writeln('Novi niz:');
     for i:=1 to br do
      writeln(niz2[i]);
   end.

16 godina
moderator
offline
RE: Pascal: školski zadaci

Da se kompajlirati i pokrenuti, a sad... Daj ti nekome taj program (izvrshnu datoteku) pa nek ga koristi! Nece znati sto mora upisati! Dakle, prije nego trazis upis neke vrijednosti, UVIJEK napises sto od korisnika programa trazis!

 

Ne znam je li ti editor zeznuo indentaciju (razmake s lijeve strane) - ako nije, onda si kod pogresno indentirao - ispada ko da se druga for-petlja vrti unutar prve, sto nije slucaj. Ako ti je zeznuo indentaciju, onda ignoriraj ovaj komentar. Medjutim, obrati paznju i na razmake medju redovima - iza

 

for i:=1 to n do
  read(niz1[i]);

 

trebao si staviti red razmaka (zapravo i ispred) - da se jasno vidi da se u toj petlji vrti samo jedna naredba i da petlju vizualno odvojis od programa. Osobno bih sve to napisao u jednoj liniji i stavio razmak prije i poslije linije.

 

Ovo:

while not nadjen and (j<=br) do
begin
    if niz1[i]=niz2[j] then nadjen:=true;
    j:=j+1;
end;

je zgodan nacin za prekidanje petlje, umjesto koristenja for-petlje i break (iako bih se odlucio za ovo drugo - nekako mi je, kad znam do kojeg broja ce se petlja vrtjeti, prirodnije koristiti naredbu for, dok while mi je prirodnije koristiti kad ne znam koliko ima elemenata ili cega vec, odnosno ne znam koliko /maksimalno/ iteracija ima).

 

Samo bih spomenuo to da Pascal ima funkciju za iteriranje - Inc. Znaci, j:=j+1  moze se zamijeniti naredbom  Inc(j). Iako, bas sam sad probao na primjeru Free Pascal Compilera - nema razlike (barem u slucaju tog kompajlera) u izvrshnom kodu - dakle, FPC sam naredbu j:=j+1  optimizira u Inc(j) - dakle, nesto sto se u C/C++-like jezicima pise j++.

16 godina
moderator
offline
RE: Pascal: školski zadaci
flin kaže...

Operator ^ se koristi za stepenovanje u Basic-u.

Onda mi je to valjda iz QBasica ostalo. Operator ^ se u Pascalu koristi za dohvat vrijednosti pokazivaca.

15 godina
neaktivan
offline
Pascal: školski zadaci

Može li mi netko reći je li dobar ovaj program i što bi trebalo popraviti?

Znači treba provjeriti je li polumjer >0 i onda korisnik treba izabrati želi li izračunati volumen ili oplošje kugle.

 

program zadatak3;

Uses Crt;

var polumjer,volumen,oplosje:real;

    izbor:integer;

begin

ClrScr;

TextColor(13);

                Write('Unesite polumjer kugle r  ');

                ReadLn(polumjer);

                If polumjer>0 then begin

                volumen:=4/3*sqr(polumjer)*polumjer*pi;

                oplosje:=4*sqr(polumjer)*pi;

TextColor(Yellow);

                WriteLn('Želite li izračunati volumen ili oplošje kugle?');

TextColor(Green);

                WriteLn('-Pretisnite broj 1 za volumen');

                Writeln('-Pretisnite broj 2 za oplošje');

                ReadLn(izbor);

Case izbor of

1:begin

TextColor(6);

WriteLn('Volumen kugle polumjera ',polumjer:2:2,' jest ',volumen:2:2);

end;

2:begin

TextColor(9);

WriteLn('Oplošje kugle polumjera ',polumjer:2:2,' jest ',oplosje:2:2);

end;

else begin

TextColor(Red);

                WriteLn('Pogrješka!');

end;

end;

end

else

                WriteLn('Polumjer mora biti veći od nule!');

        ReadLn;

end.

NVIDIA: The Way It's Meant to Be Played :P
Poruka je uređivana zadnji put uto 25.1.2011 22:48 (gta_4).
Moj PC  
0 0 hvala 0
16 godina
moderator
offline
RE: Pascal: školski zadaci

Na prvi pogled izgleda OK, ako ignoriramo indentaciju (uvucenost redova, tj. razmak s lijeve strane), koja je pogresna (ako si je ti pisao - dakle, ako ti ju forumski editor teksta nije zeznuo).

 

Jedino se postavlja pitanje treba li program izracunavati i oplosje ako se trazi samo volumen, odnosno treba li izracunavati i volumen kad se trazi samo oplosje. Dakle, to racunanje bi mogao premjestiti taman prije ispisa volumena/oplosja.

 

Doduse, bilo bi dobro da promijenis "Pretisnite" u "Upišite", s obzirom da nije dovoljno pritisnuti brojku da bi program nastavio s radom, nego treba pritisnuti i tipku Enter. I, naravno, postavlja se pitanje zasto bi program ispisao poruku o greški te zavrsio s radom ako je korisnik slučajno upisao krivi broj - tu si mogao staviti neka ti 1 i 2 budu za računanje volumena, odnosno oplošja, a recimo 0 za izlaz iz programa, pa sve to vrtjeti u petlji dok korisnik ne upiše 0. Recimo korisnik možda nakon što je izračunao oplošje želi izračunati i volumen - a u tvom programu to ne može učiniti.

 

Ali kažem - program izgleda OK, ove napomene su tu da znaš kako bi program trebao izgledati, a da mu se nema što previše za prigovoriti.

 

 

Edit:  A to izbacuje li ti program dobre vrijednosti ili ne - to bi sam trebao provjeriti i ti bi nama trebao reći računa li ispravno ili ne. To možeš (i moraš!) provjeriti upisivanjem nekoliko vrijednosti i onda to usporediš s rezultatima koje si dobio recimo računajući na papiru ili uz pomoć kalkulatora.

 

Poruka je uređivana zadnji put uto 25.1.2011 23:41 (mbaksa).
16 godina
moderator
offline
Pascal: školski zadaci

Usput rečeno, za one koji muku muče s oblikovanjem izvornog koda (indentacijom, razmacima i sl.), postoji programčić koji će to napraviti za vas: http://content.alterra.wur.nl/webdocs/internet/aew/downloads/DelFor.zip

 

Pa bi bilo dobro tu i tamo proći ovim programom po svojoj .pas datoteci i usporediti kako ste vi oblikovali izvorni kod, a kako ga je oblikovao taj program.

 

 

Takodjer, ovdje je dobar clanak koji opisuje kako imenovati varijable, funkcije i dr.: http://edn.embarcadero.com/article/10280

 

 

Poruka je uređivana zadnji put uto 25.1.2011 23:51 (mbaksa).
 
1 0 hvala 2
15 godina
neaktivan
offline
Pascal: školski zadaci

Trebam napraviti ovakav program:

Napišite program kojim će se učitati dva realna broja i izračunati njihova suma.

Za oznaku kraja uzeti nulu.

 

Treba koristiti while petlju.

NVIDIA: The Way It's Meant to Be Played :P
Poruka je uređivana zadnji put sub 29.1.2011 22:16 (gta_4).
Moj PC  
0 0 hvala 0
15 godina
offline
RE: Pascal: školski zadaci

Ne razumijem zašto bi uopće koristio while petlju.Što znači ovo za oznaku kraja uzeti nulu.

Gimnazija Antuna Gustava Matoša
Poruka je uređivana zadnji put sub 29.1.2011 20:59 (emerik).
16 godina
moderator
offline
RE: Pascal: školski zadaci

Pretpostavljam da se to misli da vrtiš petlju u kojoj se traži unos dva broja sve dok prvi (ili bilokoji) nije jednak nuli - tada se prekida petlja i izlazi iz programa. Nije mi baš jasno zbog čega postavljavljaju takve nejasno sročene zadatke.

15 godina
neaktivan
offline
RE: Pascal: školski zadaci
mbaksa kaže...

Pretpostavljam da se to misli da vrtiš petlju u kojoj se traži unos dva broja sve dok prvi (ili bilokoji) nije jednak nuli - tada se prekida petlja i izlazi iz programa. Nije mi baš jasno zbog čega postavljavljaju takve nejasno sročene zadatke.

Možeš li napisati takav program?

NVIDIA: The Way It's Meant to Be Played :P
15 godina
offline
RE: Pascal problem

Evo ti.

program prvi;var  x,s:real;beginwriteln('Upisivaj brojeve');readln(x);s:=x;while x <> 0 do   begin   readln(x);   s:=s+x;   end;writeln('Suma je ',s:6:2);readln;end.

Gimnazija Antuna Gustava Matoša
14 godina
neaktivan
offline
Pascal: školski zadaci

Evo ti u C-u:

 

#include <stdio.h>

#include <conio.h>

 

int main()

{ int x, suma=0;

   do

         {

              printf("\n Unesi broj");

              scanf("%d",&x);

             suma+=x;

         }while(x!=0);

printf("\n Suma je %d",suma);

getch();

return 0;

}

Nista nije sveto sve je bruto i neto, sve je zabava!
Poruka je uređivana zadnji put sub 29.1.2011 23:12 (Shody_1994).
Moj PC  
0 0 hvala 1
14 godina
neaktivan
offline
RE: Pascal: školski zadaci
Shody_1994 kaže...

Evo ti u C-u:

 

#include <stdio.h>

#include <conio.h>

 

int main()

{ int x, suma=0;

   do

         {

              printf("\n Unesi broj");

              scanf("%d",&x);

             suma+=x;

         }while(x!=0);

printf("\n Suma je %d",suma);

getch();

return 0;

}

Ovo je samo za Pascal. Za C i C++ je druga tema...

In vino veritas, in rakia pizdaria__(Ako svijetli zeleno, ne znači da sam tu)--- http://valid.canardpc.com/show_oc.php?id=1380237
16 godina
moderator
offline
RE: Pascal: školski zadaci
Plahi kaže...
Shody_1994 kaže...

Evo ti u C-u:

 

...

Ovo je samo za Pascal. Za C i C++ je druga tema...

Tak je. Sad ću mu dati crveni karton! {#}Šalu na stranu - da, tema je samo za Pacal, ali povremeno može zgodno ovo biti za vidjeti razlike i sličnosti između različitih programskih jezika. Na kraju krajeva, valjda više od 99% ovih koji sad uče Pascal kasnije više neće raditi u Pascalu, nego će ih većina raditi u nekom programskom jeziku sličnom C/C++-u (ili baš u C-u ili C++-u).

13 godina
neaktivan
offline
Pascal: školski zadaci

Pozdrav!!

 

Imam jedno pitanje, tj. više je molba!!

 

Dal postoji ovdje dobra duša, koja bi pomogla studentici izgubljenoj u pascalu???

 

Imam jedan ispit di se traži izrada programa preko pascala, ujedno i uz to odgovarajući dijagram toka, ili obrnuto!!

Problem je u tome, što sam se s tim prvi puta susrela na faksu, a nismo imali odgovarajuća predavanja vezana uz problem!!

Pa se mučim već dosta dugo s tim!!

 

E sad, tu se radi oko 10-tak zadataka!!! Pa ima li mi netko volju za pomoći!!! Šaljem sve potrebne materijale na PP!!

 

NAPOMENA: Zadnji mi je ispit!!!!!!!!!!

 

Hvala!!!!{#}

Uvijek će se dogoditi ono najgore od čega strahuješ!!
 
0 0 hvala 0
16 godina
moderator
offline
RE: Pascal: školski zadaci

Mozda da i sama probaš nešto napraviti? Da na forum nabaciš zadatke koji te muče, da napišeš što si riješila pa da ti pomognemo ispraviti i dopuniti programe? Realno gledajući nema smisla da ni netko iz dosade ide rješavat sve te zadatke.

13 godina
neaktivan
offline
Re: Pascal: školski zadaci

Posalji zadatke na ovaj mail  i ja cu ti uraditi za dan, dva. Pozdrav

15 godina
protjeran
offline
Pascal: školski zadaci

Evo malo vježbam iz razonode u Pascalu, pa me zanima u čemu sam pogriješio.

 

 

program najvecibroj;

var a, b, c :integer;

begin

write('Upiši prvi broj: ');

readln(a);

write('Upiši drugi broj: ');

readln(b);

write('Upiši treći broj: ');

readln(c);

if a and b > c then if a > b

then writeln('Najmanji broj je ',c,' a največi broj je ',a)

else if a and b > c then if a < b

then writeln('Najmanji broj je ',c,' a največi broj je ',b);

if b and c > a then if c > b

then writeln('Najmanji broj je ',a,' a največi broj je ',c)

else if b and c > a then if c < b

then writeln('Najmanji broj je ',a,' a največi broj je ',b);

if a and c > b then if a > c

then writeln('Najmanji broj je ',b,' a največi broj je ',a)

else if a and c > b then if a < c

then writeln('Najmanji broj je ',b,' a največi broj je ',c);

readln;

end.

 

Problem je u tome što kada upišem kombinaciju brojeva 0, 6 i 33 bilo kojim redoslijedom, program ne izvrši zadaću tj. ništa se ne ispiše, nego samo prebaci u novi red, i onda se na enter ugasi. Također se isto događa kod kombinacije 0 7 32, 0 8 32, 0 9 32, 0 10 32...

 

Ne kužim u ćemu je problem. Za ostale kombinacije normalno radi... 

 

Hvala

 

http://www.animehr.com
Moj PC  
0 0 hvala 0
16 godina
moderator
offline
Re: Pascal: školski zadaci
  1. Identiraj kod (uvuci redove)! Iz ovog se ništa ne vidi.
  2. Zatvori u begin..end blok sve iza then u if-ovima koji imaju else. Odnosno - iz ovog kako si napisao, nije jasno na koji if se odnosi else. Vjerujem da je zapravo ta neurednost kriva za to da si napisao kod s greškom.
  3. Ne postoji največi broj. Najveći je već druga priča.
  4. Ne kužim što će ti uopće toliko tih if-then-else konstrukcija, s obzirom da najveći i najmanji broj možeš pronaći na daleko jednostavniji način - uvedeš varijable min i max pa ako je neki broj > max, onda max postaje taj broj. Itd.
Nova poruka
E-mail:
Lozinka:
 
vrh stranice