Pascal uždaviniai

Žinutė
Autorius
Vartotojo avataras
Dreigons
rašytojas profesionalas
rašytojas profesionalas
Pranešimai:364
Užsiregistravo:2006 01 18 13:11
Miestas:Kursenai
Pascal uždaviniai

#1 Standartinė Dreigons » 2006 03 26 09:52

Sveiki.
Man reikia išpresti tokį uždavinį:
Parašytos trys funkcijos masyvo mažiausiojo elemento numeriui rasti. Nustatykite, ar jos ekvivalenčios. Atsakymą pagrįskite.

a) function a (m: array[k..n: integer] of real): integer;
var maž: real; { mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[k]; nr := k;
for i := k + 1 to n do
if maž > m
then begin
maž := m;
nr := i
end;
a := nr
end;


b) function b (m: array[k..n: integer] of real): integer;
var maž: real; { mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[n]; nr := n;
for i := n - 1 downto k do
if maž > m
then begin
maž := m;
nr := i
end;
b := nr
end;


c) function c (m: array[k..n: integer] of real): integer;
var maž: real; { mažiausias elementas }
nr, { ir jo numeris }
i: integer;
begin
maž := m[k]; nr := k;
for i := k + 1 to n do
if maž >= m
then begin
maž := m;
nr := i
end;
c := nr
end;

Labai prašau padėkit. :)

Vartotojo avataras
GODhack
profesionalas
profesionalas
Pranešimai:4469
Užsiregistravo:2005 03 18 21:13
Susisiekti:

#2 Standartinė GODhack » 2006 03 26 14:25

Na nezinau kaip kiti mano bet as tavo ND nedarysiu, juo labiau kad cia nieko labai tragisko ar grandiozinio darbo tik reik panaudot kosele galvoj.
Nepatikti blogiems - girtinas dalykas. SENEKA
__________________________________________
progenic.com
library.2ya.com
Paveikslėlis

Vartotojo avataras
Dreigons
rašytojas profesionalas
rašytojas profesionalas
Pranešimai:364
Užsiregistravo:2006 01 18 13:11
Miestas:Kursenai

#3 Standartinė Dreigons » 2006 03 26 16:48

Čia ne ND :)
Jei turėčiau laiko galvočiau, bet dabar labai užimtas esu su kitais uždaviniais. :)

brain5ide
profesionalas
profesionalas
Pranešimai:2030
Užsiregistravo:2004 12 01 19:05

#4 Standartinė brain5ide » 2006 03 26 16:53

Sitai neturetu uzimti daugiau, negu 15 min.

Vartotojo avataras
Dreigons
rašytojas profesionalas
rašytojas profesionalas
Pranešimai:364
Užsiregistravo:2006 01 18 13:11
Miestas:Kursenai

#5 Standartinė Dreigons » 2006 03 26 19:21

As nelabai kertu masyva. :/
Taigi ir prašau jūsų pagalbos. :)

Vartotojo avataras
Dreigons
rašytojas profesionalas
rašytojas profesionalas
Pranešimai:364
Užsiregistravo:2006 01 18 13:11
Miestas:Kursenai

#6 Standartinė Dreigons » 2006 03 26 19:39

Nu noreciau kad nors sitam pagelbetumet. :)
Yra toks uzdavinys:
Senovės japonų kolendoriuje buvo naudojami 60-mečiai ciklai, sudaryti iš 12-mečių
įdėtinių ciklų. Įdėtinius ciklus žymėdavo spalvų pavadinimais: žalia, raudona, geltona, balta ir
juoda. Kiekvieno įdėtinio ciklo metai turėjo gyvūnų pavadinimus: žiurkės, karvės, tigro,
kiškio, drakono, gyvatės, arklio, avies, beždžionės, gaidžio, šuns ir kiaulės. (1984 metai –
žaliosios žiurkės metai – buvo naujo ciklo pradžia.)
Parašykite programą, kuri spausdintų įvestų mūsų eros metų pavadinimą pagal senovės
japonų kalendorių.
As jį išsprendžiau šit kaip:
program metai;
const pm = 1984;
var m, isp, ig : integer;
begin
read (m);
if m > pm
then begin
ig := (m - pm) mod 60 mod 12;
isp := (m - pm) mod 60 div 12 + 1;
end
else begin
isp := (60 - (pm - m) mod 60) div 12 + 1;
ig := (60 - (pm - m) mod 60) mod 12;
end;
if isp = 0 then isp := isp + 1;
if ig = 0 then ig := ig + 1;
writeln (isp : 3, ig : 3);
end.

