Меншіктеу, мәліметтерді енгізу, шығару операторлары. Сызықтық программа
Паскаль тіліндегі меншіктеу операторының жалпы түрі:
айнымалы: = өрнек;
Мысал: x:=0.5;
y:=a+b;
D:=b*b-4*a*c;
p:=(a+b+c)/2;
Енгізу операторының жазылу үлгісі:
Read (айнымалылар тізімі);
(read-оқу)
Мысал: read(a,b,c);
Енгізілетін мәндер бос орын арқылы теріледі. Read операторының соңына ln жалғауы қосып жазылуы мүмкін: readln (readline-жолды оқу). Бұл жағдайда курсор келесі жолдың басына көшіріледі де, мәліметтер бірінің астына бірі әрбір жаңа жолға енгізіледі.
Мысал: readln(a); readln(b); readln(c);
Мәндерді экранға шығару үшін Паскаль тілінде төмендегі оператор қолданылады:
Write (параметрлер тізімі);
(write-жазу)
writeln болып жазылса (writeline –жолды жазу) курсор жаңа жолға көшіріліп, мәліметтер бірінің астына бірі шығады.
Мысал: 1) Write (‘x- ті енгіз=?’);
read (x);
2) M:=10; N:=25;
Writeln (M);
Writeln (N);
Write(x:n:m) –нақты типті х айнымалысының мәнін экранға көрсетілген үлгіде шығару.
Мұндағы n- экранға шығатын барлық символ саны.
m- бөлшек бөліктің цифрлар саны (0≤m≤n)
Меншіктеу, енгізу, шығару операторларын қолданып құрылған сызықтық программалар қарастырайық.
Мысал1. Үш қабырғасы берілген үшбұрыштың ауданын табу программасын құрыңдар.
Program Geron;
Var a,b,c: integer;
P,S:real;
begin
Write (‘Үшбұрыш қабырғаларын енгіз ’);
read (a,b,c);
p:=(a+b+c)/2;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln (‘Үшбұрыш ауданы =’, S);
end.
Мысал2. Радиусы 5,2-ге тең шеңбердің ұзындығын және дөңгелектің ауданын табу программасын құрыңдар.
Program Audan;
Const r=5.2;
Var L,S:real;
begin
L:=2*pi*r;
S:=pi*sqr(r);
Writeln (‘Дөңгелек ауданы =’, S:4:2);
Writeln (‘Шеңбер ұзындығы =’, L:5:2)
end.
Программаны оқуға жеңіл, түсінікті болу үшін күрделі программаның әр жеріне түсініктемелер қоюға болады. Олар {} немесе (* *) қосарлы жақшаға алынады.
Мысалы: Аудан есептеу
(* Герон формуласы*)
Мысал3. Қабырғасы а-ға тең кубтың көлемін есептейтін программа құрыңдар.
Program Pl1;
Var a,V: integer; a-кубтың қабырғасы, V-көлемі
begin
read(a); қабырғаны енгізу
V:=exp(3*ln(a)); (* куб көлемі V=a^3 *)
Writeln (‘V=’, V);
end.
Мысал4. Екі қабырғасы мен арасындағы бұрышы берілген үшбұрыштың үшінші қабырғасын және ауданын табу программасын құрыңдар.
Program Audan;
Var a,b,x: integer;
c, S:real;
begin
Write (‘Үшбұрыш қабырғаларын және бұрышты енгіз ’);
read (a,b,x);
c:=sqr(a)+sqr(b)-2*a*b*cos(x*pi/180);
S:=1/2*a*b*sin(pi*x/180);
Writeln (‘Үшбұрыш ауданы =’, S,’үшінші қабырғасы=’, с);
end.
Мысал5. Берілген үш таңбалы бүтін санның цифрларының қосындысын табыңдар.
Program Summa;
Var x,a,b,c,d,S:integer;
begin
Write (‘Үш таңбалы бүтін сан енгіз ’); read (x);
a:=x div 100; b:=x mod 100;
c:=b div 10; d:=b mod 10;
S:=a+c+d;
Writeln (‘S=’, S);
end.
Шартты оператор
Шартты оператор қандай да бір шартты тексеріп, оның нәтижесіне байланысты белгілі бір әрекетті орындауды жүзеге асырады.
Оның жазылу үлгісі:
1) IF шарт THEN 1-оператор ELSE 2-оператор;
2) IF шарт THEN оператор;
1-жағдай шартты оператордың жазылуының толық түрі, 2-жағдай қысқа түрі деп аталады.
Мысал 6. Екі санның үлкенін табыңдар.
Program m1;
Var a,b, max: integer;
begin
Write (‘2 санды енгіз’); read (a,b);
If a>b then max:=a else max:=b;
Writeln (‘Жауап:’, max);
end.
Кейде then, else қызметші сөздерінен кейін бір емес, бірнеше оператор енгізілуі мүмкін. Паскальда осы сияқты 1 серияда орындалатын операторлар тізбегі бір оператор түрінде қарастырылады да, оны құрама оператор деп атайды. Құрама оператор begin, end операторлық жақшаға алынады.
Мысал 7. Квадрат теңдеудің түбірін табыңдар.
Program m2;
Var a,b,c,D:integer;
x1,x2: real;
begin
Write (‘кв.теңдеу коэффициенттерін енгіз:’); readln (a,b,c);
D:=b*b-4*a*c; дискриминантты есептеу
If d<0 then writeln (‘түбірі жоқ ’)
else begin x1:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);
Writeln (‘x1=’, x1, ‘x2=’, x2); end;
end.
Мысал 8. Екі бүтін санның үлкені мен кішісін табыңдар.
Var a,b, max, min: integer;
begin
read (a,b);
if a>b then begin max:=a; min:=b end
else begin max:=b; min:=a end;
Writeln (‘max=’, max, ‘min=’, min)
end.
Егер шарттың саны біреуден артық болса, онда ол құрама шарт деп аталады. Құрама шарттар арасына and (және), or (немесе), not (емес) қызметші сөздері жазылады және жәй шарттар жақшаға ( ) алынып жазылады.
0
Мысал9. Жазықтықта берілген нүкте центрі координалар басындағы, ішкі радиусы 2-ге, сыртқы радиусы 3-ке тең сақинаға тиісті бола ма?
Program m4;
const r1 2; r2 3;
var x,y:real;
begin
Write ('нүкте координасын енгіз ); read(х, у);
if (х*х+у*у 4) and (х*х+у*у 9) then
Writeln ( нүкте сақинаға тиісті ) else writeln ( тиісті емес )
end.
Мысал10. Функцияны есептеу прогрммасын жазыңдар:
y if a>b then begin max:=a; min:=b end
var x,у: real;
begin
read (х);
if х 1 then y: sqrt (х)
else if x 0 then y: sin(х)/cos(х)
else y: cos(х);
writeln (y)
end.
Мысал11. Екі бүтін санның үлкені мен кішісін табыңдар.
Var a,b, max, min: integer;
begin
read (a,b);
if a>b then begin max:=a; min:=b end
else begin max:=b; min:=a end;
Writeln (‘max=’, max, ‘min=’, min)
end.
Мысал12. Жазықтықта берілген нүкте центрі (2,3) нүктесіндегі, ішкі радиусы 1-ге, сыртқы радиусы 2-ке тең сақинаға тиісті бола ма?
Program m3;
const r11; r22;
var x,y:real;
begin
Write ('нүкте координаларын енгіз); read(х, у);
if (sqr(х-2)+sqr(у-3) sqr(r1)) and (sqr(х-2)+sqr(у-3) sqr(r2)) then
Writeln (нүкте сақинаға тиісті) else writeln (тиісті емес)
end.
0>
Достарыңызбен бөлісу: |