|
With date born do
Readln(yy, mm, dd);
Readln(j);
if j=1 then educ:=pay else educ:=state;
Readln(usp);
writeln(‘введіть стать: 0-жін; 1-чол’);
Readln(j);
if j=1 then pol:=male else pol:=female;
Case pol of
male: begin
writeln(‘0-непридатний, 1-придатний’);
Readln(j);
if j=1 then army:=yes else army:=no;
writeln(‘зріст’);
Readln(hight);
End;
female: begin
writeln(‘волосся: 0-чорне, 1-шатенка, 2-блондинка’);
Readln(j);
Case j of
0: hair:=black;
1: hair:=shaten;
2: hair:=blond;
End;
writeln(‘очі: 0-чорні, 1-зелені, 2-сині, 3-карі’);
Readln(j);
Case j of
0: eyes:=black;
1: eyes:=green;
2: eyes:=blue;
3: eyes:=brown;
End;
writeln(‘косметика’);
Readln(cosmetics);
End;
End;
End;
End.
Пошук потенційних танкістів.
For i:=1 to n do
With a[i] do
If (pol=male) and (date born.yy<1985) and (date born.mm<11) and (usp<3) and (army=yes) and (hight<=175) then writeln (name, ‘танкіст’);
End.
ТЕМА: Програми обробки структурованих типів.
1. Прикладизадач з масивами
a. Знайти середнє арифметичне додатніх і від’ємних елементів масиву цілих чисел.
Var
a: array[1..20] of integer;
S1, S2, i, i1, i2: integer;
x1,x2: real;
Begin
for i:=1 to 20 do
Begin
write (‘?’); {ввід масиву}
readln(a[i])
End;
for i:=1 to 20 do
Begin
if a[i]>0 then begin S1:=S1+a[i]; i1:=i1+1 end;
if a[i]<0 then begin S2:=S2+a[i]; i2:=i2+1 end;
End;
if i1>0 then begin x1:=S1/i1; writeln(x1)
else writeln(‘+немає’);
if i2>0 then begin x2:=S2/i2; writeln(x2) else writeln (‘ – немає’);
End
Показаний приклад показують, що вибір індекса масиву залежить від типу оброблюваних даних. Деколи зручніше організувати індекси не цілочисельні, а за допомогою символів чи якогось перелічувального типу. Такі масиви в якості своїх значень можуть зберігати в кількості елементів такого символьного або перелічувального типу.
При обробці багатовимірних масивів використовуються вкладені оператори циклу. При цьому слід пам’ятати: самі зовнішні цикли відповідають самому першому індексу, а внутрішні останні.
Перетинання тіл циклів не призводить до синтаксичної помилки, а лише дасть неправильний результат.
2. Стандартніпідпрограмиобробкирядків
Pascal має набір стандартних підпрограм обробки рядків: функції, процедури.
Функції на відміну процедур мають результат деякого типу і можуть бути використані в якості компонентів виразу.
Процедури являють собою дію. Вони будуть окремими командами програми. Результат обертатиметься у вигляді параметрів.
а) Функціявизначеннядовжини
Параметром (аргументом) буде рядок символів, результатом – ціле число типу byte.
LENGTH(‘<рядок>’)=<довжина рядка>;
Вона не може змінювати довжину рядка.
б) Функціявиділеннячастинирядка
якщо з деякого рядка треба виділити підрядок, використовується функція copy.
COPY (<ідентифікатор рядка>,<позиція, з якої відбувається крпіювання>,<довжина потрібного фрагменту>);
Дата добавления: 2015-09-11; просмотров: 99 | Поможем написать вашу работу | Нарушение авторских прав |