Практическая
работа 4
Тема:
Запись
математических выражений на языке
Pascal
Цель:
Научиться записывать математические
выражения на языке Pascal.
Теория
Выражение
– это правило вычисления значения. В
выражении участвуют операнды,
объединенные знаками
операций. Операндами
могут быть константы, переменные и
вызовы функций. Операции выполняются
в определенном порядке в соответствии
с приоритетами.
Порядок
выполнения операций изменяется круглыми
скобками.
Правила
записи математических выражений:
-
все
символы пишутся в одну строку; -
нельзя
пропускать знаки действий; два подряд
идущих знака разделяют скобками; -
приоритет:
-
унарные
операции (смена знака), вычисление
значения функции; -
*,
/, div,
mod; -
+,
-;
-
-
целая
и дробная часть числа разделяются
точкой; -
Аргументы
функций записываем в круглых скобках; -
в
тригонометрических функциях углы
записываются в радианах.
Математическая |
Запись |
=3,14159… |
Pi |
cos |
Cos |
sin |
Sin |
tg |
Sin |
ctg |
Cos |
arctg |
Acrtan |
— |
Abs |
Дробная |
Frac |
— |
Int |
Ln |
Ln |
Lg |
0.4*Ln(x) |
Ln(a)/Ln(b) |
|
Генератор |
Random |
Генератор |
Random |
x2 |
Sqr |
|
Sqrt |
ex |
Exp |
|
Exp |
|
Exp(a |
Перевод |
x |
Пример:
Записать
на языке Паскаль выражения:
1);
2)
Для
проверки синтаксиса программы наберите
программу, вычисляющую значение z
и f.
Например,
вычислим сумму и произведение чисел x
и y.
program
a1;{название программы}
var
x,y,z,f:real;{раздел описания переменных}
begin
{начало}
writeln
(‘Vvedite x,y’); {сообщение о том, значения
каких переменных нужно ввести}
readln(x,y);
{ввод значений}
z:=x+y;{вычисление
z}
f:=x*y;{вычисление
f}
writeln(‘z=’,z:4:2,’
‘,’f=’,f:4:2);{вывод значений на экран}
end.
{конец}
Для
x
= 12.355, y
= 2.3 получим z
= 14.66 и f=28.42.
Ввод чисел через пробел и завершить
нажатием клавиши «Enter»
или нажатием клавиши «Enter»
после записи каждого числа.
№ варианта |
Задание |
Задание |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Подсказка
program
a1;{название программы}
var
x,y,z,f:real;{раздел описания переменных, вы
берете переменные из вашего задания}
begin
{начало}
writeln
(‘Vvedite x,y’); {меняете на свои переменные}
readln(x,y);
{перечисляем имена своих переменных}
z:=x+y;{вычисление
z
– записываем свою формулу}
f:=x*y;{вычисление
f
– записываем свою формулу}
writeln(‘z=’,z:4:2,’
‘,’f=’,f:4:2);{вывод значений на экран не
изменяем}
end.
{конец}
Для
запуска
программы
нажимаем клавишу F10,
клавишами движения курсора переходим
на команду меню «RUN»,
нажимаем дважды «Enter».
Для
просмотра
– Alt
+ F5.
Контрольные
вопросы:
1)
Что такое выражение?
2)
Перечислите правила записи математических
выражений.
Практическая
работа 5
Тема:
Составление
линейных программ. Вычисление по формулам
Цель:
Научиться решать линейные задачи,
применяя вычисления по формуле.
Теория
Пример.
Найти решение значения функции
,
еслии,
гдеa=
1, b=2,
c=3.
1.
Математическая модель:
Чтобы
найти z,
нужно выполнить
вычисления в
следующей
последовательности:
-
Ввести
значения a,
b,
c; -
Вычислить
x; -
Вычислить
y; -
Вычислить
z; -
Вывести
значение z
на экран
2.
Алгоритмический язык:
алг
a1
арг
a,
b,
c
(вещ)
рез
x,
y,
z
(вещ)
нач
ввод
a, b, c
вывод
z
кон
-
Блок-
схема.
4.
Программа:
program
a1;
uses
crt; {модуль
работы с экраном}
var
a,b,c,x,y,z: real; {описание
переменных}
begin
writeln(‘Введите
a,b,c’); {сообщение
о том, какие переменные вводить}
readln
(a,b,c);
x:=2*a+3*b+c;
y:=1/x;
z:=sqrt
(abs(y+x));
writeln(‘z=’,z:6:2);
readkey;
{позволяет
просмотреть результат, ждет нажатия
любой клавиши на клавиатуре}
end.
Задание.
Запишите математическую модель, алгоритм
на языке блок-схем, на алгоритмическом
языке и на языке программирования
решение задачи нахождения значения z
, если известны значения a,
b,
c
и зависимости переменных x
и y
.
Вариант
1
,
,
,
гдеa=2,1,
b=0,3,
c=1,02.
Вариант
2
,
,
, где
a=2,6,
b=5,1,
c=0,3.
Вариант
3
, , ,
где a=2,6, b=7,21, c=0,25.
Вариант
4
,
,
, где a=4,3, b=1,2, c=0,4.
Вариант
5
,
,
,
где a=4,03,
b=1,32,
c=0,06.
Вариант
6
, , ,
где a=1,2,
b=3,2,
c=0.
Вариант
7
,
,
,
где a=4,02, b=0,1, c=2,05.
Вариант
8
,
,
,
где a=2,04, b=0,5, c=4.
Вариант
9
,
,
,
где a=5,5, b=0,4, c=3,02.
Вариант
10
,
,
,
где a=0,7, b=2, c=1.
Вариант
11
,
,
,
где a=0,3, b=4,5, c=0,2.
Вариант
12
,
,,
гдеa=2,1,
b=0,6,
c=1.
Вариант
13
,
, ,
где a=0,5,
b=6,
c=0,3.
Вариант
14
,
,
,
где a=1,2,
b=5,1,
c=2.
Вариант
15
,
,
,
где a=2,3,
b=5,3,
c=0,4.
Вариант
16
,
,
,
где a=1,3,
b=5,1,
c=0,3.
Вариант
17
,
,
,
где a=2,4,
b=0,1,
c=2,3.
Вариант
18
,
,
,
где a=1,8,
b=9,1,
c=3.
Вариант
19
,
,
где a=4,2,
b=0,3,
c=1,5.
Вариант
20
,
,
где a=0,5,
b=4,7,
c=0,2.
Вариант
21
,
,
,
где a=4,5,
b=7,
c=3,2.
Вариант
22
,
,
,
где a=0,25,
b=1,7,
c=9.
Вариант
23
,
,
,
где a=0,5,
b=3,2,
c=4,1.
Вариант
24
,
,
,
где a=7,1,
b=0,8,
c=3,2.
Вариант
25
,
,
,
где a=1,1,
b=2,5,
c=3,1.
Вариант
26
,
,
,
где a=5,6,
b=3,7,
c=0,1.
Вариант
27
,
,
,
где a=1,3,
b=4,8,
c=1,2.
Вариант
28
,
,
,
где a=5,6,
b=2,
c=3,2.
Вариант
29
,
,
,
где a=1,2,
b=3,02,
c=0,2.
Вариант
30
,
,
,
где a=0,4,
b=5,1,
c=2.
Вариант
31
,
,
,
где a=2,1,
b=3,5,
c=2,8.
Вариант
32
, ,
,
где a=4,8,
b=0,5,
c=3,2.
Вариант
33
,
, ,
где a=2,4,
b=1,2,
c=3,4.
Вариант
34
, , ,
где a=0,8,
b=0,5,
c=0,4.
Вариант
35
, ,
,
где a=1,2,
b=3,5,
c=1,7.
Контрольные
вопросы: 1) Назовите формат операторов
ввода, вывода и присвоения.
2)Как
записываются математические выражения
на языке Паскаль?
Практическая
работа 6
Тема:
Составление
линейных программ в математических
задачах
Цель:
Изучить
операторы ввода, вывода и присваивания,научиться
создавать, вводить в компьютер, выполнять
программы, реализующие линейные
алгоритмы.
Теория
ЛИНЕЙНЫМИ
АЛГОРИТМАМИ
называются
алгоритмы, в которых все этапы решения
задачи выполняются строго последовательно
н
Program
название;
Var
список
переменных : тип;
Begin
Операторы;
End.
ач
действие
1
действие
2
…
действие
n
кон
Пример:
Определить расстояние на плоскости
между двумя точками с заданными
координатами M1(x1,y1) и M2(x2,y2)
Этапы
решения задачи:
-
Математическая
модель:
расстояние на плоскости между двумя
точками M1(x1,y1) и M2(x2,y2) высчитывается по
формуле
-
Составим
блок-схему
алгоритма
Переведем
блок-схему наязык
Паскаль.
program
a1;
var
x1, x2, y1, y2: integer;
d:real;
begin
write(‘x1=
‘); readln(x1);
write(‘y1= ‘);readln(y1);
write(‘x2= ‘);readln(x2);
write(‘y2=
‘);readln(y2);
d:=Sqrt(Sqr(x2-x1)+Sqr(y2-y1));
writeln(‘d=’,d);
end.
Алгоритмический
язык
алг
а1
арг
x1,x2,y1,y2
(цел)
рез
d
(вещ)
нач
ввод
x1,
x2,
y1,
y2
вывод
d
кон
Индивидуальное
задание
Будем
считать, что решение задач есть (не
рассматривать ветвление). Написать
математическую модель, блок – схему
решения задачи, алгоритм и программу.
Вариант
1
-
Вычислить
длину окружности и площадь круга одного
и того же заданного радиуса R. -
Найти
синус одного из углов треугольника со
сторонами а, b, с.
Вариант
2
1.
Заданы координаты трех вершин треугольника
(х1 , у1,), (х2 , y2), (х3, У3). Найти его периметр.
2.
Даны два действительных числа х и у.
Вычислить их сумму, разность, произведение
и частное.
Вариант
3
-
Написать
программу, которая выводит на экран
первые четыре степени числа . -
Вычислить
периметр и площадь прямоугольного
треугольника по длинам а и b двух катетов.
Вариант
4
1.
Дана длина ребра куба. Найти площадь
грани, площадь полной поверхности и
объем этого куба.
2.
Три сопротивления R1 , R2 , R3 соединены
параллельно. Найдите сопротивление
соединения.
Вариант
5
1.
Дана сторона равностороннего треугольника.
Найти площадь этого треугольника,
его
высоту, радиусы вписанной и описанной
окружностей.
2.
Известна длина окружности. Найти площадь
круга, ограниченного этой окружностью.
Вариант
6
1.
Составить программу для вычисления
пути, пройденного лодкой, если ее скорость
в
стоячей воде V
км/ч, скорость течения реки V1
км/ч, время движения по озеру t1 ч, а
против течения реки — t2 ч.
2.
Найти радиус основания конуса, если
даны высота и объем конуса.
Вариант
7
1.
Найти площадь кольца, внутренний радиус
которого равен r, а внешний — R (R> r).
2.
Треугольник задан величинами своих
углов (в градусах) и радиусом описанной
окружности. Найти стороны треугольника.
Вариант
8
1.Найти
площадь равнобедренной трапеции с
основаниями а, b и углом
при большем основании а.
2.
Вычислить корни квадратного уравнения
ах2+
bх + с = 0 с заданными коэффициентами a, b
и с (предполагается, что а ≠ 0 и что
дискриминант уравнения неотрицателен).
Вариант
9
-
Вычислить
высоты треугольника со сторонами а, b,
с. Высоты можно выразить из формулы:
,
где -
Составить
программу вычисления объема цилиндра
и конуса, которые имеют одинаковую
высоту Н и одинаковый радиус основания
R.
Вариант
10
1.
Дано действительное число х. Не пользуясь
никакими другими арифметическими
операциями, кроме умножения, сложения
и вычитания, вычислить за минимальное
число операций
2х4-3x3
+ 4х2-5х
+6.
2.
Найти сумму членов арифметической
прогрессии, если известны ее первый
член, знаменатель и число членов
прогрессии.
Вариант
11
1.
Составить программу вычисления объема
цилиндра и конуса, которые имеют
одинаковую высоту Н и одинаковый радиус
основания R.
2.
Дано значение х. Получить значения
выражения 2x + 3x2
— 4х3
и 1 + 2х + 3х2
+ 4х3.
Позаботиться об экономии операций.
Вариант
12
1.
Найти площадь треугольника, две стороны
которого равны а и b, а угол между этими
сторонами с.
2.
Дана величина А, выражающая объем
информации в байтах. Перевести А в более
крупные единицы измерения информации.
Вариант
13
1.
Дано значение х. Получить значения
выражения 5x — 2x2
— 6х3
и 1 + 2х + 2х2
+ 6х3.
Позаботиться об экономии операций.
2.
Найти синус угла треугольника, две
стороны которого равны а и b, а площадь
равна S.
Вариант
14
-
Дана
величина А, выражающая объем информации
в битах. Перевести А в байты, в килобайты,
в мегабайты. -
Дано
значение а, не используя никаких функций
и никаких операций, кроме умножения,
получить а8
за три операции.
Вариант
15
1.
Дано значение а, не используя никаких
функций и никаких операций, кроме
умножения, получить а10
за четыре операции.
2.
Найти площадь круга, вписанного в
треугольник с заданными сторонами.
Вариант
16
1.Составить
программу вычисления объема усеченного
конуса, если известны радиусы оснований
R
и r,
высота усеченного конуса h.
2.
Найти радиус вписанной в треугольник
окружности, если даны стороны треугольника.
Вариант
17
1.Три
сопротивления R1, R2, R3 соединены параллельно.
Найти сопротивление соединения.
2.
Вычислить площадь поверхности куба и
его объем по стороне а.
Вариант
18
-
Вычислить
радиус окружности и площадь круга, если
известна длина окружности. -
Известен
синус одного из углов треугольника и
стороны а, b, образующие этот угол. Найти
третью сторону треугольника.
Вариант
19
1.
Заданы координаты трех вершин треугольника
(х1 , у1,), (х2 , y2), (х3, У3). Найти площадь
треугольника.
2.
Даны два действительных числа х и у.
Вычислить значение выражения 3x+4y2-5.
Вариант
20
-
Написать
программу, которая выводит на экран
значение объема куба, если известна
площадь полной поверхности куба. -
Вычислить
площадь прямоугольного треугольника
по длинам катета а и гипотенузы с.
Вариант
21
1.
Дана площадь грани куба. Найти площадь
полной поверхности и объем этого куба.
2.
Три сопротивления R1 , R2 , R3 соединены
параллельно. Найдите сопротивление R3,
если известны сопротивления R1, R2 и общее
сопротивление R.
Вариант
22
1.
Дана площадь равностороннего треугольника.
Найти сторону этого треугольника,
его
высоту, радиусы вписанной и описанной
окружностей.
2.
Найти длину окружности, если известна
площадь круга.
Вариант
23
1.
Три сопротивления R1 , R2 , R3 соединены
последовательно. Найдите сопротивление
R3, если известны сопротивления R1, R2 и
общее сопротивление R.
2.
Дан радиус основания и объем конуса,
найти высоту конуса.
Вариант
24
1.
Найти внутренний радиус кольца R1, если
известны внешний радиус R2 (R2 > R1) и
площадь кольца.
2.
Дана высота и объем конуса, найти радиус
основания конуса.
Вариант
25
1.
Дана равнобедренная трапеция с основаниями
a и b. Найти угол
при большем основании а, если известны
площадь и длины оснований.
2.
Вычислить корни уравнения ах2+
bх = 0 с заданными коэффициентами a и b
(предполагается, что а ≠ 0 и что уравнение
имеет решение).
Вариант
26
-
Вычислить
высоты треугольника со сторонами а, b,
с. Высоты можно выразить из формулы:
,
где -
Составить
программу вычисления объема цилиндра
и конуса, которые имеют одинаковую
высоту Н и одинаковый радиус основания
R.
Вариант
27
-
Дано
действительное число х. Не пользуясь
никакими другими арифметическими
операциями, кроме умножения, сложения
и вычитания, вычислить за минимальное
число операций
2х5 — 3×3 + 2х2 — 3х + 2. -
Найти
n — число членов арифметической прогрессии,
если известны ее первый член – a1,
знаменатель q и сумма n членов прогрессии.
Вариант
28
-
Составить
программу вычисления объема конуса,
если известны объем цилиндра и радиус.
Цилиндр имеет одинаковую высоту Н и
одинаковый радиус основания R с конусом. -
Дано
значение х. Получить значения выражения
4x + 3x2
— 7х3
и 1 + 4х + 3х2
+ 7х3.
Позаботиться об экономии операций.
Вариант
29
1.
Найти площадь треугольника, две стороны
которого равны а и b, а угол между этими
сторонами 300.
2.
Дана величина А, выражающая объем
информации в байтах. Перевести А в
гигабайты и мегабайты.
Вариант
30
1.
Дано значение х. Получить значения
выражения 3x — 8x2
— 9х3
и 1 + 3х + 8х2
+ 9х3.
Позаботиться об экономии операций.
2.
Найти синус угла треугольника, две
стороны которого равны а, b и с.
Вариант
31
-
Дана
величина А, выражающая объем информации
в битах. Перевести А в гигабайты. -
Дано
значение а, не используя никаких функций
и никаких операций, кроме умножения,
получить а7
за четыре операции.
Вариант
32
1.
Дано значение а, не используя никаких
функций и никаких операций, кроме
умножения, получить а12
за четыре операции.
2.
Найти площадь круга, вписанного в квадрат
с заданной стороной.
Вариант
33
1.Составить
программу вычисления объема усеченного
конуса, если известны радиусы оснований
R1
и R2
и объем цилиндра с основанием равным
радиусу R1.
2.
Найти радиус вписанной в треугольник
окружности, если даны стороны треугольника.
Вариант
34
1.
Найти площадь круга, описанного около
квадрата с заданной стороной.
2.
Дано значение х. Получить значения
выражения 5x — 3x2
— 9х3
и 1 + 5х + 3х2
+ 9х3.
Позаботиться об экономии операций.
Вариант
35
1.
Дано значение а, не используя никаких
функций и никаких операций, кроме
умножения, получить а14
за пять операций.
2.
Найти площадь круга, описанного около
правильного треугольника с заданной
стороной.
Формулы
Теорема
косинусов:
Теорема
синусов:
Cокр=2r
Sкруга
=r2
,
где
,
где
,
где r
— радиус вписанной окружности, R
— радиус описанной окружности, p
— полупериметр.
—
для параллельного соединения
R=R1+R2+R3
– для последовательного соединения
Равносторонний
треугольник:
,
,,.
—
скорость
,
,
Контрольные
вопросы:
-
Как
запустить программу на трансляцию и
выполнение? -
Как
записываются операторы начала и конца
программы? -
Из
каких разделов состоит программа на
языке Pascal? -
В
какой последовательности должны быть
записаны разделы программы на языке
Pascal? -
Как
записываются операторы вывода на экран
в Pascal?
Практическая
работа 7
Тема:
Составление линейных программ. Описание
графической области логическими
выражениями
Цель
работы: научиться
использовать логические отношения при
решении математических задач.
Теоретическая
часть
Логические
операции
выполняются над операндами булева типа.
Имеются четыре логические операции:
Not
— отрицание; And
—
логическое умножение (конъюнкция); Оr
— логическое сложение (дизъюнкция).
Кроме этих трех обязательных операций
в Турбо Паскале имеется еще операция
— исключающее
ИЛИ. Ее
знак — служебное слово Хоr.
Это двухместная операция, которая в
результате дает значение истина,
если оба операнда имеют разные логические
значения.
В
Паскале логические значения обозначаются
служебными словами false
(ложь) и true
(истина), а идентификатор логического
типа — boolean.
Кроме величин (констант и переменных)
типа boolean
логические значения false,
true
принимают результаты операций отношения.
Операции
отношения имеют самый низкий приоритет.
Поэтому если операндами логической
операции являются отношения, то их
следует заключать в круглые скобки.
Например, математическому неравенству
1 ≤ х
≤
50
соответствует следующее логическое
выражение: (1<=Х) And
(X<=50)
Логическое
выражение есть
логическая формула, записанная на языке
программирования. Логическое выражение
состоит из логических операндов,
связанных логическими операциями и
круглыми скобками. Результатом
вычисления логического выражения
является булева величина (false
или true).
Пример.
Для
данной области составить программу,
которая печатает true,
если точка с координатами (x,
y)
принадлежит закрашенной области, и
false
– в противном случае.
Решение:
Для
того чтобы решить данную задачу, нужно
описать закрашенную область с помощью
неравенств. Для этого найдем для всех
линий на рисунке уравнения. Будем
считать, что границы области входят в
закрашенную часть.
-
Найдём
уравнение прямой AB.
Точки A(5;
7) и B(-6;
-5) выбираем сами по рисунку. Используем
формулу уравнения прямой, проходящей
через две точки:
.
Получим,
т. е.,
следовательно.
Получаем уравнение:. -
Найдём
уравнение прямой CD.
Точки C(7;
1) и D(-4;
-5) выбираем сами по рисунку. Составим
уравнение:
.
Получаем уравнение. -
Найдем
уравнение окружности по формуле:
,
где (x0;
y0)
– центр окружности, R
– радиус окружности. В нашем случае
центр — (0; 0), радиус равен 5. Получаем
. -
Закрашенная
область находиться ниже прямой AB,
значит, точки области удовлетворяют
условию:
.
Закрашенная область выше прямойCD,
значит, точки области удовлетворяют
условию:
.
Кроме того, искомая область находится
внутри окружности, значит. -
Э
Алгоритм
решения задачи сводится к следующему:-
Вводим
координаты точки (x,
y). -
Проверяем
выполнение системы неравенств. -
В
случае положительного результата
выводим сообщение true,
в противном случае – false.
ти условия должны выполняться
одновременно, т. е. должна выполняться
система неравенств: -
Программа
program
a1;
var
x, y:real; z: boolean;
begin
writeln
(‘Введите
x, y’);
readln
(x,y);
z:=(y<=12/11*x+17/11)
and (y>=6/11*x-31/11) and (sqrt(sqr(x)+sqr(y))<=5);
writeln
(z);
readln
end.
Задание
Для данной
области составить программу, которая
печатает true,
если точка с координатами (x,
y)
принадлежит закрашенной области, и
false
– в противном случае.
Вариант
1 Вариант 2 Вариант 3
Вариант
4 Вариант 5 Вариант 6
Вариант
7 Вариант 8 Вариант 9
Вариант
10 Вариант 11 Вариант 12
Вариант
13 Вариант 14 Вариант 15
Вариант
16 Вариант 17 Вариант 18
Вариант
19 Вариант 20 Вариант 21
Вариант
22 Вариант 23 Вариант 24
Вариант
25 Вариант 26 Вариант 27
Вариант
28 Вариант 29 Вариант 30
Вариант
31 Вариант 32 Вариант 33
Вариант
34
Контрольные
вопросы:
-
Как записать
уравнение окружности и прямой? -
Какие логические
операции применяются в логических
выражениях? -
Какие значения
принимают логические выражения?
Практическая
работа 8
Тема:
Составление разветвляющихся программ.
Вычисление значения функции
Цель
работы:
научиться правильно использовать
условный оператор if, научиться составлять
программы решения задач на разветвляющиеся
алгоритмы.
Общие
сведения
Разветвляющимися
алгоритмами
называются алгоритмы, в которых выбирается
один из нескольких возможных путей
(вариантов) вычислительного процесса.
Каждый подобный путь называется ветвью
алгоритма
П
если
условие
то
серия команд
кв
если
условие
то
серия команд1
иначе
серия команд 2
кв
олная форма ветвления
Сокращенная
форма ветвления
Условный
оператор
IF
условие
THEN
оператор1
ELSE
оператор2;
(если
условие, то
оператор1,
иначе
оператор2)
Если
в качестве оператора должна выполнятся
серия операторов, то они объединяются
в операторные скобки Begin
– End.
Пример
№ 1 Даны
два числа а и в. Найти наибольшее из них
и вывести на экран.
Программа
Program
primer1; {название
программы}
Var
a,
b:
real; {описание
переменных: вещ.}
Begin {начало}
Writeln
(‘Введите
числа А и В’); {вывод текста}
Readln
(a,
b); {ввод
чисел через пробел}
If
a>b
then
writeln
(a) else
if
A=B
then writeln
(‘A=B’) else
writeln
(b); {сравнение
и
вывод
наибольшего}
End. {конец
программы}
Пример
№ 2 Написать
программу для вычисления значений
значение функции
Как составить программу действий и вычислить
В этом уроке Вы познакомитесь с таким понятием как программа вычисления выражения, научитесь ее составлять и выполнять вычисления, следуя ее командам.
Каждое выражение задаёт программу своего вычисления. Она состоит из команд. Но чтобы правильно составить программу, необходимо четко знать три правила, которые определяют порядок выполнения действий при нахождении значений выражений.
Если в выражении нет скобок, и оно содержит действия только одной ступени, то есть только первой ступени: сложение и вычитание или только второй-умножение и деление, то их выполняют по порядку слева направо.
Если выражение содержит действия и первой, и второй ступеней и в нем нет скобок, то сначала выполняют действия второй ступени (то есть умножение и деление), а потом действия первой ступени – сложение и вычитание.
Если в выражении есть скобки, то сначала выполняют действия в скобках, учитывая при этом правила один и два.
Итак, давайте составим программу вычисления данного выражения:
Как видите, в выражении присутствуют скобки и есть действия и первой и второй ступеней. Воспользуемся правилами и начнем вычисление с первых скобок.
Команда 1: Перемножить числа 20 и 17.
Команда 2: Сложить число 300 с результатом команды 1.
Команда 3: Разделить 2052 на 38.
Команда 4: Вычесть из 134 результат команды 3.
Команда 5: Разделить результат команды 2 на результат команды 4.
Эту программу вычислений можно изобразить в виде схемы.
Последовательно выполнив действия, двигаясь по стрелочкам и заполнив пустые клетки, получим в нижней клетке ответ.
Давайте выполним все действия, согласно программе вычислений.
Первое действие: 20 умножить на 17, получится 340.
Второе действие: 300 плюс 340, будет 640.
Третье действие: 2052 разделить на 38, получится 54.
Четвертое действие: 134 минус 54, получится 80.
Пятое действие: 640 разделить на 80, будет 8.
Ответ: значение исходного выражения равно 8.
Таким образом, на этом уроке Вы познакомились с таким понятием как программа вычисления выражения, научились ее составлять и выполнять вычисления, следуя ее командам.
Составить программу и вычислить значение функции
Экран среды программирования PascalABC.NET имеет вид:
Строка меню содержит вкладки Файл, Правка, Вид, программа, Сервис, Модули, Помощь.
Для выбора любого пункта меню можно нажать ALT+первая буква названия пункта меню или воспользоваться мышкой.
Чтобы сохранить написанную программу необходимо выбрать Файл ® Сохранить или нажать F2 и, при сохранении первый раз, записать имя файла и нажать OK.
Чтобы загрузить уже созданную и сохраненную ранее программу необходимо выбрать Файл ® Открыть или нажать F3.
Для выхода из среды программирования ПАСКАЛЬ необходимо выбрать Файл ® Закрытьили нажать Alt+X.
Для запуска написанной программы можно выбрать Run ® RunилинажатьCtrl+F9. Если написанная программа не содержит синтаксических ошибок, то вы увидите работу своей программы, иначе компилятор выведет сообщения о найденных синтаксических ошибках, которые вам необходимо исправить и снова запустить программу.
Простейшая программа на языке Паскаль имеет следующую структуру:
PROGRAMИмя программы; VAR Определение переменных программы; BEGIN Основной блок программы END.
Блок VAR содержит список переменных программы и их типов. Этих блоков может быть несколько, но переменные в них не должны повторятся. Базовыми типами данных в Паскале являются следующие:
1. INTEGER – целые числа.
2. REAL – вещественные числа (числа с дробной частью).
3. CHAR – символьный тип.
4. BOOLEAN – логический тип (данные этого типа могут принимать только одно из двух значений: TRUE – истина или FALSE – ложь).
VARK,I,J:INTEGER;A,B:REAL;
Основной блок программы всегда начинается словом BEGIN, а заканчивается END и на конце «точка». После «точки» компилятор уже ничего не принимает.
Компилятор Турбо Паскаля накладывает некоторые ограничения на текст программы. Так, длина строки не может превысить 126 символов. В конце каждой строки в основном блоке программы и в процедурах и функциях должны стоять «;».
Ни одна программа не обходится без инструкций присваивания. В результате выполнения этой инструкции переменная получает некоторое значение. Этот оператор в общем виде выглядит как
Составной символ «:=» читается как «становится равным». В операции присваивания слева всегда стоит имя переменной, а справа – то, что представляет ее значение (значение как таковое или выражение). После присваивания переменная слева получает новое значение.
Для присваиваемых выражений однозначно определяются правила вычислений: действия выполняются слева на право с соблюдением следующего старшинства (в порядке убывания):
1. Действия в скобках;
2. Математические функции;
4. *, /, DIV, MOD, AND;
Паскаль имеет следующие стандартные математические функции.
ABS(X) | |
PI | p |
SIN(X) | |
COS(X) | |
ARCTAN(X) | |
SQRT(X) | |
SQR(X) | |
POWER(X,5) | х 5 |
EXP(X) | |
LN(X) | |
TRUNC(X) | Целая часть значения Х |
FRAC(X) | Дробная часть значения Х |
INT(X) | Целая часть значения Х |
ROUND(X) | Округление Х до целого |
RANDOM | Случайное число от 0 до 1 |
RANDOM(X) | Случайное число от 0 до Х |
ODD(X) | Возвращает TRUE, если Х – нечетное число. |
A DIV B | Целая часть от деления А на В (например: 5 div 3 будет 1) |
A MOD B | Остаток от деления А на В (например: 5 mod 3 будет 2) |
С помощью этих математических функций и основных операций составляются арифметические выражения, при этом очень важно в выражении расставить правильно скобки, учитывая приоритеты выполняемых операций. Например:
Выражение
на языке Паскаль будет выглядеть как
Или выражение
будет выглядеть следующим образом:
Если необходимо вывести значение переменной, объявленной типом REAL, то программист имеет возможность задать число позиций для выводимой величины и число позиций, отводимых под дробную часть.
WRITELN(‘P=’,P:10:2);
Здесь под Р отводится 10 позиций, а из них 2 – под дробную часть. Т.е., если Р=13.852, то Р распределиться по этим позициям следующим образом
При этом вначале будут пять пробелов. И на экране при выводе мы увидим следующее:
Если выводится величина, объявленная типом INTEGER, то можно задать только общее число позиций (т.е. используется только одно число).
Задание (инструкция 3)
№1
1. Написать программу вычисления площади прямоугольника. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление площади прямоугольника
Введите исходные данные:
Длина (см) – > 9
Ширина (см) – > 7.5
Площадь прямоугольника: 67.50 кв.см.
2. Составить программу и вычислить значение функции
, где
№2
1. Написать программу вычисления объема параллелепипеда (V=a*b*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисления объема параллелепипеда
Введите исходные данные:
Длина (см) – > 9
Ширина (см) – > 7.5
Высота (см) – > 5
Объем: 337.50 куб.см.
2. Составить программу и вычислить значение функции
, где
№3
1. Написать программу вычисления площади поверхности параллелепипеда S=2*(a*b+b*c+a*c). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление площади поверхности параллелепипеда.
Введите исходные данные:
Длина (см) – > 9
Ширина (см) – > 7.5
Высота (см) – > 5
Площадь поверхности: 300.00 кв.см.
2. Составить программу и вычислить значение функции
, где
№4
1. Написать программу вычисления объема куба (V=a 3 ). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление объема куба.
Введите длину ребра (см) – > 9.5
Объем куба: 857.38 куб.см.
2. Составить программу и вычислить значение функции
, где
№5
1. Написать программу вычисления объема цилиндра (V=Pi*R 2 *H). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление объема цилиндра.
Введите исходные данные:
Радиус основания (см) – > 5
Высота цилиндра (см) – > 10
Объема цилиндра 785.0 см.куб.
2. Составить программу и вычислить значение функции
№6
1. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки.
Введите исходные данные:
Цена тетради (руб) – > 2.75
Количество тетрадей – > 5
Цена карандаша (руб) – > 0.85
Количество карандашей – > 2
Стоимость покупки: 15.45 руб.
2. Составить программу и вычислить значение функции
№7
1. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и такого же количества обложек к ним. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки.
Введите исходные данные:
Цена тетради (руб) – > 2.75
Цена обложки (руб) – > 0.5
Количество комплектов (шт) – > 7
Стоимость покупки: 22.75 руб
2. Составить программу и вычислить значение функции
№8
1. Написать программу вычисления стоимости некоторого количества (по весу) яблок. Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки.
Введите исходные данные:
Цена одного килограмма яблок (руб) – > 8.5
Вес яблок (кг) – > 2.3
Стоимость покупки: 19.55 руб.
Цена одного кг яблок (руб) 8.5
Вес яблок (кг) 2.3
Стоимость покупки: 19.55 руб.
2. Составить программу и вычислить значение функции
№9
1. Написать программу вычисления площади треугольника, если известна длина основания и высоты (S=1/2*a*h). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление площади треугольника.
Введите исходные данные:
Основание (см) – > 8.5
Высота (см) – > 10
Площадь поверхности: 42.50 кв.см.
Составить программу и вычислить значение функции
№10
1. Написать программу вычисления площади треугольника, если известны длины двух его сторон и величина угла между этими сторонами (S=1/2*a*b*sin(a)). Ниже приведен рекомендованный вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление площади треугольника.
Введите исходные данные:
Введите длину первой стороны (см) треугольника – > 25
Введите длину второй стороны (см) треугольника – > 17
Введите величину угла между сторонами треугольника – > 30
Страница 45. Урок 15 — Математика 2 класс. Петерсон Л.Г. Учебник часть 3
Задание № 11. Составь программу действий и вычисли:
а) 40 : (24 : 6) + 7 • (12 — 2 • 2) — 5 • 5 |
б) 0 • (8 • 1 + 4) + (12 : 12) • 9 — 0 : 2 |
Подсказка
Повтори случаи табличного умножения и деления, а также порядок действий.
Ответ
Поделись с друзьями в социальных сетях:
Вопрос
Задание № 12. Найди ошибки. Как их можно исправить?
а) Частное чисел 30 и 6 равно 24.
б) 48 больше 8 в 4 раза.
в) 9 увеличить в 7 раз — получится 16.
г) 54 уменьшить на 6 — получится 9.
Подсказка
Повтори случаи табличного умножения и деления, а также как называются числа при умножении и делении.
Ответ
Поделись с друзьями в социальных сетях:
Вопрос
Задание № 13. В театре 980 мест. На дневной спектакль уже продано 534 билета в партер, 76 билетов в амфитеатр и 218 билетов на балкон. Сколько ещё осталось билетов на этот спектакль?
Подсказка
Повтори, что такое задача.
Ответ
Поделись с друзьями в социальных сетях:
Вопрос
Задание № 14. Пользуясь свойствами сложения, упрости уравнения, затем реши их и сделай проверку:
х + 127 + 359 = 784 | 46 + у + 857 = 903 |
Подсказка
Повтори, что такое уравнения и свойства сложения.
Ответ
Поделись с друзьями в социальных сетях:
Вопрос
Задание № 15. Построй четырёхугольник АBCD, у которого два угла острые, а два — тупые. А теперь построй четырёхугольник MNPK, у которого один угол прямой, один тупой и два острых. Проверь правильность построения с помощью чертёжного угольника.
Оператор присваивания
Оператор присваивания является одним из основных операторов любого языка программирования.
Оператор присваивания предназначен для присваивания переменной значения выражения.
Формат оператора присваивания:
<переменная>:=<выражение>
В операторе присваивания слева от знака присваивания «:=» записывается переменная, а справа – выражение, численное значение которого присваивается этой переменной.
Выполнение оператора присваивания приведет к вычислению выражения и присваиванию значения выражения переменной.
Обязательным является требование, чтобы выражение и переменная были совместимы по присваиванию.
Например, оператор присваивания
y:=x+h/2;
означает, что переменной y присваивается число, полученное в результате вычисления выражения x+h/2 при известных числовых значениях переменных x и h .
Следует обратить внимание, что всем переменным в правой части оператора присваивания ранее уже были присвоены значения предыдущими операторами, например,
x:=0; h:=1;
Рассмотрим пример
t:=t+1;
Здесь переменной t присваивается значение, которое до этого момента имела переменная t, плюс 1. Если переменная t имела до выполнения этого оператора значение равное 7, то после исполнения оператора t:=t+1 значение переменной будет равно 8.
Арифметические выражения
Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.
Правила записи и смысл арифметических выражений в Паскале почти не отличаются от обычной математической записи.
В арифметических выражениях используются следующие операции и соответствующие знаки:
Операция | Знак операции |
Сложение | + |
Вычитание | — |
Умножение | * |
Деление | / |
Деление целых чисел | div |
Остаток от деления целых чисел | mod |
Операции +, -, *, / имеют очевидный смысл. Результатом операции div будет целое значение, равное целой части результата деления первого числа на второе. Результатом операции mod будет целое значение, равное остатку от деления (но не дробной части).
Примеры арифметических операций:
Var
a,b,c:integer;
Begin
a:=10; b:=3;
c:=a mod b; {с равно 1 – равно остатку, но не дробной части}
c:= a div b; {с равно 3 – равно целой части }
b:=a+b; {b равно числу 13}
End.
Арифметические операции выполняются в порядке старшинства: сначала вычисление функции, затем умножение, деление, сложение, вычитание.
Если последовательность выполнения операций не определяется их старшинством, действия выполняются слева направо. Желаемый порядок выполнения операций всегда может быть задан соответствующим образом расставленными круглыми скобками. Допускается ставить лишние круглые скобки, если это упрощает чтение формулы.
Рассмотрим арифметическое выражение
-a*x*x+b/x*c+y-c*n/(a-b)
В таблице приведен порядок выполнения операций:
№ | Операция | № | Операция |
1 | a*x | 7 | -a*x*x+b/x*c+y |
2 | a*x*x | 8 | c*n |
3 | -a*x*x | 9 | (a-b) |
4 | b/x | 10 | c*n/(a-b) |
5 | b/x*c | 11 | -a*x*x+b/x*c+y-c*n/(a-b) |
6 | -a*x*x+b/x*c |
ЗАМЕЧАНИЕ. Все данные, входящие в арифметическое выражение, должны быть одного типа.
Исключение составляют только константы и переменные целого типа (integer), которые разрешается использовать в выражениях вещественного типа (real). Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа. В других случаях необходимо выполнять преобразование данных.
Пример. Пусть переменные x и y описаны следующим образом:
var
x:integer;
y:real;
Рассмотрим оператор y:= x+2, в котором используются переменные целого, вещественного типов и константа. Результат операции будет вещественного типа, поэтому оператор y:=x+2; является допустимым, хотя справа от присваивания стоит целая переменная и константа;
Следующие операторы являются ошибочными:
x:=y+2 {несовместимость типов: переменной целого типа x присваивается значение переменной вещественного типа y}
x:=y/x {несовместимость типов: операция деления всегда возвращает значение вещественного типа}
Для обеспечения совместимости типов необходимо выполнять преобразования данных. Для преобразования Real в Integer имеются две функции:
Round() – округляет Real до ближайшего целого;
Trunc() – усекает Real путем отбрасывания дробной части.
Правильная запись рассматриваемых операторов: x:=y+2; и x:=y/x; имеет вид:
x:=round(y)+2;
x:=round(y/x);
x:=trunc(y)+2;
x:=trunc(y/x);
Программируя арифметические выражения, нужно иметь в виду следующие основные правила:
- Два знака арифметических операций нельзя писать рядом. Например, следующие записи будут неправильными:
+–a –b — следует писать +(–a) –b
a*–b — следует писать a*(–b)
- Знак умножения опускать нельзя, например, при записи произведения: a*b и 2*n, запись ab и 2n будет неправильной, так как ab воспринимается как идентификатор, а запись 2n не является идентификатором, потому что начинается с цифры.
- В арифметических выражениях допускается использовать только круглые скобки. Количество открывающих круглых скобок должно соответствовать количеству закрывающих круглых скобок. Применение фигурных и квадратных скобок запрещается, так как они имеют особое значение.
- Все данные, входящие в выражения должны быть одного типа. Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа.
В арифметических выражениях могут использоваться различные элементарные функции. В языке Турбо Паскаль существуют стандартные функции. Пользователь может не знать, как вычисляется стандартная функция, ему достаточно правильно записать имя функции и ее аргумент. Наиболее часто используемые стандартные функции приведены в таблице:
Функция | Назначение |
Abs(x) | Абсолютное значение аргумента x |
Sqr(x) | Вычисляет квадрат аргумента x |
Sqrt(x) | Вычисляет квадратный корень аргумента x |
Exp(x) | Возвращает экспоненту аргумента ex (степень числа e=2,72) |
Ln(x) | Вычисляет натуральный логарифм аргумента x |
Pi | Значение числа p=3.1415926 |
Frac(x) | Дробная часть числа x |
Int(x) | Целая часть числа x |
Sin(x) | Синус аргумента x (угол в радианах) |
Cos(x) | Косинус аргумента x (угол в радианах) |
Arctan(x) | Арктангенс аргумента x (угол в радианах) |
Randomize | Инициализация генератора случайных чисел |
Random(x) | Если x отсутствует, то значением функции является случайное число типа real из диапазона 0<=…<Если задается значение x, то значением функции будет случайное число из диапазона 0< <x. |
В языке Турбо Паскаль нет операции возведения в степень. При необходимости ее использования можно воспользоваться следующей зависимостью:
x n = exp(n*ln(x));
Примеры записи простых арифметических выражений и операторов присваивания приведены в таблице:
Обычная математическая запись | Запись на Турбо Паскале |
x/(y*z) или x/y/z | |
y*x/z | |
(x+a)/(y+b) | |
1/(m*sqrt(a+b)) | |
x1:=(-b+sqrt(b*b-4*a*c))/(2*a) | |
y:=sin(x) | |
sqr((x+y-z)/2/a) |
Типичные ошибки в записи выражений:
4x+1 Пропущен знак умножения между 4 и x
a+sinx Аргумент x функции sinx не заключен в скобки
((a+b)/sqr(c*7) не хватает закрывающей скобки
ЗАДАЧА2. Вычислить корни квадратного уравнения
a∙x 2 +b∙x + c =0
по известным формулам
Предположим, что дискриминант этого уравнения больше нуля и уравнение имеет только действительные корни. Программа нахождения корней уравнения приведена ниже.
Program a2;
Var {раздел объявления переменных}
X1:real; {1-й корень уравнения}
X2:real; {2-й корень уравнения}
D:integer; {дискриминант уравнения}
A:integer; {коэффициент a}
B:integer; {коэффициент b}
C:integer; {коэффициент c}
Begin
Write(‘Введите коэффициенты a,b,c:’);
Readln(a,b,c); {чтение с клавиатуры коэффициентов}
D:=sqrt(b*b-4*a*c); {вычисление дискриминанта}
X1:=(-b+d)/(2*a); {вычисление 1-го корня уравнения}
X2:=(-b-d)/(2*a); {вычисление 2-го корня уравнения}
Write(‘Корни уравнения равны: ’, x1:8:2, x2:8:2);
End.
Результаты работы программы:
Введите коэффициенты a,b,c:2 –6 4
Корни уравнения равны: 2.00 1.00