PASCAL - Zadaci, resenja, problemi, izazovi...

Ovako,oduvek sam se pitao kako se prave programi na racunari,pa ako neko moze da mi ukratko objasni kako se pravi.HVALA UNAPRED

Ovako nekako:
Imas te neke programske jezike, koji su u stvari jezici koje racunari na neki nacin mogu da razumeju. Onda ti kao programer naucis taj jezik i komuniciras sa kompjuterom tako sto mu na tom jeziku napises kako da se ponasa i onda on u svakom momentu prati to sto si ti napisao i ponsa se onako kako si mu ti rekao.
 
Pozdrav svima. Hteo bih da zamolim nekog ako moze da mi resi ova 3 zadatka, vrlo mi je bitno za ocenu, a posteno nemam pojma informatiku:
1.Dat je realan broj X i prirodan broj N. Napisati program koji izračunava stepen broja X na N.
2.Dato je prirodan broj N. Napisati program koji izračunava zbir njegovih cifara.
3.Dato je prirodan broj N i realan broj X. Napisati program koji izračunava zbir niza brojeva po sledećoj formuli:
S = 1 + x + x2/2 + x3/3! + ... + xN/N!
Jedino sto znam jeste da treba valjda nekakva For petlja da bi se uradilo. Unapred zahvalan!
 
Da li moze neko da mi pomogne da resim ovaj zadatak: Naci s za uneti broj n s=1!+2!+3!+4!+....+n!

Ja sam ovako krenuo

program krstarica;
uses crt;
var n,f,s,i:integer;
begin
clrscr;
read(n);
f:=1;
s:=0;
for i:=1 to n do f:=f*i;


Lagano sam resio zadatak kada treba samo N!, ali sada kad treba 1!+......+N! ne znam sta dalje, da li da ubacim neki drugi brojac? Kako da sabiram svaku vrednost? Kako god uradim meni sabere samo krajnje f......
 
Imam 2 malo Cudna problema....Pa ako bi neko mogao da mi pomogne bilo bi lepo
----------
1) Matrice (Dvodimenzioni Nizovi) .... u skoli ih Trenutno radimo....
I sada kada nam je profesorka objasnjavala kako to "izgleda" .... ona je to otp. ovako ispisala

1 2 1
3 2 5
6 7 1

E sada...Ja sve to razumem...zadatke sve je OK. ali mi se nesvidja kako to izgleda...Zapravo mi kada unosimo clanove niza unosimo ih komandom Readln i to otp izgleda ovako
1
2
1
3.....itd...
...Sada ja sam probao da napravim da mi unos ide 1 2 1... pomocu Read(bez LN) .Ali to bas i nije moguce posto da bi se ucitao br. mora da se pritisne enter, a ako se pritisne enter on spusti u novi red.....
Ima li mozda neko resenje kako bi ovo moglo da se izvede...tj da unos izgleda kao Matrica... a ne broj ispod broja...

----------------
2) Drugi problem mi je....Kako da Podelim Rec... tj. ako imam rec "Reka" kako da je rastvorm na "R" "E" "K" "A" tako da svako slovo bude odvojen clan....
***********
Ukoliko me nesto niste razumeli recite....A ako mozete da mi pomognete...bilo bi lepo... Hvala u svakom slucaju
 
Poslednja izmena:
Imam 2 malo Cudna problema....Pa ako bi neko mogao da mi pomogne bilo bi lepo :) :)
----------
1) Matrice (Dvodimenzioni Nizovi) .... u skoli ih Trenutno radimo....
I sada kada nam je profesorka objasnjavala kako to "izgleda" .... ona je to otp. ovako ispisala

1 2 1
3 2 5
6 7 1

E sada...Ja sve to razumem...zadatke sve je OK. ali mi se nesvidja kako to izgleda...Zapravo mi kada unosimo clanove niza unosimo ih komandom Readln i to otp izgleda ovako
1
2
1
3.....itd...
...Sada ja sam probao da napravim da mi unos ide 1 2 1... pomocu Read(bez LN) .Ali to bas i nije moguce posto da bi se ucitao br. mora da se pritisne enter, a ako se pritisne enter on spusti u novi red.....
Ima li mozda neko resenje kako bi ovo moglo da se izvede...tj da unos izgleda kao Matrica... a ne broj ispod broja...

----------------
2) Drugi problem mi je....Kako da Podelim Rec... tj. ako imam rec "Reka" kako da je rastvorm na "R" "E" "K" "A" tako da svako slovo bude odvojen clan....
***********
Ukoliko me nesto niste razumeli recite....A ako mozete da mi pomognete...bilo bi lepo... :) Hvala u svakom slucaju

Moze u jednom redu, samo sa read, ali pravis razmak izmedju brojeva...

A sto se tice reci, ja mislim da to ide...hmm...kad pises ulazne i izlazne jedinice, mora tip da ti bude char
npr.
var x: char
ali to malo drugacije funkcionise...
nek ti objasni neko ko je malo strucniji...
 
Hvala na brzom...odg...... :) Uspesno je odradjen taj deo..Jos samo ovo sa znakovima.. :lol:

Moze u jednom redu, samo sa read, ali pravis razmak izmedju brojeva...

