Pascal - programavimo kalba

Programavimas bei interneto svetainių kūrimas
Duntrul
Posts: 105
Joined: Mon Jul 05, 2010 3:40 pm

Re: Pascal - programavimo kalba

Postby Duntrul » Thu Jan 12, 2012 3:38 pm

Sveiki, taigi prireikė pagalbos. Užduotis tokia: parašyti procedūrą, kuri iš tam tikro intervalo paimtų kiekvieną skaičių, išskirstytų jį po vieną ir sudėtų jų skaičius. Žodžiu, reikia gauti tam tikro intervalo skaičių skaitmenų sumą. pats parašiau, viskas turėtų kaip ir veikti, tačiau kažkur yra klaida ir nežinau kaip ją išspręsti.

Code: Select all

Program noname; {---------------} Procedure Skaiciai(m,n:integer; var p,sum,i:longint); begin sum:=0; for i:= m to n do begin while i>0 do begin p:= i mod 10; sum:= sum + p; i:= i div 10; end; end; end; {---------------} var a,b:integer; l,vu,c:longint; begin Write('Iveskite pirma intervalo skaiciu'); ReadLn(a); Write('Iveskite antra intervalo skaiciu'); ReadLn(b); Skaiciai(a,b,l,vu,c); WriteLn('Skaiciu suma:', vu); ReadLn; end.

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

Re: Pascal - programavimo kalba

Postby virusass » Mon Jan 16, 2012 4:31 pm

Code: Select all

Program noname; {---------------} Procedure Skaiciai(m,n:integer; var sum:longint); var i,j,p : longint; begin sum:=0; for i:= m to n do begin j := i; while j > 0 do begin p:= j mod 10; sum:= sum + p; j:= j div 10; end; end; end; {---------------} var a,b:integer; vu:longint; begin Write('Iveskite pirma intervalo skaiciu '); ReadLn(a); Write('Iveskite antra intervalo skaiciu '); ReadLn(b); Skaiciai(a,b,vu); WriteLn('Skaiciu skaitmenu suma: ', vu); ReadLn; end.
Shiz - šprotai irgi žuvis

Ula
Posts: 3
Joined: Wed Feb 22, 2012 5:20 pm

Re: Pascal - programavimo kalba

Postby Ula » Wed Feb 22, 2012 5:29 pm

Sveiki, turiu problemele, man reikia parasyti tokia programa:
Parašyti paprogramę, kuri duotame tekste išmeta žodžius, esančius už dvitaškio.
Tikrai neprasau kad uz mane padarytumet tik prasau uzveskite ant kelio, kuria is siu funkciju ir proceduru turiu naudoti: delete, insert, copy, pos, val, upcase?
Aciu :) :) :) :)

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

Re: Pascal - programavimo kalba

Postby virusass » Wed Feb 29, 2012 2:03 pm

Code: Select all

S := 'abcdefg:sdfsdjkgh'; delete(S, pos(':', S), length(S));
Arba gražiau -->

Code: Select all

S := 'abcdefg:sdfsdjkgh'; nuo := pos(':', S); iki := length(S); delete(S, nuo, iki);
Shiz - šprotai irgi žuvis

unknown
Posts: 2
Joined: Wed May 30, 2012 11:43 pm

Re: Pascal - programavimo kalba

Postby unknown » Thu May 31, 2012 8:15 pm

Sveiki,
Gal galetumėte man padėti su šiuo uždaviniu?
Aš nelabai susigaudau kaip jį daryti ...

Turime masyvą N ilgio ne neigiamų skaičių. Padalinti skaičius į dvi dalis taip, kad jų sumos būtų panašiausios ( max suma <= 600 )

henris125
Posts: 2
Joined: Fri Nov 02, 2012 2:30 pm

Re: Pascal - programavimo kalba

Postby henris125 » Fri Nov 02, 2012 3:07 pm

Sveiki. Aš dar kai pradedantis nelabai susigaudau.Davė man uzduoti parašyti skaiciu betkoki nuo 1 iki 1000000 skaitmeniu, kad ji isverstu ir parasytu raštu.
Taip bandžiau ir uzstrigau,nebežinau ka daryt

Code: Select all

