Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU-Pascal.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
707 Кб
Скачать
☆

Практические задания

1. Изучить и запустить программу, определяющую, попало ли введенное пользователем число х в интервал [a, b].

Program Interval;

Var a,b,x: real;

Begin

a:=–5; b:=5;

Write(’x=’); Readln(x);

If (x>=a) and (x<=b) then

writeln(’x принадлежит [a,b]’)

else writeln(’x не принадлежит [a,b]’);

Readln

E nd.

2. Составить программу, определяющую, попала ли точка с координатами (x, y) внутрь заштрихованной области.

3. С клавиатуры вводятся три целых числа a, b, c. Изучить и запустить программу, которая выводит их на экран в порядке возрастания (использовать наименьшее количество условных операторов).

Program ThreeNumbers;

Var a,b,c,X: integer;

Begin

Write(’a=’); Readln(a);

Write(’b=’); Readln(b);

Write(’c=’); Readln(c);

{Упорядочим сначала два числа a, b – должно быть а < b}

If a>b then begin x:=a; a:=b; b:=x end;

{a и b упорядочены, теперь может быть c < a, c > b или a < c < b}

If c<a then Writeln(c,’ ’,a,’ ’,b)

else If c>b then Writeln(a,’ ’,b,’ ’,c)

else Writeln(a,’ ’,c,’ ’,b);

Readln

End.

4. Изучить и запустить программу, которая вычисляет сумму, разность, произведение или частное двух чисел в зависимости от знака операции +, –, *, / (т.е. простейший калькулятор). Добавить в программу операцию возведения x в степень y.

Program Calc;

Var X,y,r:real;

c:char;

Begin

write('Операнд 1: '); readln(x);

write('Операция : '); readln(c);

write('Операнд 2: '); readln(y);

Case c of

'+': r:=x+y;

'-': r:=x-y;

'*': r:=x*y;

'/': If y<>0 then r:=x/y

else

begin writeln('Деление на 0');exit end;

else

begin writeln('Неверная операция');exit end;

end;

writeln(x:6:3,' ',c,' ',y:6:3,' = ', r:9:6);

readln

End.

Задания для самостоятельной работы

1. Составить программу, определяющую, попала ли точка с координатами (x, y) внутрь заштрихованной области.

а) б)

в) г)

2. Составить программу, которая преобразует введенное с клавиатуры целое число от 0 до 15 в шестнадцатеричную систему и выводит результат на экран.

3. Используя оператор варианта, составить программу вычисления площадей геометрических фигур – круга, квадрата, прямоугольника, прямоугольного треугольника, произвольного треугольника.

4. Составить программу, определяющую, можно ли построить треугольник со сторонами a, b, c, а также его форму – равносторонний, равнобедренный или разносторонний; прямоугольный, остроугольный или тупоугольный.

5. Составить программу вычисления действительных корней квадратного уравнения ax2 + bx + c = 0.

6. На клавиатуре вслепую нажимается клавиша. Составить программу, определяющую тип введенного символа – цифра, прописная буква, строчная буква, спецсимвол (использовать оператор варианта).

Лабораторная работа №3 Программы циклической структуры

В Турбо Паскале имеется три оператора цикла:

1) Оператор цикла с параметром For … do. Оператор безусловного цикла имеет следующую структуру:

For i:=N1 to N2 do < тело цикла >;

где i – параметр цикла, который должен быть дискретного типа (целого, символьного и т.д.); N1 – начальное значение параметра цикла; N2 – конечное значение параметра цикла.

Безусловный цикл выполняется заданное число раз. Чтобы прервать выполнение досрочно, необходимо увеличить i до конечного значения (i:=N2), либо использовать процедуру Break, которая прерывает выполнение циклов. Процедура Continue начинает новую итерацию цикла, даже если предыдущая не была завершена.

При программировании может быть использован другой вид оператора For, в котором происходит уменьшение значения переменной:

For i:=N2 downto N1 do < тело цикла >;

2) Оператор цикла с постусловием Repeat … Until. В этом операторе проверка условия выхода из цикла осуществляется после каждого выполнения тела цикла, поэтому тело цикла обязательно выполнится хотя бы один раз:

Repeat

< тело цикла >

Until < условие >;

Цикл выполняется до тех пор, пока условие не станет истинным. Например, при задании длины массива проверка может осуществляться следующим образом:

Repeat

Write(’Введите длину массива N (N<10): ’);

ReadLn(N)

Until (N>0) AND (N<10);

Цикл выполняется до тех пор, пока пользователь не введет положительное число, меньшее 10.

Здесь в теле цикла можно использовать несколько операторов, не заключая их в операторные скобки begin … end.

3) Оператор цикла с предусловием While … do. В этом цикле проверка условия проводится до начала выполнения тела цикла:

While < условие > do < тело цикла >;

Цикл выполняется, пока условие истинно. Как только условие становится ложным, выполнение цикла завершается. Если условие ложно с самого начала, тело цикла не выполнится ни разу. Например, та же проверка вводимой длины массива может быть задана так:

N:=0;

While (N<=0) OR (N>=10) do

begin

Write(’Введите длину массива N: ’);

ReadLn(N)

END;

Обратите внимание, что до первого входа в цикл переменной N уже должно быть присвоено какое-либо значение!

Процедуры Break и Continue могут использоваться в условных циклах так же, как и в цикле For.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]