Pascal - programavimo kalba

Programavimas bei interneto svetainių kūrimas
User avatar
virusass
Posts: 241
Joined: Sun Jul 12, 2009 2:06 pm
Location: Subačius

Re: Pascal - programavimo kalba

Postby virusass » Thu Jan 27, 2011 2:15 pm

Gla gali duomenų ir atsakymo pavyzdį?
Shiz - šprotai irgi žuvis

parulskis
Posts: 14
Joined: Fri Nov 05, 2010 6:38 pm

Re: Pascal - programavimo kalba

Postby parulskis » Thu Jan 27, 2011 5:15 pm

Petraitis 21
Jonaitis 35
Pocius 19
Lopata 15
(duomenys pvz tokie)


(tai atsakymas turetu but)
Petraitis
Jonaitis

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Thu Jan 27, 2011 6:37 pm

Code: Select all

program pavardes; type irasas=record pav:string; met:integer; end; masyvas=array[1..100] of irasas; var mas:masyvas; kiek,i:integer; failas:text; procedure skaito(var mas:masyvas; var kiek:integer); var failas:text; ch:char; sk:integer; zod:string; begin kiek:=0; assign(failas, 'C:\pavardes.txt'); reset(failas); while not eof(failas) do begin zod:=''; kiek:=kiek+1; while not eoln(failas) do begin read(failas,ch); if ch<>' ' then zod:=zod+ch else begin mas[kiek].pav:=zod; read(failas,mas[kiek].met); end; end; readln(failas); end; close(failas); end; begin assign(failas, 'C:\rezultatai.txt'); rewrite(failas); skaito(mas,kiek); for i:=1 to kiek do if mas[i].met>20 then writeln(failas,mas[i].pav); close(failas); Readln; end.

parulskis
Posts: 14
Joined: Fri Nov 05, 2010 6:38 pm

Re: Pascal - programavimo kalba

Postby parulskis » Thu Jan 27, 2011 6:58 pm

(irasas=record ) ką čia reiškia?

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Thu Jan 27, 2011 7:00 pm

(irasas=record ) ką čia reiškia?
Struktūrinių duomenų tipas.

Literatūra:
http://gabija.simnet.lt/pascal.pdf

User avatar
virusass
Posts: 241
Joined: Sun Jul 12, 2009 2:06 pm
Location: Subačius

Re: Pascal - programavimo kalba

Postby virusass » Fri Jan 28, 2011 8:10 am

enemy įdomiai tu čia :D man tai tokia programėlė gavosi :D

Code: Select all

program amzius; var kiek : integer; v : string; f1,f2 : text; begin assign(f1, 'duom.txt'); reset(f1); assign(f2, 'rez.txt'); rewrite(f2); while not eof(f1) do begin readln(f1,v,kiek); if kiek > 20 then writeln(f2, v); end; close(f1); close(f2); end.
(Šiaip netikrinau ar veikia, betkažkas tokio tūrėtų b9ti)
Shiz - šprotai irgi žuvis

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Fri Jan 28, 2011 1:48 pm

Aš taip pat netikrinau, ar tavo veikia, BET: v:string neapibrežia kiek simbolių skirta vardui, todėl, kad ir darant ReadLn(f,v,kiek) v reikšmei bus priskirta visa eilutė, kartu su metais. Jeigu būtų vieta, skirta vardams, apibrėžta, tarkim 10 pozicijų, tada pilnai su tavim sutikčiau :)

Code: Select all

v:string[10];
Aišku pas mane bereikalingas darbas buvo iš pradžių viską surašyti i įrašų masyvą, ir tik tada tikrinti kiek žmogui metų, bet manau ne čia esmė.

User avatar
virusass
Posts: 241
Joined: Sun Jul 12, 2009 2:06 pm
Location: Subačius

Re: Pascal - programavimo kalba

Postby virusass » Fri Jan 28, 2011 2:29 pm

A tikrai :D

Na čia nesunku pataisyt :D

Code: Select all

