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

Запишем условия попадания точки в область в виде формул. Область можно описать как круг, пересекающийся с треугольником. Точка может попадать либо в круг, либо в треугольник, либо в их общую часть:

Первое условие задает попадание точки в круг, второе – в треугольник. Переменные x и y – вещественного типа. Программа для решения задачи выглядит следующим образом:

 

{***************************************************}

{Программа: SHOT. }

{Цель: определить попадет ли точка }

{в заштрихованную область. }

{Программист: Иванов И.И. }

{Дата выполнения: 10 апреля 2006 г. }

{***************************************************}

ProgramSHOT;

Var X, Y : real;

Begin

Writeln(‘Введите значения x и y’);

Read(X, Y);

Wriyeln(‘X=’, X, ‘Y=’, Y);

If (sqr(x)+sqr(y)<=1) or (x<=0) and (y<=0) and (y>=-x-2)

then writeln(‘Точка попадает в область’)

else writeln(‘Точка не попадает в область’);

End.{SHOT}

Приоритет операций отношения самый низкий, поэтому они заключаются в скобки. Три условия попадания точки в треугольник должны выполняться одновременно, поэтому они объединяются с помощью операции and. Ее приоритет выше, чем or, поэтому дополнительных скобок не требуется.

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

 

Приложение № 3.

Написать программу, которая по номеру месяца выводит время года.

Эта программа не нуждается в дополнительных комментариях:

 

{***************************************************}

{Программа: SEASON. }

{Цель: определение времени года. }

{Программист: Иванов И.И. }

{Дата выполнения: 10 апреля 2006 г. }

{***************************************************}

ProgramSEASON;

Var month : word;

Begin

Writeln(‘Введите номер месяца’);

Read(month);

Wriyeln(‘X=’, X);

Case month of

1, 2, 12 : writeln(‘ Зима ’);

3 . . 5 : writeln(‘ Весна ‘);

6 . . 8 : writeln(‘ Лето ‘);

9 . . 11: writeln(‘ Осень ‘);

else writeln( ‘ Такие месяцы встречаются редко ‘)

end

End.

Приложение № 4.

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

Исходными данными для этой программы являются два вещественных операнда и знак операции, представляющий собой символ. Алгоритм работы программы очевиден: в зависимости от значения введенного знака операции выполнить соответствующее действие над операндами:

 

{***************************************************}

{Программа: CALCULATOR. }

{Программист: Иванов И.И. }

{Дата выполнения: 10 апреля 2006 г. }

{***************************************************}

ProgramCALCULATOR;

Var A, B, RES : real;

OP : char;

Begin

Writeln(‘Введите первый операнд:’);

Read(A);

Writeln(‘Введите второй операнд: ‘);

Read(B);

Writeln(‘Введите операцию: ‘);

Read(OP);

Case OP of

‘ + ’ : RES := A + B;

‘ – ‘ : RES := A – B;

‘ * ‘ : RES := A * B;

‘ / ‘ : RES := A / B;

else begin

writeln( ‘ Недопустимая операция ‘);

exit

end;

writeln(‘ RES= ‘, RES:6:2)

End.

 

Следует обратить внимание на то, что если по какой-либо ветви требуется записать не один, а несколько операторов, они заключаются в блок с помощью операторных скобок begin и end.

СПИСОК ЛИТЕРАТУРЫ

1. Аболрус С. Программирование на Pascal, 3-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2003. – 328 с.

2. Адаменко А.Н. Pascal на примерах из математики. – СПб.: БХВ-Петербург, 2005. – 416 с.

3. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal і Delphi. 3-є вид. – Львів: «Деол», 2002. – 144 с.

4. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. – СПб.: BHV – Санкт-Петербург, 1997. – 240 с.

5. Новиков В.С., Парфилова Н.И., Пылькин А.Н. Алгоритмизация и программирование на Турбо Паскале: Учебное пособие. – М.: Горячая линия – Телеком, 2005. – 438 с.

6. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. – СПб.: Питер, 2003. – 393 с.

7. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Практикум. – СПб.: Питер, 2006. – 317 с.

8. Попов В.Б. Turbo Pascal для школьников. Версия 7.0: Учеб. Пособие. – М.: Финансы и статистика, 1996. – 464 с.

9. Решение задач средствами языка Turbo Pascal 7.0 / А.Н. Моргун – К.: Юниор, 2002. – 216 с.

10. Турбо Паскаль 7.0 / Е.Р.Алексеев и др. – М.: ООО «Издательство АСТ»: Издательство «НТ Пресс», 2004. – 270 с.