program SkaiciusZodziu; uses Crt; var x:longint ; procedure sk ; begin if x=1 then writeln('vienas'); if x=2 then writeln('du'); if x=3 then writeln('trys'); if x=4 then writeln('keturi'); if x=5 then writeln('penki'); if x=6 then writeln('sesi'); if x=7 then writeln('septyni'); if x=8 then writeln('astuoni'); if x=9 then writeln('devyni'); if x=10 then writeln('desimt'); if x=11 then writeln('vienuolika'); if x=12 then writeln('dvylika'); if x=13 then writeln('trylika'); if x=14 then writeln('keturiolika'); if x=15 then writeln('penkiolika'); if x=16 then writeln('sesiolika'); if x=17 then writeln('septyniolika'); if x=18 then writeln('astuoniolika'); if x=19 then writeln('devyniolika'); if x=20 then writeln('dvidesimt'); if x=30 then writeln('trisdesimt'); if x=40 then writeln('keturiasdesimt'); if x=50 then writeln('penkiasdesimt'); if x=60 then writeln('sesiasdesimt'); if x=70 then writeln('septyniasdesimt'); if x=40 then writeln('keturiasdesimt'); if x=80 then writeln('keturiasdesimt'); if x=90 then writeln('devyniasdesimt'); if x=100 then writeln('simtas'); if x=200 then writeln('du simtai'); if x=300 then writeln('trys simtai'); if x=400 then writeln('keturi simtai'); if x=500 then writeln('penki simtai'); if x=600 then writeln('sesi simtai'); if x=700 then writeln('septyni simtai'); if x=800 then writeln('astuoni simtai'); if x=900 then writeln('devyni simtai'); if x=1000 then writeln('tukstantis'); if x=2000 then writeln('du tukstanciai'); if x=3000 then writeln('trys tukstanciai'); if x=4000 then writeln('keturi tukstanciai'); if x=5000 then writeln('penki tukstanciai'); if x=6000 then writeln('sesi tukstanciai'); if x=7000 then writeln('septyni tukstanciai'); if x=8000 then writeln('astuoni tukstanciai'); if x=9000 then writeln('devyni tukstanciai'); if x=10000 then writeln('desint tukstanciu'); if x=20000 then writeln('dvidesint tukstanciu'); if x=30000 then writeln('trisdesint tukstanciu'); if x=40000 then writeln('keturiasdesint tukstanciu'); if x=50000 then writeln('penkiasdesint tukstanciu'); if x=60000 then writeln('sesiasdesint tukstanciu'); if x=70000 then writeln('septyniasdesint tukstanciu'); if x=80000 then writeln('astuoniasdesint tukstanciu'); if x=90000 then writeln('devyniasdesint tukstanciu'); if x=100000 then writeln('simtas tukstanciu'); if x=200000 then writeln('du simtai tukstanciu'); if x=300000 then writeln('trys simtai tukstanciu'); if x=400000 then writeln('keturi simtai tukstanciu'); if x=500000 then writeln('penki simtai tukstanciu'); if x=600000 then writeln('sesi simtai tukstanciu'); if x=700000 then writeln('septyni simtai tukstanciu'); if x=800000 then writeln('astuoni simtai tukstanciu'); if x=900000 then writeln('devyni simtai tukstanciu'); if x=1000000 then writeln('milijonas'); end; begin WriteLn('Irasykite skaiciu'); readln(x); ClrScr; Writeln('Skaicius parasytas zodziu: ',x); sk; Readln; end.
Ka daryti kad nereiketu tiek daug rasyti?
Buciau dekingas jei padetumet :roll:

Lin3R
Posts: 765
Joined: Tue Jul 18, 2006 8:23 pm
Location: Kaunas

Re: Pascal - programavimo kalba

Postby Lin3R » Fri Nov 02, 2012 10:41 pm

OMG :O na beveik pusę jau padarei, tęsk toliau ;) :D kantrybės tikiuos užteks :D