program amzius; var kiek,i : integer; v : string; f1,f2 : text; begin assign(f1, 'duom.txt'); reset(f1); assign(f2, 'rez.txt'); rewrite(f2); while not eof(f1) do begin i := 1; read(f1,v[i]); while v[i] <> ' ' do begin i := i + 1; read(f1, v[i]); end; readln(kiek); if kiek > 20 then writeln(f2, v); end; close(f1); close(f2); end.
Shiz - šprotai irgi žuvis

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Fri Jan 28, 2011 2:37 pm

Va dabar ok, ir daug gražiau nei mano :mrgreen:

EDIT: apsirikau, neveikia :D
Last edited by enemy11 on Sat Jan 29, 2011 7:28 pm, edited 1 time in total.

parulskis
Posts: 14
Joined: Fri Nov 05, 2010 6:38 pm

Re: Pascal - programavimo kalba

Postby parulskis » Sat Jan 29, 2011 1:52 pm

A tikrai :D

Na čia nesunku pataisyt :D

Code: Select all

program amzius; var kiek,i : integer; v : string; f1,f2 : text; begin assign(f1, 'duom.txt'); reset(f1); assign(f2, 'rez.txt'); rewrite(f2); while not eof(f1) do begin i := 1; read(f1,v[i]); while v[i] <> ' ' do begin i := i + 1; read(f1, v[i]); end; readln(kiek); if kiek > 20 then writeln(f2, v); end; close(f1); close(f2); end.
rezultate nieko neatspausdina kažkodėl

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Sat Jan 29, 2011 7:18 pm

Prašom.

Jeigu tau būtinai reikia su while not eoln daryt, tai pakeisk ciklą

Code: Select all

while v <> ' ' do

Code: Select all

program amzius; var kiek,i : integer; v : char; zod:string; f1,f2 : text; begin assign(f1, 'duom.txt'); reset(f1); assign(f2, 'rez.txt'); rewrite(f2); while not eof(f1) do begin read(f1,v); zod:=zod+v; while v <> ' ' do begin read(f1, v); zod:=zod+v; end; readln(f1,kiek); if kiek > 20 then writeln(f2, zod,kiek); zod:=''; end; close(f1); close(f2); end.

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Tue Feb 01, 2011 4:51 pm

Gal kas turite idėjų, kaip išspręsti šį uždavinį? O gal netgi turite visą kodą? Būčiau dėkingas už bet kokią pagalba :)

Image

Vencocta
Posts: 28
Joined: Tue Apr 17, 2007 1:42 pm

Re: Pascal - programavimo kalba

Postby Vencocta » Mon Mar 07, 2011 5:53 pm

Turiu programą, kuri braižo punktyrinę liniją:

Code: Select all

program linija; uses graph; var gd, gm, x, i : integer; begin initgraph(gd, gm, ''); x := 10; for i := 1 to 10 do begin; line(x,10,x+20,10); x := x + 30; end; readln; closegraph; end.
Kaip man ją pakeisti, kad ji brėžtų šitokį arba šitokį linijų pluoštą?

User avatar
enemy11
Posts: 33
Joined: Tue Jun 29, 2010 3:05 pm

Re: Pascal - programavimo kalba

Postby enemy11 » Sun Mar 13, 2011 7:47 pm

Code: Select all

program linij; uses graph; var gd, gm, x, y, i, galinis : integer; begin initgraph(gd, gm, ''); x := 10; y := 10; galinis := 400 ; for i := 1 to 20 do begin line(x,y,galinis,y); x := x + 20; y := y + 10; end; readln; closegraph; end.
Tereikia pakeisti "galinis" kintamojo reikšmę, kad būtų gražiau arba su funkcijomis GetMaxX ir GetMaxY susiieškot maksimalias lango koordinates.

satobiren
Posts: 3
Joined: Sun Feb 27, 2011 11:45 am

Re: Pascal - programavimo kalba

Postby satobiren » Thu Mar 17, 2011 12:43 pm

Kodėl nepavyksta perrašyta tekstinio failo? Gal galit pateikti pvz, kuris veiktu.

Code: Select all

program bylos; var prad, pirma: text; begin assign(prad, 'E:\PIRMAS.TXT'); rewrite(p arad); WriteLn(prad, 'text'); Readln; Readln; end.


Return to “Programuotojų kampas”

Who is online

Users browsing this forum: No registered users and 24 guests

cron