Tik nemoku idėt masyvą. Įdėkit kas galit. :) Skaičiau apie jį, bet nedaina man. Paprašysių rytoi mokytojaus, kad išaiškintu man. :) O šiaip programa man rods gerai veikia. Labai prašau pagelbėkit. Šituos uždavinius turiu išprest ir pateikt iki šiandienos 24h.

Vartotojo avataras
oxigen
mega dalyvis
mega dalyvis
Pranešimai:803
Užsiregistravo:2006 03 21 15:48
Miestas:Klaipėda
Susisiekti:

#7 Standartinė oxigen » 2006 09 20 20:55

Kadangi šios temos pavadinimas Pascal, tai nusprendžiau parašyti čia, kad nereikėtų kurti naujos temos ir bereikalinga prišiukšlinti forumą. :)

Galbūt kas nors turite kokių nors e-books ar žinote iš kur parsisiųsti apie Pascal, aš renku tokią kaip kolekcija savo mokymuisi, praverstų bet kokia informacija. Tai gali būti Pascal forumaio, tutorial ir panašiai. Tiesą sakant google'inau ir nelabai ką radau. :)

Xgreem
ultra dalyvis
ultra dalyvis
Pranešimai:522
Užsiregistravo:2006 02 25 20:00

#8 Standartinė Xgreem » 2006 09 20 20:58

linux + nessus + nmap + exploit +enter = all doors open

Vartotojo avataras
oxigen
mega dalyvis
mega dalyvis
Pranešimai:803
Užsiregistravo:2006 03 21 15:48
Miestas:Klaipėda
Susisiekti:

#9 Standartinė oxigen » 2006 09 20 21:01

O labai dėkui, kažkaip nepastebėjau :)

Xgreem
ultra dalyvis
ultra dalyvis
Pranešimai:522
Užsiregistravo:2006 02 25 20:00

#10 Standartinė Xgreem » 2006 09 20 21:19

Ner uz ka...:) Paprasyk Dar(k)force jis man keleta dave.
linux + nessus + nmap + exploit +enter = all doors open

Vartotojo avataras
oxigen
mega dalyvis
mega dalyvis
Pranešimai:803
Užsiregistravo:2006 03 21 15:48
Miestas:Klaipėda
Susisiekti:

#11 Standartinė oxigen » 2006 09 20 21:22

Dabar info iki savo gyvenimo galo turiu... Neįsivaizduoju kada ir per kiek metų visą info sugebėsiu perskaityti, bet kaip sakoma reikia džiaugtis, akd išvis kažką turi.

Darkforce, gal prisidėsi prie šios akcijos aš turiu dar labai daug jei kas paprašyk, pažiūrėsiu gal turiu :)

Vartotojo avataras
DF
profesionalas
profesionalas
Pranešimai:2979
Užsiregistravo:2005 08 14 10:54

#12 Standartinė DF » 2006 09 20 21:22

Dabar ash tuschias kaip ir mano PC pagalbos neieshkokit :D
Kai bobu nera - Buna blogai, Bet kai bobu yra - buna dar blogiau..Ishvadas daryk pats.

Pascis
Pranešimai:1
Užsiregistravo:2008 12 09 19:42

Re: Pascal

#13 Standartinė Pascis » 2008 12 10 21:29

Sveiki,
Gal kas galetu padet issprest uzadavini?
Parasykite algoritma, kuris kiekviena duotojo naturaliojo skaiciaus skaitmeni parasytu po du kartus. Pvz, jei duota 1993, tai rezultas turi buti 11999933.

Nesijuokit kad uzdavinys per lengvas... :? be to ji reikia ispresti su ciklu while.
jei nenorit sprest, tai galetumet uzvesti ant teisingo kelio :)

Vartotojo avataras
ch0wn
nuolatinis dalyvis
nuolatinis dalyvis
Pranešimai:23
Užsiregistravo:2008 11 29 13:03

Re: Pascal

#14 Standartinė ch0wn » 2008 12 11 20:15

Pascis rašė:Sveiki,
Gal kas galetu padet issprest uzadavini?
Parasykite algoritma, kuris kiekviena duotojo naturaliojo skaiciaus skaitmeni parasytu po du kartus. Pvz, jei duota 1993, tai rezultas turi buti 11999933.

