
- •Интегрированная среда borland pascal. Основные теоретические сведения.
- •Лабораторная работа №1 программирование алгоритмов линейной структуры.
- •Основные теоретические сведения.
- •Write ('сообщение' , x1, ...); writeln('сообщение' , x1, ...);
- •Задание.
- •Лабораторная работа № 2 программирование алгоритмов разветвляющейся структуры.
- •Основные теоретические сведения.
- •8) С клавиатуры вводятся координаты точки на плоскости (X, y). Определить, принадлежит ли эта точка заштрихованной области (б):
- •Лабораторная работа № 3 программирование алгоритмов циклической структуры
- •Основные теоретические сведения.
- •Задание.
8) С клавиатуры вводятся координаты точки на плоскости (X, y). Определить, принадлежит ли эта точка заштрихованной области (б):
|
9) С клавиатуры вводятся координаты точки на плоскости (x, y). Определить, принадлежит ли эта точка заштрихованной области (в):
|
|
10) С клавиатуры вводятся стороны треугольника: a, b, c.Если можно построить треугольник с такими длинами сторон, то вычислить его площадь по формуле Герона, иначе – вывести сообщение.
11) С клавиатуры вводятся переменные: a, b, c. Перераспределить переменные таким образом, чтобы a<b<c.
12) Даны координаты двух точек на плоскости (x1,y1)и (x2,y2). Определить, какая из них наиболее удалена от начала координат.
13) Вычислить корни квадратного уравнения по заданным коэффициентам a,b,c. Если действительных корней нет, то вывести сообщение об этом.Переменные a,b,c генерируются случайным образом из диапазона от -10 до 10.
14) Определить вид треугольника (равносторонний, равнобедренный, простой) по заданным сторонам a,b,c. Переменные a,b,c генерируются случайным образом из диапазона от 1 до 20.Если треугольник не существует, то вывести сообщение об этом.
15) Вычислить значение выражения:
min(a3, |6b-1|, sin d)
a, b, d – ввести с клавиатуры
16) Вычислить значение выражения:
max(c2,100d, max(a-1,a))
a, c, d – ввести с клавиатуры
17) Вычислить значение функции y:
x(a2+b2) , если x 1
Y= ln x/(a2+b2) , если 0 < x < 1
(a2+b2)x/|1+a| , если x < 0
18) Составить программу для вычисления значения переменной Z (x, y сгенерировать случаным образом):
max(x, y) при x<0
Z =
min(x, y) при x0
19) Заданы с клавиатуры площади круга R и квадрата S. Составить программу определяющую, поместится ли квадрат в круге (квадрат поместится в круге, если диагональ квадрата меньше или равна диаметру окружности).
20)Даны три целых положительных числа I, J, K. Составить программу, определяющую лежат ли все эти числа в диапазоне от 2 до 10.
Лабораторная работа № 3 программирование алгоритмов циклической структуры
Цель работы: Изучение приемов использования оператора цикла for в языке программирования Pascal.
Основные теоретические сведения.
Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям, но для различных входных данных, то его называют циклическим.
Многократно повторяемые участки вычислений называют циклами.
Если число повторений в цикле заранее известно, то в программах используется параметрический оператор цикла for.
Первый вариант оператора цикла имеет вид:
for параметр_цикла:=нач.знач. to кон.знач. do оператор;
параметр цикла – переменная типа integer или char;
нач.знач. кон.знач. – числа целого типа;
оператор – один простой или составной оператор;
Шаг изменения параметра цикла равен 1 и начальное значение параметра цикла всегда меньше конечного значения: нач.знач<кон.знач
Зная начальное и конечное значение всегда можно определить количество итераций цикла (сколько раз выполнится тело цикла).
К = |кон.знач. - нач.знач.|+1
Оператор цикла выполняется до тех пор, пока значение параметра цикла не превысит конечного значения.
Второй вариант оператора цикла имеет вид:
for параметр_цикла:=нач.знач. downto кон.знач. do оператор;
Шаг изменения параметра цикла равен -1 и начальное значение параметра цикла всегда больше конечного значения, т. е. нач.знач>кон.знач
Б
лок-схема
оператора цикла представлена на рис.
Пример: Среди целых чисел, не превышающих 100 выбрать и напечатать те, которые кратны трем.
Var
i:integer;
begin
/* выбор всех целых чисел от 1 до 100 */
for i:=1 to 100 do
if i mod 3 = 0 /* если остаток от деления числа на 3 равен нулю */
then write (i:4); /*вывод числа, кратного 3 */
end.
Пример: Вычислить сумму площадей N прямоугольных треугольников, если длины оснований одинаковы и равны Х, а длины высот образуют последовательность: 1, 1.5, 2, 2.5, ...
Если в программе необходимо провести некоторые повторные вычисления, однако число повторов заранее неизвестно, то используют оператор цикла с предусловием:
WHILE условие DO оператор ;
Условие – логическое выражение;
Оператор – один простой или составной оператор;
Тело цикла выполняется до тех пор, пока условие истинно. Если условие заведомо ложно, то тело цикла не выполнится ни разу.
Пример:Протабулировать функцию y=2sinx×cos(x-1) и вычислить сумму её значений на отрезке [-2; 3] с шагом h=0,2.
Если в программе вычисляется сумма, то необходимо задавать начальное значение суммы равное нулю.
(*вычисление суммы значений функции *)
var
xn, xk, h, x, y, s : real ;
i : integer ;
begin
xn:=-2; xk:=3; h:=0.2; s:=0 ; x:=xn;
writeln(‘x y’); (*заголовки солбцов абсцисс и ординат*)
while x<=xk do begin
y:=2*sin(x)*cos(x-1) ;
writeln(x:3:1, y:8:2);
s:=s+y ;
x:=x+h ;
end
writeln (‘Сумма=’ , s:6:2 );
end.