A sto se tice reci, ja mislim da to ide...hmm...kad pises ulazne i izlazne jedinice, mora tip da ti bude char
npr.
var x: char
ali to malo drugacije funkcionise...
nek ti objasni neko ko je malo strucniji...
 
Pozdrav svima. Hteo bih da zamolim nekog ako moze da mi resi ova 3 zadatka, vrlo mi je bitno za ocenu, a posteno nemam pojma informatiku:
1.Dat je realan broj X i prirodan broj N. Napisati program koji izračunava stepen broja X na N.
2.Dato je prirodan broj N. Napisati program koji izračunava zbir njegovih cifara.
3.Dato je prirodan broj N i realan broj X. Napisati program koji izračunava zbir niza brojeva po sledećoj formuli:
S = 1 + x + x2/2 + x3/3! + ... + xN/N!
Jedino sto znam jeste da treba valjda nekakva For petlja da bi se uradilo. Unapred zahvalan!

2. Zadatak:

var n,zbcif:integer;
begin
readln(n);
zbcif:=0;
while n>0 do
begin
zbcif:=zbcif+n mod 10;
n:=n div 10;
end;
writeln(zbcif);
end.
 
Kod:
Piramida se formira od prirodnih brojeva 1, 2, 3, 4...Napisati program koji se određuje SUMA I-tog reda. Program treba napisati ne koristeći cikluse.

.............1
..........2 3 4
......5 6 7 8 9
............itd.

Zna li iko?

Evo koda :

Kod:
program Suma_i_reda;
var
  i, n, d, a1, an, suma : integer;
begin
    Readln(i);
    a1 := sqr(i-1) + 1;
    d  := 2*i-1;
    an := a1 + d - 1;

    suma := d*(a1 + an);
    suma := suma div 2;

    Writeln(suma);	
end.
 
Ok, ovo radi.
Ali, kako si došao do zaključka za ovo, ako ti nije teško objasni mi način razmišljanja.

Evo ovako:
U svakom redu imas neparan broj cifara, 1. red ima 1 cifru, drugi 3 cifre, treci 5 idt. -> zaključak u i-tom redu biće n=2i-1 cifara (vrednost i-tog neparnog broja).
Posto sada znamo koliko cifara imamo u i-tom redu mozemo se posluziti izrazom za sumu aritmetickog niza S = n/2 * (a1 + an) gde je n broj cifara u redu odnosno clanova aritmetickog niza, a a1 i an prvi i poslednji clan tog niza.
Sada nam jos fali da saznamo prvi broj u i-tom redu tj. a1, a zatim an dobijamo kao a1+n-1 jer u jednom redu ima ukupno n cifara.
Ako pogledamo prve clanove u redovima 1 2 5 10 17 vidimo da je 2-1=1, 5-2=3, 10-5=5 itd. Zakljucujemo da je razlika svake 2 uzastopne cifre ustvari neparan broj i to 1,3,5,7,.... ispred i-tog clana imamo i-1 razlika dakle potrebno je da saberemo sve njih i dodamo jedinicu s vrha trougla.
Suma prvih n neparnih brojeva je n[SUP]2[/SUP] iz toga sledi da je prva cifra u trazenom redu (i-1)[SUP]2[/SUP]+1 i ujedno je ta cifra i prvi clan niza odnosno a1.
Posto sada znamo n, a1, i an iz formule an=a1+n-1 ostaje nam samo da sve zamenimo u izraz za sumu aritmetickog niza i problem je resen..
 
Zadatak ide ovako:
Data je matrica A(3*n) cija i-ta kolona sadrzi podatke i-tog dizaca tegova sa takmicenja u istoj rezinskoj kategoriji.Prvi podayak u koloni je tezina koju je takmicar podigao trzajem,drugi tezina koji je takmicar podigao u dizanju sa izvlacenjem,a treci njegova telesna tezina.Napisati program koji odredjuje indeks sampiona u obe kategorije i ukupnom plasmanu(gde je kriterijum zbir tezina).
KO GOD GA RESI BICU MU VECNO ZAHVALAN.
 
Zadatak koji je,po meni,stvarno tezak:
U stringu se nalazi ispravno zadat matematicki izraz sa znacima{+,-,*,/ i zagradama (,)}koji sadrzi promenljivu z.
napisati program koji r acunavrednost tog izraza za unesenu vrednost promenljive z.
Primer:
ulaz:z=5 12*z-1-(8*z-10)
izlaz:29
Molim pametnije ljude od mene da mi pomognu!

Ovakav zadatak se rešava primenom steka, kao pomoćne strukture, i sledeća dva algoritma:
1. Alg. za konverziju iz infixnog u postfixni izraz
2. Alg. za izracunavanje izraza u postfixnoj notaciji

... možda postoji i neki drugi i jednostavniji način ali meni trenutno pada na pamet samo ovaj.

Pošto je stek najlakše implementirati kao zasebnu klasu i pošto sam pascal delimično zaboravio napisao sam program u C++.
Da ne bih dužio, postavio sam ti program u prilogu, bez izvornog koda, jer je podugačak.
Ukoliko te interesuje logika rada i kod javi mi na pm pa ću ti poslati, nadam se da će ti pomoći da sam na osnovu toga napišeš kod u pascalu.

http://www.*************/?wc1a6g8znmg60r6
 

Back
Top