O jei rimtai tai aš bandyčiau susidaryti žodyną ar masyvą ar dar ką nors. Ir jame prisiskirti reikšmes pvz.: MAS[1]="vienas"; MAS[2]="du"; ir t.t. O paskui su ciklu ar kaip nors kitaip išskaidyti duotą skaičių į skaitmenis (tarkim skaičius 723) ir tada imti kiekvieną skaitmenį ir su tuo turimu masyvu daryti.. pvz. imam nuo galo skaičius - 3-trys, paskui 2 - dvidešimt, 7 - septyni šimtai. Ir taip tuos žodžius sudėti į masyvą, o atspausdinti atvirkštine tvarka (septyni šimtai dvidešimt trys). Dar LT kalboj yra taisyklės kaip keičiasi žodžių galūnės pagal skaitmenis, tai pagal jas gali susipaprastinti manau kaip nors užduotį ;) Aš taip galvočiau rašyti programą, bet nebandžiau, todėl negarantuoju kad veiks. Sėkmės ;)
Viskas ką pasakiau gali būti netiesa ;)

henris125
Posts: 2
Joined: Fri Nov 02, 2012 2:30 pm

Re: Pascal - programavimo kalba

Postby henris125 » Sat Nov 03, 2012 3:04 pm

Aciu už patarima :P , tik gaila kad dar nemoku su masyvu dirbti :| , teks pasidometi.

linoleumas
Posts: 3
Joined: Sat Nov 03, 2012 5:16 pm

Re: Pascal - programavimo kalba

Postby linoleumas » Sat Nov 03, 2012 5:20 pm

Sveiki!
Ir as susiduriu su pascal'io problemomis, kai neseniai tik pradejau ji pazinti(padekit, pls ;/ ):
1.Parasyti programa, kuri atspausdintu visus keturzenklius palindromus.(su ciklu FOR)
2.Duota naturaliuju skaiciu seka. Sekos pabaigos pozymis 0. Parasykite programa, kuri suskaiciuotu keliu sekos nariu paskutinis skaitmuo yra nulis.(su ciklu WHILE turetu buti)

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

Re: Pascal - programavimo kalba

Postby virusass » Mon Nov 05, 2012 3:19 pm

Parašyti programą žinoma lengva, bet reikia kad suprastum :D Gerai išsianalizuok:

1.

Code: Select all

program numeris_1; var i : integer; // ciklo kintamasis begin writeln('Visi keturzenkliai palindromai: '); for i := 1000 to 9999 do // visi keturženkliai skaičiai(manau neigiamų spauzdinti nereikia :D) if (i mod 10 = i div 1000) AND (i mod 100 div 10 = i div 100 mod 10) // Žr. žemiau then writeln(i); end. { Pagal apibrėžimą palindromai, tai yra skaičiai kuriuos rašant iš kitos pusės gaunamas tas pats skaičius. Taigi, mums reikia palyginti ar apsukus skaičius nepasikeis. Tam reikia patikrinti ar pirmasis skaitmuo yra lygus su ketvirtuoju(t.y. apsukto skaičiaus pirmuoju) ir ar antrasis lygus trečiąjam. Žinoma reikia rasti atskirus skaitmenis, o tą padaryti galima įvairiai. Paskutinį skaitmenį žinoma lengviausia rasti paėmus skaičias liekaną iš 10, o pirmąjį randant dalmenį iš 1000. Ieškoti antrojo ir trečiojo skaitmens galima ir kitaip nei pavyzdyje. }
2.

Code: Select all

program numeris_2; var kiek, sk : integer; // Ciklo kintamasis(įvestas skaičius) begin Writeln('Veskite sekos elementus'); kiek := 0; // Kolkas nežinome nei vieno skaičiaus, kuris baigiasi nuliu Readln(sk); // Kadangi pradinė sk reikšmė 0, turime perskaityti pirmąjį elementą, kad suktusi ciklas while (sk <> 0) do begin if sk mod 10 = 0 then kiek := kiek + 1; readLn(sk); end; writeln('Rasta ',kiek,' skaičių'); end.
Shiz - šprotai irgi žuvis

linoleumas
Posts: 3
Joined: Sat Nov 03, 2012 5:16 pm

Re: Pascal - programavimo kalba

Postby linoleumas » Mon Nov 05, 2012 4:52 pm

Visu pirma, saunuoliai zmones, kas padeda.
Taigi va kaip su tuo antru uzdavinuku:) Ten reikia mod rasyti, o as vietoj mod rasiau div 10, tai todel ir nesigavo.