Nesijuokit kad uzdavinys per lengvas... :? be to ji reikia ispresti su ciklu while.
jei nenorit sprest, tai galetumet uzvesti ant teisingo kelio :)
Nueini čia - http://www.ipc.lt/21z/mokymas/mokymopr/ ... askal3.htm , pasiskaitai apie ciklą while, pažiūri ir išnagrinėji keletą pavyzdžių, o paskui bandai rašyti savo algoritmą. Bandyk rašyti tol kol pavyks... Jei kas išspręs už tave - iš to naudos negausi jokios.

aufliger
Pranešimai:4
Užsiregistravo:2009 01 06 13:26

Re: Pascal uždaviniai

#15 Standartinė aufliger » 2009 01 06 13:39

Sveiki. Po truputi mokausi paskalio is grigo knygos. padariau keleta uzdavinuku, gal galite pasakyti ar teisingai? :)

uzdaviniai:
1.1.1. Programa vidurkis pakeiskite taip, kad ji apskaièiuotu triju skaiciu aritmetini vidurki.
Jis skaicuojamas pagal formule
(a + b + c) / 3.


ats:

program vidurkis;
var a, b, c, vid: real;
begin
read(a, b, c);
vid := (a+b+c)/3;
writeln (vid: 8: 2)
end.

1.1.2. Vietoj daugtaskiu iterpkite tinkamus zodzius:

ats:
Paskalio kalbos sistemos terpėje esančiu redaktoriumi renkami ir taisomi programų tekstai. Paskalio kalbos tranlsiatorius arba kompiliatorius išverčia programos tekstą iš Paskalio kalbos į kompiuterio kalbą.

1.3.1. Ar teisinga sitokia aritmetinio vidurkio skaiciavimo programa?

program vidurkis3;
var a, vid: real;
begin
read(vid);
read(a);
vid := (vid + a)/2;
writeln(vid: 8: 2)
end.

ats: Programa teisinga. Kintamajui vid priskiriame reikšmę, lygiai taip pat, kaip ir kintamajui a. Prieskyros sakinyje bus įvykdytas veiksmas, t.y., bus sudėtos kintamųjų reikšmės ir padalintos iš 2. Atsakymą gausime su dviejais skaičiais po kablelio.

Kà paraðytø programos KasBus1 ir KasBus1, jeigu joms pateiktume tuos paèius
pradinius duomenis: 11 ir 255?

program KasBus1;
var a, b : integer;
begin
read(a);
read(b);
a := b;
b := a;
writeln(a, b: 4)
end.

program KasBus2;
var a, b, t: integer;
begin
read(a);
read(b);
t := a;
a := b;
b := t;
writeln(a, b: 4)
end.

ats:
Programoje KasBus1 bus išspausdintas reultatas - 255 ir 255. Kintamojo a reikšmė (11) yra priskiriama kintamojo b reikšmei (255), o kintamojo b (255) reikšmė yra priskiriama kintamojo a reikšmei, kuri yra taip pat 255 (ji tokia pasidar4 ivykdžius pirmą priskirimo sakinį).
Programoje KasBus2 bus išspausdintas toks pats rezultatas kaip ir programoje - KasBus1. Kintamasis t nieko nereiškia, mat jo nėra paskutiniame sakinyje, todėl reultate išvysime a ir b kintamųjų reikšmes, kurios bus tokios pačios.

1.3.3. Kà paraðys ðitokia programa?

program laipsnis;
var a : integer;
begin
a := 2;
a := a*a;
a := a*a;
a := a*a;
writeln(a)
end.

ats:
Programa parašys atsakymą - 256. Pirmajame priskirimo sakinyje, a kintamajam bus priskirta reikšmė 2, antrajame sakinyje bus atliktas veiksmas (2*2), o atsakymas priskirtas kitame sakinyje, kur vėl bus atliktas veiksmas (4*4). Šio veiksmo atsakymas bus priskirtas paskutiniajam veiksmui (a=16), todėl atlikus daugybos veiksmą (16*16) gausime 256.


kadangi mokausi savarankiskai noreciau suzinoti ar kolkas teisingai mastau ir galvoju? :)

Skelbti atsakymą

Grįžti į

Dabar prisijungę

Vartotojai naršantys šį forumą: 1 ir 0 svečias(ių)