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

Pozdrav!

Da li mi moze neko pomoci, hitno je.

Trebam napisati program kojim ce se unijeti niz od 50 brojeva, sortirati ti brojevi i ispisati sortirani brojevi?

Unaprijed hvala!

:)

Niz deklarises kao niz:array[1..50] of integer; i elementima pristupas sa niz gde je i ceo broj izmedju 1 i 50. Mozes u petlji da ucitas i ispises brojeve a za sortiranje mozes da proguglas neke od metoda kao sto su bubblesort, insertionsort, selectionsort. Ima i nekih naprednijih metoda za sortiranje, ali ne moras njih da ucis za ovako nesto.
 
da li neko moze da mi resi ovaj zadatak, hitno mi treba
Sastaviti program na programskom jeziku Pascal, koji radi sa tekst datotekama po sledećem
redosledu izvršavanja:
a) poziva potprogram koji učitava imena datoteka sa kojima će raditi,
b) poziva odgovarajući potprogram koji izvrši traženu obradu nad datotekama,
c) ponavlja prethodne korake sve dok korisnik za ime datoteke ne zada prazan string.
Zavisno od rednog broja problema, sastaviti program, koji obavlja sledeću obradu:
0. čita ulaznu datoteku, koja predstavlja promet na kreditnim karticama, gde je svaki red po
formatu brojKartice ime prezime promena (broj kartice – string od tacno 7 znakova,
ime i prezime – stringovi do 30 znakova, promena – realan broj) i koja može u susednim
redovima imati podatke o istoj osobi (isti su ime i prezime); program u izlaznu datoteku
prepisuje ime i prezime osobe, sve njene brojeve kartica i ukupnu promenu po formatu ime,
prezime, brojKartice1,..., brojKarticeN, ukupnaPromena (za svaku osobu u
zasebnom redu); prva četiri znaka svakog broja kartice u izlaznoj datoteci zameniti sa *;
 
treba mi pomoc. problem je sledeci: skinula sam neki pascal sa interneta i ispisla program koji je lepo radio sve dok ga nisam zatvorila. sada ponovo udjem, i krenem da unosim vrednosti on me izbacuje cim unesem prvi decimalni broj i ispise: EXITED WITH EXITCODE=106. sta treba da uradim da bi radio?

Iako si se potrudila da objasnis detaljno, nije bas dovoljno da bismo skontali sta je u pitanju. Ono sto meni pada na pamet jeste da unosis decimalan broj a da se ocekuje ceo.
 
da li neko moze da mi resi ovaj zadatak, hitno mi treba
Sastaviti program na programskom jeziku Pascal, koji radi sa tekst datotekama po sledećem
redosledu izvršavanja:
a) poziva potprogram koji učitava imena datoteka sa kojima će raditi,
b) poziva odgovarajući potprogram koji izvrši traženu obradu nad datotekama,
c) ponavlja prethodne korake sve dok korisnik za ime datoteke ne zada prazan string.
Zavisno od rednog broja problema, sastaviti program, koji obavlja sledeću obradu:
0. čita ulaznu datoteku, koja predstavlja promet na kreditnim karticama, gde je svaki red po
formatu brojKartice ime prezime promena (broj kartice – string od tacno 7 znakova,
ime i prezime – stringovi do 30 znakova, promena – realan broj) i koja može u susednim
redovima imati podatke o istoj osobi (isti su ime i prezime); program u izlaznu datoteku
prepisuje ime i prezime osobe, sve njene brojeve kartica i ukupnu promenu po formatu ime,
prezime, brojKartice1,..., brojKarticeN, ukupnaPromena (za svaku osobu u
zasebnom redu); prva četiri znaka svakog broja kartice u izlaznoj datoteci zameniti sa *;

Prilicno je nejasno sta treba uraditi.
 
Pozdrav svim programerima! Evo predstavljam vam par zadataka iz Pascala pa ako ima zainteresovanih voleo bih da mi ih uradite. Zadaci su sledeći:

Zadatak 1: Za svakog od 210 učenika 3-razreda evidentiraju se putem tastature zbirni broj izostanaka učenika i broj opravdanih izostanaka. Broj neopravdanih izostanaka za svakog učenika izračunava se kao razlika napred navedenih kategorija izostanaka. Prikazati procentualno učešće neopravdanih izostanaka u odnosu na ukupan broj izostanaka učenika na nivou 3-g razreda. Takođe prikazati prosečan broj neopravdanih izostanaka za učenike koji su kažnjeni *ukorom* (imaju po 10 i više neopravdanih izostanaka). Određivanje procentualnog učešća neopravdanih i prosečnog broja neopravdanih za napred navedene uslove obaviti putem dva odvojena potprograma (procedure ili funkcije po izboru).

Zadatak 2: U toku jedne godine za svaki mesec građanin (potrošač - fizičko lice sa aspekta elektrodistribucije) evidentira iznos novčane uplate. Prikazati ukupan iznos novčane uplate. Takođe prikazati redni broj meseca i iznos uplate za svaki mesec kada je uplata bila iznad 8500. Određivanje ukupnog iznosa novčane uplate uraditi putem potprograma (procedure). To važi i za prikaz rednog broja meseca i iznosa uplate za napred navedeni uslov.

