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

Evo dugo vec citam odgovore na ovu temu,i pokusavam doci do neke ideje,jer mi je mozak trenutno zakazao...
ovako radim gomilu zadataka u paskalu,i dodjoh do jednog,cak ni ideju ne mogu da dobijem kako bi ga uradila...
zadatak glasi: Napisati program koji od sto (10) unetih brojeva sa tastature ispisuje koliko je pozitivnih, koliko je negativnih,i koliki je njegov zbir?
(Koristeci se naredbama za ponavljanje for,while, repeat.)

E sad, posto postepeno i polako ucim,malo me bune ove naredbe za grananje,mada jos sam pocetnica,ali ne predajem se lako,danima vezbam,od laskeg ka tezim zadacima.

Pa ako neko ima ideju za ovaj zadatak moze li mi pomoci?

Unapred zahvalna
 
U tome i jeste problem,imamo profesora kojeg ne smemo nista pitati inace odma pocne vikati i vredjati,a pokusavam sama uciti malo i ispred nego sto idemo u skoli,jer me to interesuje...

A tekst zadatka mi je malo ne jasan, zato i ne mogu dobiti ideju za resavanje,pa sam mislila da ako neko ima neku ideju...savet ili slicno dobro bi mi doslo
 
uhhhhhh...hvala puno... na kodu..
e sad posto sam tvrdoglavo uporna posto ga i dalje sama resavam na sto nacina,i sto nekih ideja, muci me, sad ne znam dal mi to jos nismo radili,ili je ja ne znam,opcija tj komanda za prebrojavanje pozitivnih brojeva i prebrojavanje negativnih?

for while i repeat me bas muce, profesor ih je brzo ispricao nista nisam uspela ukapirati,a u prirucniku je slabo objasnjeno...
 
Pozdrav decki. Naisla sam na neki problem, i neznam kako da ga resim. Zadaca je:
"Da se utvrdi dali neki tricifren broj N je isti sa zbir na kubove na sve tri njegove cifre". (*** iz Makedonija sam, pa sam imala malo problema oko pisanje zadacu :S

Ako moze malo brze, posto mi treba ta zadaca do 12:00.
Hvala unapred.


program Walker;
var
M, N, K, L: Integer;
begin
writeln(Unesite trocifren broj);
read(L);
if (L >= 100) and (L <= 999) then begin
M := L div 100;
N := (L mod 100) div 10;
K := L mod 10;
writeln;
if L = M * M * M + N * N * N + K * K * K then
writeln(L, ' JESTE suma kubova brojeva ', M, ', ', N, ' i ', K )
else
writeln(L, ' NIJE suma kubova brojeva ', M, ', ', N, ' i ', K );
end else
writeln(Broj koji ste uneli nije trocifren!);
end.
 
Ja bih ovaj drugo ako sam dobro razumeo uradio ovako: prvo bih sve brojeve spajao redom u posebnom stringu, preko for posto idu redom od i do n, pa bih onda iskoristio funkciju koja pretvara string u broj ( mislim da bese strtoing tako nesto, ima to u help-u :) ) i onda tako dobijes broj koji posle mozes da koristis numericki ! Nadam se da sam pomogao !! :) :think:
 
Ljudi treba mi hitno pomoc. Imam jedan zadatak u pascalu i hitno mi je potrebno resenje. Zadatak glasi:

Napisati program koji za n unetih intigera nalazi par koji ima najveci NZD(najveci zajednicki delilac).
Ulazni podaci: Prva linija koja se ucitava sadrzace broj n, a sledecih n linija ce sadrzati broj, svaki <= 1.000.000.000. N ce biti najvise 1.000 a najmanje 2.
Izlazni podaci: Ispisati NZD para koji ima najveci NZD.
Primer: Ulaz:
6
9
6
391
8
24
60​
Izlaz: 12

(Najveci zajdenicki delilac dva broja je najveci broj koji deli oba. Npr. NZD(24,60)=12 )

Molio bih vas da mi napisete kod posto sam pocetnik.
Molim vas sto pre.
 
Poslednja izmena:
krenes redom i za svaki par odredis nzd, pri cemu pamtis najveci koji je do tad nadjen.
nije najbolje resenje ali radi.

moguce je optimizovati malo uz pomoc matematike verovatno, intuicija mi kaze da su neparni brojevi pogodni za prchkanje.

do tad, najefikasniji nacin da se nadje nzd je oduzimanjem - od veceg broja oduzmes manji, pa onda od manjeg oduzmes rezultat oduzimanja (ili obrnuto, zavisi koji je veci), i tako dok ne dobijes 0. nzd je prethodni broj:

