fizmati.lv forums

Pilnā versija: Pascal MD
Jūs pašlaik aplūkojat satura saīsināto versiju. Skatīt pilno versiju ar atbilstošu noformējumu.
Sveiki, vai kads varetu man ludzu palidzet - paskaidrot ko nozime VAL funkcija ( ko vispar tas nozime es aptuveni saaprotu, bet tiesi programma kada tai ir nozime) un 'kd' tur kur mainigie un s: string (kada nozime)Sad diezgan gruti man ar to programmesanu iet Crying or Very sad un nervi vairs neizturEmbarassed

PROGRAM TRIJSTURIS;
VAR X,Y,Z,D,KD:INTEGER;
AB,AC,BC,P,E:REAL;
S:STRING[5];
LABEL PAZ1,PAZ2,PAZ3,PAZ4;
BEGIN
PAZ1: WRITE ('IEVADI X VERTIBU ===> ');
READLN (S);
VAL (S,X,KD);
IF (X<1) OR (KD<>0) THEN BEGIN
WRITELN ('TAS NAV NATURALS SKAITLIS');
GOTO PAZ1
END;
PAZ2: WRITE ('IEVADI Y VERTIBU ===> ');
READLN (S);
VAL (S,Y,KD);
IF (Y<1) OR (KD<>0) THEN BEGIN
WRITELN ('TAS NAV NATURALS SKAITLIS');
GOTO PAZ2
END;
omfg. pls. no.

ieskrāpē šo galvā: nelieto GOTO Sad

val (teksts, skaitlis, kļūdas_pozīcija);
val pārvērš no teksta uz skaitli. kļūda (kd mainīgais tev) būs >0, ja kāds no simboliem nebija derīgs kā cipars.
reku angliski izlasi pie Description
http://www.gnu-pascal.de/gpc/Val.html

s : string[5];

nozīmē, ka s mainīgajā būs iespējams saglabāt teksta virkni ar garumu līdz 5 simboli.


EDIT:
Ja tu gribi, kaut ko atkārtot, līdz noteiktam rezultātam, tad lieto While...do vai Repeat...Until.
Kods:
While (a>10) do Begin
dari kaut ko
End;
Kamēr a būs lielāks par 10 viņš ies pa apli un darīs "kaut ko"
Kods:
Repeat
dari kaut ko
Until (a>10);
Kamēr a būs mazāks par 10, viņš ies pa apli. Kad a kļūs lielāks par 10, tad apstāsies.

atšķirība starp tiem abiem ir tāda, ka while ja būs nepatiess no paša sākuma viņš ne reizi neieies ciklā.
repeat izpildīs viszmas 1 reizi un tad tikai pārbaudīs patiesumu vai turpināt.

tavā programmā tas būtu šādi
Kods:
Repeat
  Write ('Ievadi x vertibu ===>');
  Readln (S);
  Val (S, X, KD);
Until (X>0) AND (KD=0);
ies pa apli līdz X>0 un KD būs 0
[quote='dambō bet rōzā' pid='36965' dateline='1286302999']
omfg. pls. no.

ieskrāpē šo galvā: nelieto GOTO Sad

val (teksts, skaitlis, kļūdas_pozīcija);
val pārvērš no teksta uz skaitli. kļūda (kd mainīgais tev) būs >0, ja kāds no simboliem nebija derīgs kā cipars.
reku angliski izlasi pie Description
http://www.gnu-pascal.de/gpc/Val.html

s : string[5];

nozīmē, ka s mainīgajā būs iespējams saglabāt teksta virkni ar garumu līdz 5 simboli.


Aptuveni ir skadrs, liels paldies!!! to GOTO ir no MD noteikumiem, mes to funkciju tagad macamies, t.k. bez tas nevar md nodot. Bet tavu ppadomi es noteikti atceresos , paldies!
vai pareizi saprotu, ka ja es ievadu burtu nevis ciparu , tad val to parvers skaitli? Confused??:
un ko nozime kd<0 ?
nē.

val (s,x,kd);

s = "10"; [strings]
x = 10; [skaitlis]
kd = 0;

dators (Pascal) pats uzreiz nesaprot, ka daži burti (simboli) ir cipari. cilvēki to uztver pašsaprotami.

s = "233a22";
x = "233";
kd = 4; -> kļūda pie ceturtā simbola.
(05.10.2010 20:43 )dambō bet rōzā rakstīja: [ -> ]nē.

val (s,x,kd);

s = "10"; [strings]
x = 10; [skaitlis]
kd = 0;

dators (Pascal) pats uzreiz nesaprot, ka daži burti (simboli) ir cipari. cilvēki to uztver pašsaprotami.

s = "233a22";
x = "233";
kd = 4; -> kļūda pie ceturtā simbola.


Nu tagad viss skaidrs!!! Milzigs paldies!!!


tomer ne viss =(((
kapec x =233 nevis 23322 ? vai pec kludas vertibas nepienem?
saprotu, ka jautajumi varbut stulbi, bet nu tiesam ar programesanu iet gruti =(
Nu lab. Tur laikam sanāca samelot Laughing
Ja s būtu nodefinēts kā integer, tad neko nevajadzētu pārvērst. (tas par to, ka dators uzreiz nesaprot, ka ir skaitlis)

var s : integer;
Begin
readln(s);
End.

un s uzreiz būtu skaitlis un nebūtu nekas jāpārvērš.
(05.10.2010 20:51 )dambō bet rōzā rakstīja: [ -> ]Nu lab. Tur laikam sanāca samelot Laughing
Ja s būtu nodefinēts kā integer, tad neko nevajadzētu pārvērst. (tas par to, ka dators uzreiz nesaprot, ka ir skaitlis)

var s : integer;
Begin
readln(s);
End.

un s uzreiz būtu skaitlis un nebūtu nekas jāpārvērš.

Paldies, aptuveni ir skaidrs kas un ko.
Tas viss vajadzīgs lai programma neuzkārtos, ja kāds naturāla skaitļa vietā mēģina ievadīt kaut ko citu..
rite.
tad nedod līkrocim programmu xd

tas padara val lietošanu saprotamu, bet GoTo lietošanu tik un tā nesaprotu. xD
Atsauces saites