Ход выполнения задания. Необходимо составить алгоритм решения поставленной задачи и затем реализовать его с помощью языка Pascal.
Введенные пользователем значения координат сохраним в переменных x, y, расстояние до точки а в переменой a. Эти переменные в общем случае могут принимать любое значение, включая и дробные, поэтому тип переменных – real. Использованные переменные необходимо описать в секции описания переменных. Эта секция начинается со служебного слова var (строка 2 в примере ниже).
Для решения поставленной задачи, необходимо предусмотреть ввод исходных данных (строки 4-7). В строке 8 при помощи условного оператора If проверяется истинность математического утверждения, что точка с введенными пользователем координатами попала в заданный интервал.
Математические рассуждения сводятся к следующему:
1. Известно, что уравнение прямой можно записать в виде y=kx+b.
2. Для прямой аа коэффициент k равен минус единице.
3. Координаты точки, которая на интервале от 0 до а лежит ниже указанной прямой удовлетворяет условию y<=-x+a.
Это уравнение и записано в строке 8 в качестве одного из условий. Это же уравнение с изменениями записано и для других сторон ромба. Очевидно, что точка попадает в заштрихованную область, только если соблюдаются все четыре условия. В условном операторе для проверки соблюдения нескольких условий используется логическое сложение при помощи служебного слова and (и).
В строке 10 после служебного слова then записано действие, которое необходимо выполнить в случае, если логическое выражение суть истина.
В строке 11 после служебного слова else записано действие, которое необходимо выполнить в случае, если логическое выражение суть ложь.
1 |
Program Lab3; |
2 |
Var x,y,a:real; |
3 |
begin |
4 |
writeln('vvedite storonu a'); |
5 |
writeln ('vvedite x,y'); |
6 |
readln (a); |
7 |
readln (x,y); |
8 |
if (y>=x-a)and(y<=x+a)and(y>=-x-a)and(y<=-x+a) |
9 |
then writeln ('tochka legit v rombe') |
10 |
else writeln ('tochka ne legit v rombe'); |
11 |
readln; |
12 |
end. |
Задание 4.
Задание 4 имеет учебной целью закрепление пройденного материала по темам «Линейные алгоритмы», «Ввод-вывод данных», «Стандартные типы переменных и математические операции над ними», «Организация ветвей. Условный оператор».
Условие задания 4. Составить программу вычисления функции
Ход выполнения задания. Необходимо составить алгоритм решения поставленной задачи и затем реализовать его с помощью языка Pascal.
Ход решения задания 4 аналогичен заданию 3. Поэтому ограничимся комментариями в примере программы.
1 |
ProgramLab4; {Заголовок программы с названием} |
2 |
Var{секция описания переменных } |
3 |
x,y,q:integer; ;{описываем переменные целого типа} |
4 |
Begin{начало тела программы} |
{ниже - оператор вывода данных для вывода сообщения-комментария для пользователя} |
|
5 |
writeln ('x:'); |
{ниже - оператор ввода данных, прочитает введенное пользователем значение переменной Х} |
|
6 |
readln (x); |
7 |
writeln ('y:'); |
8 |
readln (y); |
9 |
if (x<0) and (y<0) thenq:=abs(x+y); {условный оператор, проверяет удовлетворение первому условию задания и если оно соблюдается, то выполняется присвоение значения переменной q} |
10 |
if (x>=0) and (y>=0) and (x>=y)then q:=x-y; |
11 |
if (x>=0) and (y>=0) and (x<y) then q:=y-x; |
12 |
writeln ('q=',q); { вывод значения переменной q} |
13 |
readln; |
14 |
end. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.