Zadatak 3: Na takmičenju u trčanju maratona učestvuje 500 takmičara. Za svakog takmičara evidentira se vreme istrčavanja staze. Prikazati prosečno vreme trčanja po takmičaru. Takođe prikazati procentualno učešće takmičara koji su trčali sporije od proseka. Određivanje prosečnog vremena i procentualnog učešća uraditi putem dva odvojena potprograma (procedure ili funkcije po izboru).

Zadatak 4: Za svaki mesec u toku godine na tekućem računu radnika evidentiraju se uplata i isplata. Prikazati brojno stanje (broj) meseci u kojima je isplata bila veća od uplate. Takođe prikazati najveću mesečnu uplatu. Određivanje najveće mesečne uplate i određivanje broja meseci za napred navedeni uslov obaviti putem dva odvojena potprograma (procedure ili funkcije po izboru).

Zadatak 5: Za proveru znanja 36 učenika jednog odeljenja IV razreda gimnazije iz oblasti algoritmi i programiranje rade se dva kontrolna testa. Za svakog učenika evidentira se broj ostvarenih poena na I-om testu i broj ostvarenih poena na II-om testu. Konačna ocena za navedenu oblast dobija se kao aritmetička sredina broja ostvarenih poena na oba testa. Prikazati prosečan broj ostvarenih poena konačne ocene za učenike koji su ispunili uslov za odličnu ocenu (86 i više poena). Takođe prikazati brojno stanje (broj) učenika koji nisu položili test (konačni ispod 41 poena). Određivanje prosečnog broja ostvarenih poena i brojnog stanja za navedene uslove uraditi putem dva odvojena potprograma (procedure ili funkcije po izboru).

Zadatak 6: Na kviz takmičenju u proveri znanja učestvuje 30 takmičara. Za svakog takmičara evidentira se broj ostvarenih poena. Prikazati prosečan broj ostvarenih poena za 5 prvoplasiranih takmičara. Takođe prikazati broj ostvarenih poena pobednika kviza. Određivanje prosečnog broja ostvarenih poena uraditi putem potprograma (procedure ili funkcije po izboru).
 
ima li vas?
treba prebrojati prirodne brojeve koji su deljivi sa 3 u intervalu od k do n koristeci petlju WHILE
ovaj zadatak je krajnje prost, al ja ne znam gde gresim...

e vako sam ga uradila
program a;
ver i,n,k,p:integer;
begin
write('unesi k i n');readln(k,n);
p:=0;
while i:=k do begin
if i mod 3 = o then p:=p+1;
i:=i+1
end;
writeln('p=',p);
end.

i konstantno mi ispada p=0 :confused:
 
ima li vas?
treba prebrojati prirodne brojeve koji su deljivi sa 3 u intervalu od k do n koristeci petlju WHILE
ovaj zadatak je krajnje prost, al ja ne znam gde gresim...

e vako sam ga uradila
program a;
ver i,n,k,p:integer;
begin
write('unesi k i n');readln(k,n);
p:=0;
while i:=k do begin
if i mod 3 = o then p:=p+1;
i:=i+1
end;
writeln('p=',p);
end.

i konstantno mi ispada p=0 :confused:

1. nije ver nego var
2. uslov jednakosti se proverava sa = a ne sa :=
3. nije o nego 0 kod i mod 3
4. pogresan uslov koristis u while petlji pa se kod u njoj nikad ne izvrsi, treba pre while petlje da napises i:=k, a kao uslov da bude i<=n
 
Ako nekom drugom bude trebalo, evo celih programa. Varijanta sa for:

program Math;
var n, k, p, i: integer;
begin
writeln('Unesi n i k');
for i:=n+1 to k-1 do
begin
if i mod 3 = 0 then p:=p+1;
end;
writeln(p);
readln;
end.

Naravno n<k.

meni nije jasno sto n+1 i k-1...
mislim, dat je interval odakle dokle...
zasto ne jednostavno for i:=k to n do...? to je tacno...
naravno, uopste ja ne sumnjam da tvoj nacin nije tacan...ali meni taj kec nikako ne ulazi u glavu xD
mislim, cemu komplikacije...:lol:
 
Evo varijante i sa while:

Program Math1;

var i, n, k, p: integer;
begin
writeln('Unesi n i k');
Readln(n,k);
p:=0;
for i:=n+1 to k-1 do
begin
if i mod 3 = 0 then p:=p+1;
end;
writeln(p);
readln;
end.

Unesi k>n.

mislis

program aa;
var i,n,k,p:integer;
begin
write('unesi k i n'); readln(k,n);
p:=0;
i:=k;
while i<=n do
begin
if i mod 3 = 0
then
p:=p+1;
i:=i+1
end;
writeln('p=',p);
end.

:lol:
 
Pazite ovaj.
Naci K-tu cifru niza: 123456789101112131415161718........(nije nam dat interval)
Znaci unesete pozijiju cifre i program vam pokaze koja je to cifra u nizu koji sam iznad predstavio.

Primer:

Unesem 12:
Rad: 12345678901(0)1112
Program mi pokaze cifru 0

Napomene: Ne koristiti veliki ulazni podatak za poziciju.

Prvih 9*1 cifara su jednocifreni brojevi, narednih 90*2 su dvocifreni, narednih 900*3 su trocifreni, itd. Gledaj da obradis taj ulazni broj tako da izvuces iz ovih podataka koji broj je u pitanju, a zatim i cifru iz njega.
 

Back
Top