naturalusis
Posts: 2
Joined: Mon Nov 05, 2012 7:00 pm

Re: Pascal - programavimo kalba

Postby naturalusis » Mon Nov 05, 2012 7:09 pm

Heelp :cry: :cry: :cry:
1.Duotas naturalusis skaicius. Parasykite programa, kuri ciklu while atspausdintu to skaiciaus skaitmenu kvadratus.
2.duotas naturalusis skaicius n. Parasykite programa,kuri ciklu for apskaiciuotu a)S=1+3+5...+n ;b) S=5*10*15+10*15*20...+n*(n+5)(n+10)
3.Parasyti programa, kuri patikrintu ciklu for ar duotas skaicius yra tobulasis. Jis yra lygus visu savo dalikliu,mazesniu uz ji pati,sumai. pvz:.28=2+2+4+7+14

naturalusis
Posts: 2
Joined: Mon Nov 05, 2012 7:00 pm

Re: Pascal - programavimo kalba

Postby naturalusis » Mon Nov 05, 2012 7:30 pm

Ir dar priedo, ar galit kas nors man padet istaisyt,surast klaida, kur padariau siose programikese:
1.Buvo tokia uzduotis, kad duoti trys realieji skaiciai x,y,z,reiskiantys atkarpu ilgius.parasykit programa,kuri nustatytu ar is tokio ilgio atkarpu galima sudaryti trikampi. jei galima ir jei jis yra statusis, reikia apskaiciuoti to trikampio plota(s=a*b/2 ,a ir b statiniai),jei nera statusis-reikia atspausdint reikiama pranesima. va taip dariau ir nzn,kur cia negerai:

program trikampis;
var x, y, z: real;
s, a, b : longint;

begin
read(z, y, x);
read(a, b);
s:=1;
if (z=y) and ( z=x) and (x = y) then writeln ('trikampi sudaryti galima');

if (x*x+y*y= z*z) or (y*y+z*z=x*x) or (x*x+z*z=y*y) then

begin
s :=a*b/2;
writeln('trikampis yra statusis ir jo plotas:',s);
end
else
if (z+y<=x) or (x+z<=y) or (x+y<=z) then

writeln('trikampis nera status');

end.

2.Atrodo paprasta programa,o man nesikompiliuoja:
Duoti 6 sveikieji skaiciai a,b,c,d,e,f. Jei a+b+c=d+e+f, apskaiciuokite siu skaiciu kvadratu suma, jei a+b+c<>d+e+f rasti siu skaiciu aritmetini visurki ir sandauga

program Bevarde29;
var a,b,c,d,e,f : integer;
kv,vid,san: longint;
begin
kv:=0; vid:=0; san:= 1;
writeln('iveskit skaicius');
read(a,b,c,d,e,f);
if (a+b+c)=(d+e+f) then
begin
kv:=(a*a+b*b+c*c+d*d+e*e+f*f);
writeln('kvsuma:', kv);
end;
else if (a+b+c)<>(d+e+f) then
begin
vid:=a+b+c+d+e+f/6;
san:= (a*b*c*d*e*f);
writeln('vid=',vid, 'san=', san);

end ;


end.

Kamane204
Posts: 20
Joined: Sat Nov 26, 2011 12:35 pm

Re: Pascal - programavimo kalba

Postby Kamane204 » Sun Nov 25, 2012 3:04 pm

Padekit.
As sukuriu programa ir ja issaugau. Po to atidarau gaunu atsakyma ir gavus atsakyma ji labai greitai uzsidaro. Gal galite pasakyti kas blogai? :cry:

Lin3R
Posts: 765
Joined: Tue Jul 18, 2006 8:23 pm
Location: Kaunas

Re: Pascal - programavimo kalba

Postby Lin3R » Mon Nov 26, 2012 8:48 pm

Padekit.
As sukuriu programa ir ja issaugau. Po to atidarau gaunu atsakyma ir gavus atsakyma ji labai greitai uzsidaro. Gal galite pasakyti kas blogai? :cry:
Programos gale parašyk Tuščią ReadLn ;)
Viskas ką pasakiau gali būti netiesa ;)


Return to “Programuotojų kampas”

Who is online

Users browsing this forum: No registered users and 15 guests