|
otpaTci Ovde se s vremena na vreme sklanjaju teme koje su zaključane/sklonjene/zastarele itd. Moguće je čitanje, ali ne i slanje komentara i odgovora. Važi za ceo forum. |
|
Alatke vezane za temu | Vrste prikaza |
23.3.2011, 3:02 | #1 |
Novi član
Član od: 23.3.2011.
Poruke: 2
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
|
Paskal - zadaci, POMOĆ?!!
Zadatak 1
Ivana posmatra teniske mečeve na turniru u Tivtu. Za vrijeme zagrijavanja igrača na ekranu su se pojavile njihove statistike. Ivani je zapela za oko istorija mečeva dvaju igrača. Primijetila je da nešto nije u redu sa prethodnim rezultatima, tj. da neki od njih nisu ispravni. Dosjetila se da traži od vas da joj napišete program koji provjerava rezultate. Teniski meč sastoji se od setova, a svaki set od gemova. Važe sljedeća pravila: • Igrač dobija set ako ima 6 ili više gemova, i barem dva gema više od protivnika. • Posebno, u prvom ili drugom setu (ali ne i u trećem), ako je rezultat 6:6, igra se još jedan zadnji gem u kojem se odlučuje pobjednik tog seta (tzv. tie-break). • Meč završava kad jedan od igrača osvoji dva seta. Taj igrač je pobjednik. Rezultat je ispravan ako je moguć meč koji se odvija prema gornjim pravilima, a završava tim rezultatom.Dodatno, ako je jedan od igrača Rože Federer (u ulazu "federer"), onda rezultat u kojem je on izgubio neki set ne može biti ispravan (jer opšte je poznato da je Federer vanzemaljac i da nikad ne gubi mečeve). Napišite program koji če pomoći Ivani da provjeri ispravnost rezultata svakog meča. Ulazni podaci U prvom redu nalaze se imena dvaju igrača odvojena jednim razmakom. Oba imena su nizovi od po najviše 20 malih slova engleske abecede. Imena će biti različita. U drugom redu nalazi se prirodan broj N (1 ≤ N ≤ 50), broj dosadašnjih susreta dvaju igrača. Svaki od sljedećih N redova sadrži rezultat po jednog meča, koji se sastoji od rezultata pojedinih setova odvojenih po jednim razmakom. Broj setova u svakom meču je između 1 i 5. Rezultati setova su u obliku "A:B", gdje su A i B brojevi gemova koje je osvojio svaki od igrača. Ti brojevi su cijeli, između 0 i 99 (uključivo). Izlazni podaci Za svaki od mečeva u ulazu, istim redom kojim su u ulazu, ispišite u jedan red "da" ako je rezultat ispravan ili "ne" ako nije ispravan. -------------------------------------------------------------------------- Zadatak 2 Aleksa i Nikola postavljaju tenkiće na drvenu ploču podijeljenu na N * N kvadratića. Tenk se može u jednom potezu pomaknuti na jedno od četiri susjednih polja i taj pomak nazivamo korakom. Kažemo da tenk čuva red i kolonu u kojem se nalazi. Ni u kojem trenutku na istom polju ne smiju biti dva ili više tenka. Nakon više sati igranja, Nikolina mama ih je pozvala na ručak, a oni su odlučili postaviti tenkove tako svaki tenk čuva jednu kolonu i jedan red, odnosno da se u svakom redu i svakoj koloni nalazi tačno jedan tenk. To moraju uraditi u minimalnom broju koraka. Napišite program koji će pronaći minimalni broj koraka potreban za postavljanje tenkova, svaki u svoj red i kolonu, te niz koraka koji je potrebno učiniti. Ulazni podaci U prvom redu nalazi se prirodan broj N (5 ≤ N ≤ 500). U sljedećih N redova nalaze se po dva broja R i S (1 ≤ R, S ≤ N) koji označavaju red i kolonu u kojem se pojedini tenk nalazi u trenutku kad je Nikolina mama zvala na ručak. Nijedna dva tenka ne nalaze se na istom polju. Redovi su numerisani odozgo prema dolje, a kolone slijeva na desno. Tenkovi su numerisani od 1 do N redom kojim su navedeni u ulazu. Izlazni podaci U prvi red upišite broj K – minimalni broj koraka. U sljedećih K redova upišite broj B i karakter C, odvojene razmakom. Broj B označava redni broj tenkića koji želite pomaknuti, a karakter C označava smjer i to 'L' – lijevo, 'R' – desno, 'U' – gore, 'D' – dolje. Napomena: Rješenje ne mora biti jedinstveno. -------------------------------------------------------------------------- Zadatak 3 Matija gleda na teletekstu rezultate fudbalskih utakmica i tabelu lige. U tabeli se za svaku ekipu nalazi pet podataka: ukupan broj odigranih utakmica, broj pobjeda, broj neriješenih utakmica, broj poraza i broj bodova. Ekipa za svaku pobjedu dobija 3 boda, a za svaki neriješen rezultat 1 bod. Matija je primijetio da se vrijednosti nekih polja u tablici mogu odrediti iz drugih. Napišite program koji dopunjava tabelu u kojoj su vrijednosti nekih polja nepoznate. Podaci različitih ekipa nisu povezani, npr. moguće je da u tablici piše da su sve ekipe pobijedile u svim utakmicama (iako to u stvarnoj ligi nije moguće). Za svaku ekipu je broj odigranih utakmica najviše 100. Ulazni podaci U prvom redu nalazi se prirodan broj N (1 ≤ N ≤ 1000), broj ekipa u ligi. Svaki od sljedećih N redova sadrži po pet polja tabele za jednu ekipu odvojenih po jednim razmakom, redom pet podataka kao što je opisano u tekstu zadatka. Polje tabele sadržava cijeli broj (najmanje 0) ako je vrijednost polja poznata ili znak '?' (upitnik) ako je vrijednost nepoznata. Ulazni podaci neće biti kontradiktorni i uvijek će biti moguće jednoznačno odrediti vrijednosti nepoznatih polja. Izlazni podaci Potrebno je štampati tabelu sa upisanim vrijednostima polja gdje nedostaju u ulazu. -------------------------------------------------------------------------- Zadatak 4 Dat su sljedeći tipovi TYPE Datum = record dan. mjesec, godina: integer end; Radnik = record ime: string[30]; godine_staza:integer; plata:real; zaposlen:datum; end; NizRadnika = array[1..80] of Radnik; 1. Napisati funkciju DobarDatum koja ima jedan argument tipa Datum i koja vraća TRUE ako je argument funkcije ispravan datum i FALSE ako nije ispravan. Obratiti pažnju na prestupne godine (one koje su djeljive sa 4 a nisu sa 100, a jesu sa 400. Npr. 2000, 1996 i 1892 su prestupne a 1900, 1800 i 2007 nisu prestupne). 2. Napisati funkciju IskusniRadnici koja ima tri argumenta: • n – broj radnika (prirodan broj) • rad - niz radnika od n elemenata • gran - realan broj i koja štampa imena svih radnika iz niza rad koji imaju više od gran godina službe. Funkcija vraća broj takvih radnika. Napisati program koji testira napisane funkcije. -------------------------------------------------------------------------- |
23.3.2011, 3:09 | #2 |
Novi član
Član od: 23.3.2011.
Poruke: 2
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
|
Re: Paskal - zadaci, POMOC?!!
Zadatak 5
Dat su sljedeći tipovi TYPE Tacka = record x,y:real; End; Krug = record Centar : tacka; R : real; {r – poluprecnik} end; NizKrugova = array[1..80] of Krug; Scena = record broj_elemenata:integer; {Manje od 80} krugovi:NizKrugova; end; 1. Napisati funkciju Presjek koja ima dva argumenta k1 i k2 tipa Krug i koja vraća TRUE ako krugovi k1 i k2 imaju zajedničkih tačaka i FALSE, ako krugovi nemaju presjeka. 2. Napisati proceduru UcitajDat(imedat:string; var sc:scena) koja iz tekstualne datoteke čije je ime dato argumentom imedat učitava podatke o krugovima u argument sc. U svakom redu tekstualne datoteke upisana su po tri realna broja razdvojena jednom bjelinom, gdje su prva dva broja koordinate centra a treći broj je dužina poluprečnika. Smatrati da nema više od 80 redova u datoteci. 3. Napisati proceduru UcitajDatBin(imedat:string; var sc:scena) koja iz binarne datoteke čije je ime dato argumentom imedat učitava podatke o krugovima u argument sc. Datoteka je tipa FILE of KRUG; 4. Napisati proceduru PromjenaDatBin(imedat:string; pos:integer; x:krug) koja mijenja element na poziciji pos u binarnoj datoteci imedat elementom x. Ako je pozicija „van“ datoteke, procedura ne treba da radi ništa. 5. Napisati funkciju BigCircle koja ima jedan argument tipa Scena i koja vraća indeks onog kruga iz Scene (ako takav krug postoji) koji ima površinu veću od sume površina svih ostalih krugova u Sceni i 0 ako takav krug ne postoji. 6. Napisati funkciju BoundingCircle koja ima jedna argument tipa Scena i koja štampa koordinate centra i poluprečnik onog kruga koji u sebi sadrži sve ostale krugove iz date scene, ako takav krug postoji. Funkcija vraća TRUE ako takav krug postoji i FALSE ako ne postoji. 7. Napisati proceduru Prepis koja ima tri argumenta – ulaz i izlaz tipa string i k1 tipa Krug i koja čita sve elemente i u tekstualnu datoteku čije je ime argument izlaz štampa koordinate centra i poluprečnike svih krugova iz binarne datoteke čije je ime argument ulaz takvih da imaju zajedničkih tačaka sa krugom k1. Napisati program koji testira napisane funkcije. ------------------------------------------------------------------------- Stvarno mi je potrebna pomoc, ako neko zna rijesiti u Free Pascal-u... |
23.3.2011, 15:45 | #3 |
Veteran
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
|
Re: Paskal - zadaci, POMOC?!!
Нико ти неће решавати то. Барем покушај сам нешто да урадиш.
|
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Pomoć oko kupovine apgrejdabilnog kompa | MilanGM | ŠDK - Osnovne komponente | 24 | 4.11.2010 2:37 |
Zadaci za kontrolni :) | JaSamKorisnik | Programiranje | 3 | 16.6.2010 20:29 |
Pomoć oko materijala za seminarski | prudentia | Brbljaonica | 0 | 25.11.2009 13:52 |
Zadaci sa bitovima, ili kako već da ih nazovem.. | forrest_gump | Programiranje | 19 | 28.8.2008 3:50 |
[Legend of Zelda - The Minish Cap] -> pomoć | Geomaster | Konzole | 30 | 10.9.2007 14:05 |