28, 15; 28-15 = 13
15, 13; 15-13 = 2
13, 2; 13-2 = 11
11, 2; 11-2 = 9
9, 2; 9-2 = 7
7,2; 7-2 = 5;
5,2; 5-2=3
3,2; 3-2 = 1;
2,1; 2-1 = 1
1,1; 1-1=0
NZD(28,15) = 1


Sad se setih moguce optimizacije - sortiras niz i trazis da li se neki od velikih brojeva ponavlja (u tom slucaju nzd(a,a) = a) pa, ako to nisu dva najveca broja, proveris samo nzd za brojeve vece od njih.
u najgorem slucaju bude slozeno isto kao i prva ideja, + logn za sortiranje, u najboljem slucaju bude logn
u proseku verovatno logn + nesto < n kvadrat (slozenost prve ideje)

opet - mozda gresim
 
hitnoooo
trebam uraditi 3 zadatka u pascalu sa for petljom ako znatee pomozite

1 zad
unijeti 4 broja, ako je prvi nepraan izracunati sumu tihbrojeva, a ako je prvi broj paran izracunati razliku najmanjek i najveceg

2 zad
unijeti 1 broj, i ako je paran prvih 10 parnih brojeva sabrati, a ako je nepran pomnoziti narednih 10 nepranih brojeva. ukolko uneses 0 ili negativan broj ispisat 'unijeti br u intervalu od 1 do 10'

3 zad
sahovska tabala ima 80 polja, na svakom polju se nalaze 2 piuna vise nego na predhodnom. treba napraviti program koji ce racuntai kolo ima piuna na kojem polju(npr ako ukucas 39 da ti kaze kolko ima piuna na tom polju)

akooo znatee pomoziteee..hitnoo jee
 
Treba mi resenje ovog zadatka u pascal-u

Dati su prirodni br. d1,m1,g1 i d2,m2,g2 koji oznacavaju 2 datuma. Treba sastaviti program kojim se odredjuje br. dana izmedju tih datuma. Voditi racuna oko prestupnih godina. Godina je prestupna ako je stoletna godina deljiva sa 400 (1200:400=300, prestupna), a godine koje nisu stoletne deljive sa 4 (2008:4=502).

MOLIM VAS AKO MOZETE DA URADITE OVAJ ZADATAK STO PRE
 
ej ljudi molim vas ak neko zna da mi uradi projekt iz informatike u turbo pascalu.....treba mi do nedjelje...u projektu trebamo da uradimo 10 imena i prezimena i 10 telefonskih brojeva...tako kada bude profesor trazio neko ime da mu se prikaze odgovarajuci broj telefona i obrnuto.....molim vas ak nek zna neka pomogne jer je stvarno hitno :)
unaprijed hvala i veliki pozdrav :);)
 
zdravo decki jas sum od makedonija i imam problem so edna zadaca vo paskal
zadacata glasi:
da se napise programa so koja od dvodimenzionalna niza A(m*n) ke se pretvori vo ednodimenzionalna niza i pri toa ke se naredat clenovite po rastecki redosled pocnuvajki od najmaliot

bi vi bil blagodaren ako mozite da mi ja napisite i fala od napred poz
 
@ jovanoh
Ako "pocnuvajki" znaci isto sto i INDEX, onda citaj resenje, a ako ne, onda nemoj :D
Iz matrice moze da se prebacuje u jednodimenzionalni niz po vrstama ili po kolonama.

fora je:
Kod:
{bla bla, program tralala;
[B]var A:array[1..20,1..20] of integer, NIZ:array[1..400] of integer; [/B]}
{bla, bla, ucitavanje matrice A}
k:=1;
for i:=1 to m do
  for j:=1 to n do
   begin
     NIZ[k]:=A[i,j];
     k:=k+1; {uvecanje za 1 da bi se naredni element 
                   smestio na novo mesto u nizu}
    end;
{bla, bla, ispis ako je potreban
end.}

Ovo gore radi tako sto matricu smesta u jednodimenzionalni niz NIZ po kolonama (cela prva, pa cela druga...). Ako je potrebno po vrstama, zameni mesta petljama.

Kod deklaracije nizova, jednodimenzionalni niz NIZ mora imati m*n mesta, da bi stala citava matrica.

@svi kojima trebaju zadaci: uzmite pa ucite malo Pascal! Dodje vas x da im drugi resavaju zadatke. Neko konkretno pitanje, tipa "stigao sam dotle, ne znam sta cu dalje..." je ok, ali ovo da se resavaju citavi zadaci...
 

Back
Top