Как составить математическую модель в паскале

Студворк — интернет-сервис помощи студентам

Нужно написать математическую модель к уже решенной задачке с функциями.
Программа детская
Пример подобной модели:

Формализуем условие задачи. Будем считать, что искомая денежная сумма складывается только из суммы аванса и перерасчета. Пусть суммы авансов содержатся в массиве А(n), а суммы перерасчетов – в массиве В(n), n = 12. Поскольку элементы массивов денежные суммы, следовательно, массивы имеют вещественный тип. Итоговая денежная сумма представляет собой также вещественный массив, каждый элемент которого равен сумме соответствующих элементов массива А и В. Запишем новую формулировку задачи.
Имеются два вещественных массива A и B, содержащие одинаковое число элементов n. Вывести на экран массив С = А + В.
Составим математическую модель задачи. Так как каждый элемент массива С является суммой соответствующих элементов массивов А и В, то формула для вычисления произвольного элемента массива С имеет вид: C[i] = A[i] + B[i].

Программа:Вычислить среднюю температуру ясных дней в марте.
Запишите на языке Pascal программу с использованием процедур (функций)

Программа

Жду помощи…Готов заплатить

Добавлено через 13 минут
Как бы словесное описание

Практическая
работа 4

Тема:
Запись
математических выражений на языке
Pascal

Цель:
Научиться записывать математические
выражения на языке Pascal.

Теория

Выражение
– это правило вычисления значения. В
выражении участвуют операнды,
объединенные знаками
операций.
Операндами
могут быть константы, переменные и
вызовы функций. Операции выполняются
в определенном порядке в соответствии
с приоритетами.
Порядок
выполнения операций изменяется круглыми
скобками.

Правила
записи математических выражений:

  1. все
    символы пишутся в одну строку;

  2. нельзя
    пропускать знаки действий; два подряд
    идущих знака разделяют скобками;

  3. приоритет:

    1. унарные
      операции (смена знака), вычисление
      значения функции;

    2. *,
      /, div,
      mod;

    3. +,
      -;

  4. целая
    и дробная часть числа разделяются
    точкой;

  5. Аргументы
    функций записываем в круглых скобках;

  6. в
    тригонометрических функциях углы
    записываются в радианах.

Математическая
запись

Запись
на языке Паскаль

=3,14159…

Pi

cos
x

Cos
(
x)

sin
x

Sin
(
x)

tg
x

Sin
(
x)
/
Cos
(
x)

ctg
x

Cos
(
x)
/
Sin
(
x)

arctg
x

Acrtan
(x)


абсолютное
значение числа
x

Abs
(
x)

Дробная
часть числа
x

Frac
(
x)


целая часть числа
x

Int
(
x)

Ln
x
– натур. логарифм числа
x

Ln
(x)

Lg
x

0.4*Ln(x)

Ln(a)/Ln(b)

Генератор
случайных величин – выдает случайное
число из интервала [0;1)

Random

Генератор
случайных величин – выдает случайное
число из интервала [0;
x)

Random
(x)

x2

Sqr
(x)

Sqrt
(x)

ex

Exp
(x)

Exp
(y * Ln (x))

Exp(a
/
b
*
Ln
(
x))

Перевод
градусов в радианы

x
* Pi / 180

Пример:
Записать
на языке Паскаль выражения:

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»
после записи каждого числа.

варианта

Задание
1. Запишите на языке
Pascal

Задание
2. Запишите на языке
Pascal

Подсказка

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,
нужно выполнить

вычисления в
следующей

последовательности:

  1. Ввести
    значения a,
    b,
    c;

  2. Вычислить
    x;

  3. Вычислить
    y;

  4. Вычислить
    z;

  5. Вывести
    значение z
    на экран

2.
Алгоритмический язык:

алг
a1

арг
a,
b,
c
(вещ)

рез
x,
y,
z
(вещ)

нач

ввод
a, b, c

вывод
z

кон

  1. Блок-
    схема.

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)
Этапы
решения задачи:

  1. Математическая
    модель:

    расстояние на плоскости между двумя
    точками M1(x1,y1) и M2(x2,y2) высчитывается по
    формуле

  2. Составим
    блок-схему
    алгоритма

Переведем
блок-схему наязык
Паскаль
.

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

  1. Вычислить
    длину окружности и площадь круга одного
    и того же заданного радиуса R.

  2. Найти
    синус одного из углов треугольника со
    сторонами а, b, с.

Вариант
2

1.
Заданы координаты трех вершин треугольника
(х1 , у1,), (х2 , y2), (х3, У3). Найти его периметр.

2.
Даны два действительных числа х и у.
Вычислить их сумму, разность, произведение
и частное.

Вариант
3

  1. Написать
    программу, которая выводит на экран
    первые четыре степени числа .

  2. Вычислить
    периметр и площадь прямоугольного
    треугольника по длинам а и 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

  1. Вычислить
    высоты треугольника со сторонами а, b,
    с. Высоты можно выразить из формулы:
    ,
    где

  2. Составить
    программу вычисления объема цилиндра
    и конуса, которые имеют одинаковую
    высоту Н и одинаковый радиус основания
    R.

Вариант
10

1.
Дано действительное число х. Не пользуясь
никакими другими арифметическими
операциями, кроме умножения, сложения
и вычитания, вычислить за минимальное
число операций
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

  1. Дана
    величина А, выражающая объем информации
    в битах. Перевести А в байты, в килобайты,
    в мегабайты.

  2. Дано
    значение а, не используя никаких функций
    и никаких операций, кроме умножения,
    получить а8
    за три операции.

Вариант
15

1.
Дано значение а, не используя никаких
функций и никаких операций, кроме
умножения, получить а10
за четыре операции.

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

Вариант
16

1.Составить
программу вычисления объема усеченного
конуса, если известны радиусы оснований
R
и r,
высота усеченного конуса h.

2.
Найти радиус вписанной в треугольник
окружности, если даны стороны треугольника.

Вариант
17

1.Три
сопротивления R1, R2, R3 соединены параллельно.
Найти сопротивление соединения.

2.
Вычислить площадь поверхности куба и
его объем по стороне а.

Вариант
18

  1. Вычислить
    радиус окружности и площадь круга, если
    известна длина окружности.

  2. Известен
    синус одного из углов треугольника и
    стороны а, b, образующие этот угол. Найти
    третью сторону треугольника.

Вариант
19

1.
Заданы координаты трех вершин треугольника
(х1 , у1,), (х2 , y2), (х3, У3). Найти площадь
треугольника.

2.
Даны два действительных числа х и у.
Вычислить значение выражения 3x+4y2-5.

Вариант
20

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

  2. Вычислить
    площадь прямоугольного треугольника
    по длинам катета а и гипотенузы с.

Вариант
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

  1. Вычислить
    высоты треугольника со сторонами а, b,
    с. Высоты можно выразить из формулы:
    ,
    где

  2. Составить
    программу вычисления объема цилиндра
    и конуса, которые имеют одинаковую
    высоту Н и одинаковый радиус основания
    R.

Вариант
27

  1. Дано
    действительное число х. Не пользуясь
    никакими другими арифметическими
    операциями, кроме умножения, сложения
    и вычитания, вычислить за минимальное
    число операций
    2х5 — 3×3 + 2х2 — 3х + 2.

  2. Найти
    n — число членов арифметической прогрессии,
    если известны ее первый член – a1,
    знаменатель q и сумма n членов прогрессии.

Вариант
28

  1. Составить
    программу вычисления объема конуса,
    если известны объем цилиндра и радиус.
    Цилиндр имеет одинаковую высоту Н и
    одинаковый радиус основания R с конусом.

  2. Дано
    значение х. Получить значения выражения
    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

  1. Дана
    величина А, выражающая объем информации
    в битах. Перевести А в гигабайты.

  2. Дано
    значение а, не используя никаких функций
    и никаких операций, кроме умножения,
    получить а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
– для последовательного соединения

Равносторонний
треугольник:
,
,,.


скорость

,

,

Контрольные
вопросы:

  1. Как
    запустить программу на трансляцию и
    выполнение?

  2. Как
    записываются операторы начала и конца
    программы?

  3. Из
    каких разделов состоит программа на
    языке Pascal?

  4. В
    какой последовательности должны быть
    записаны разделы программы на языке
    Pascal?

  5. Как
    записываются операторы вывода на экран
    в Pascal?

Практическая
работа 7

Тема:
Составление линейных программ. Описание
графической области логическими
выражениями

Цель
работы:
научиться
использовать логические отношения при
решении математических задач.

Теоретическая
часть

Логические
операции
выполняются над операндами булева типа.
Имеются четыре логические операции:
Not
— отрицание; And

логическое умножение (конъюнкция); Оr
— логическое сложе­ние (дизъюнкция).
Кроме этих трех обязательных операций
в Тур­бо Паскале имеется еще операция
исключающее
ИЛИ.
Ее
знак — служебное слово Хоr.
Это двухместная операция, которая в
ре­зультате дает значение истина,
если оба операнда имеют разные логические
значения.

В
Паскале логические значения обозначаются
служебными сло­вами false
(ложь) и true
(истина), а идентификатор логическо­го
типа — boolean.
Кроме величин (констант и переменных)
типа boolean
логи­ческие значения false,
true
принимают результаты операций отношения.

Операции
отношения имеют самый низкий приоритет.
Поэто­му если операндами логической
операции являются отношения, то их
следует заключать в круглые скобки.
Например, математи­ческому неравенству
1 ≤ х

50
соответствует следующее логичес­кое
выражение: (1<=Х) And
(X<=50)

Логическое
выражение
есть
логическая формула, записанная на языке
программирования. Логическое выражение
состоит из логических операндов,
связанных логическими операциями и
круг­лыми скобками. Результатом
вычисления логического выражения
является булева величина (false
или true).

Пример.

Для
данной области составить программу,
которая печатает true,
если точка с координатами (x,
y)
принадлежит закрашенной области, и
false
– в противном случае.

Решение:

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

  1. Найдём
    уравнение прямой AB.
    Точки A(5;
    7) и B(-6;
    -5) выбираем сами по рисунку. Используем
    формулу уравнения прямой, проходящей
    через две точки:
    .
    Получим,
    т. е.,
    следовательно.
    Получаем уравнение:.

  2. Найдём
    уравнение прямой CD.
    Точки C(7;
    1) и D(-4;
    -5) выбираем сами по рисунку. Составим
    уравнение:
    .
    Получаем уравнение.

  3. Найдем
    уравнение окружности по формуле:
    ,
    где (x0;
    y0)
    – центр окружности, R
    – радиус окружности. В нашем случае
    центр — (0; 0), радиус равен 5. Получаем
    .

  4. Закрашенная
    область находиться ниже прямой AB,
    значит, точки области удовлетворяют
    условию:
    .
    Закрашенная область выше прямойCD,
    значит, точки области удовлетворяют
    условию:
    .
    Кроме того, искомая область находится
    внутри окружности, значит.

  5. Э

    Алгоритм
    решения задачи сводится к следующему:

      1. Вводим
        координаты точки (x,
        y).

      2. Проверяем
        выполнение системы неравенств.

      3. В
        случае положительного результата
        выводим сообщение 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


Контрольные
вопросы:

  1. Как записать
    уравнение окружности и прямой?

  2. Какие логические
    операции применяются в логических
    выражениях?

  3. Какие значения
    принимают логические выражения?

Практическая
работа 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
Написать
программу для вычисления значений
значение функции

На этом уроке мы повторим этапы
моделирования, повторим основы языка
программирования Pascal; выполним разработку математической модели и разработку программы
на языке программирования для реализации математической модели.

1. Повтори этапы моделирования.

2. Вспомни особенности построение программы на языке Pascal

3. Выполни практическую работу.

В тетрадь запиши дату урока, тему « Практическая работа №7. Программная реализация простейших математических моделей.«

 С помощью среды ABCPascal и имеющейся программы  выполни компьютерный эксперимент для решения
задачи.

 Задача. Камень брошен вертикально вниз с высоты 100 метров. На какой секунде
падения он достигнет земли?

2.     
Результаты 
эксперимента запиши в тетрадь в форме таблицы.

3.     
 Запиши полученный ответ.

4.     
Запиши математическую модель уравнения  изменения скорости  тела при вертикальном движении V=V0+gt 
на языке программирования. Составь программу.

 Пример программы: 

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

Скорость свободно падающего тела v=gt

6.     
Запиши данные эксперимента в таблицу.

7.     
Сделай вывод о компьютерном математическом
моделировании.

Результаты работы (программу и данные заполненной таблицы) пришли по адресу oaleksanova6@gmail.com

На прошлых уроках мы узнали метод последовательного
конструирования алгоритмов
, при котором задача последовательно разбивается
на подзадачи, пока они не станут понятны исполнителю. А также, что некоторые
подзадачи бывает удобно оформить в виде вспомогательных алгоритмов,
которые целиком используются в составе других. Вспомогательные алгоритмы в
языке Pascal записываются в виде
именованных последовательностей команд, которые называются подпрограммами.
Подпрограммы делятся на процедуры и функции.

Вопросы:

·     
Что
такое функция?

·     
Чем
отличается функция от процедуры

·     
Как
записывается функция?

·     
При
решении каких задач можно применять функции?

И так, ещё одним видом подпрограмм, помимо
процедур, являются функции. Функцией называется подпрограмма,
возвращающая всего одно значение. Оно сохраняется в ячейке памяти с именем,
которое совпадает с названием функции. То есть функция принимает на вход
несколько или одну переменную
, а по выполнении команд возвращает всего
одну переменную, с именем, которое совпадает с названием функции
, в отличие
от процедуры, которая может возвращать несколько переменных.

Схема
работы функции

Запись функции в программе
похожа на запись процедуры. Функции записываются между разделом описания переменных
и телом основной программы в любом удобном порядке. В начале, записывается
служебное слово function,
после которого идёт имя функции. Оно, как имя процедуры не должно
совпадать с именем программы или переменных. Оно может содержать несколько цифр,
букв латинского алфавита или знаков подчёркивания. И может начинаться с буквы
латинского алфавита или знака подчёркивания. Далее в круглых скобках, следует перечисление
входных параметров с указанием типов
. После скобок следует двоеточие
и тип возвращаемого значения, после которого ставится точка с запятой.
Затем, если в процессе работы функции нужны промежуточные переменные, как и при
записи процедуры, следует раздел описания переменных функции. Названия
переменных и параметров функции могут совпадать с именами переменных в основной
программе или других функциях, поэтому их стоит выбирать для решения данной
подзадачи.

Затем между служебными словами begin и end
следует тело функции. Так как значение возвращаемое функцией сохраняется в
переменную, название которой совпадает с её названием, тело функции должно
содержать хотя бы одну команду присваивания переменной с этим названием какого
либо значения. Как и при записи процедуры после служебного слова end
следует точка с запятой.

Схематичная
запись функции

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

Схематичный
приме вызова функции

Задача: Выпуклый n-угольник
задан
координатами своих вершин в порядке их обхода по контуру. Написать программу
для вычисления его площади.

Составим математическую модель. Мы еще не
знаем как найти площадь выпуклого многоугольника, поэтому разобъем его на
отдельные треугольники, проведя из его первой вершины отрезки к остальным.
Таким образом у нас получится n
— 2

треугольника, площади которых мы уже можем найти. Вспомним что площадь
треугольника можно найти, воспользовавшись формулой Герона,, где a,
b и
c
длины сторон треугольника, а p
его
полупериметр.

Для того, чтобы воспользоваться формулой Герона
для вычисления площади треугольника, нам необходимо знать длины его сторон. Они
равны расстояниям между вершинами треугольника. Вспомним что расстояние между
двумя точками на координатной плоскости можно найти, по следующей формуле , где x
и
yкоординаты
соответствующих точек.

Математическая
модель решения задачи

Составим блок-схему алгоритма решения задачи.
Обозначим в ней x — массив координат x вершин,
у
— массив координат y,
n — количество вершин многоугольника, i
— номер текущей вершины, r
— площадь n-угольника, а так же мы
используем вспомогательные алгоритмы d
— нахождения расстояния между двумя точками на
координатной плоскости и s
— нахождения площади треугольника по формуле Герона.

Вначале мы должны считать значение n,
после чего запишем цикл «для i от 1 до n», в котором будет команда
считывания координат i-той вершины n-угольника. Так, как наш
алгоритм будет сводится к расчёту суммы площадей треугольника, как и в
алгоритме нахождения суммы элементов массива присвоим переменной r
значение 0. Далее будет следовать цикл вычисления площади
n-угольника. Мы разобъем его на треугольники, координатами вершин
которых будут вершины n-угольника
с номерами 1, так, как из этой вершины мы
проводили разделительные отрезки, а так же любые две соседние вершины с
номерами i и i
+ 1
. Так мы запишем цикл «для
i от 2 до
n
— 1
».
Он будет содержать всего одну команду, увеличения переменной r
на значение площади очередного треугольника, то есть r:=r+s(…).
В качестве входных параметров для функции s() будут длины сторон
треугольника, которые, мы вычислим с использованием вспомогательного алгоритма d(),
его параметрами в первом случае будут координаты первой и i-той вершин,
во втором – i-той и i
+ 1
,
а в третьем — первой и i
+ 1
.
В конце нам останется лишь вывести значение переменной r.

Блок-схема
алгоритма решения задачи

Запишем программу по данной блок-схеме. Назовём её area,
что в переводе с английского языка означает площадь. По смыслу задачи
координаты точек и значение площади могут быть дробными числами. То есть нам
понадобится два массива, x и y
из
100 элементов типа real.
Обратим внимание что запись массива вещественных чисел отличается от записи
массива целых чисел лишь типом элементов. Ещё нам понадобится переменная r
так же типа real.
И переменные n и i типа integer.

Раздел
описания переменных программы

Между служебными словами begin
и end запишем тело программы.
Выведем поясняющее сообщение о том, что это программа расчета площади
многоугольника и запрос на ввод количества вершин. Теперь запишем команду
считывания n. Запишем цикл for
i:=1 to
n do,
который будет содержать команду вывода на экран запроса на ввод координат i-той
вершины, а так же команду их считывания.

Теперь запишем команду присваивания переменной r
значения 0 и цикл вычисления площади многоугольника. Это будет цикл for
i:=2 to
n-1 do.
Он будет содержать всего одну команду увеличения числа r на значение
площади треугольника с вершинами, которые будут вершинами многоугольника с
номерами 1, i и i
+ 1
.
Для этого в составе оператора суммы его параметром будет указано значение
функции вычисления площади треугольника s(), которую мы оформим позже,
она будет принимать на вход длины сторон треугольника, которые мы найдем с
помощью функции расчета расстояния между двумя точками на координатной
плоскости. В первом случае её параметрами будут координаты вершин с номерами 1
и i, во втором — i
и i + 1
и в третьем 1 и i + 1.

Теперь нам остается лишь вывести поясняющее сообщение
с текстом «Площадь заданного треугольника равна», и значение переменной r.

Тело
основной программы

Оформим функции для нашей программы. Начнем с функции
нахождения расстояния между двумя точками. Запишем служебное слово function,
и название функции d. Она будет принимать на вход координаты двух точек x1,
y1
и x2,
y2
все типа real. Данная функция
будет возвращать значение расстояния между двумя точками, которое может быть
дробным, то есть тип возвращаемого значения будет real.
Промежуточных переменных в данной функции не потребуется. Между служебными
словами begin и end
запишем тело функции. Оно будет содержать только одну команду, присваивание
переменной d значения расстояния
между двумя точками, которое рассчитано по формуле из математической модели.
Функция извлечения квадратного корня, на языке Паскаль, записывается командой sqrt,
после которой в круглых скобках указывается число или выражение из которого
требуется извлечь квадратный корень.

Код
функции вычисления расстояния между двумя точками

Теперь напишем функцию нахождения площади треугольника
по формуле Герона. Запишем служебное слово function
и
название функции s. Входными
параметрами будут значения длин сторон треугольника: a, b и c
типа real. Возвращаемое
значение, площадь треугольника, может быть дробной, поэтому оно тоже будет типа
real. В этой функции нам
понадобится промежуточная переменная p типа real,
которая будет хранить значение полупериметра треугольника. Запишем тело
функции, она будет содержать команду вычисления полупериметра. Для этого
достаточно найти сумму длин сторон треугольника и разделить её пополам, а также
команду присваивания переменной s
площади треугольника, рассчитанной по формуле Герона.

Код
функции вычисления площади треугольника

Придумаем несколько тестов для программы. В качестве многоугольника
зададим прямоугольник с координатами вершин: 0; 0, 0; 4, 8; 4 и 8; 0. Для себя
площадь данного прямоугольника можно рассчитать, умножив его длину на ширину. 8
* 3 = 32
.

Прямоугольник
из первого теста

Придумаем ещё один тест. Для этого достаточно к
прямоугольнику из прошлого теста дорисовать равнобедренный треугольник сверху,
координаты его боковых вершин будут совпадать с координатами верхних вершин
прямоугольника, а верхняя вершина будет находиться в точке с координатами 4; 7.
Площадь добавленного треугольника мы можем рассчитать по формуле площади
равнобедренного треугольника, умножив его высоту 3, на половину
основания 4, его площадь равна 12.
Добавим к этому результату площадь прямоугольника и получим, площадь
получившегося пятиугольника равной 44.

Пятиугольник
из второго теста

Введем данные из первого теста в
программу. Программа вывела что площадь заданного многоугольника равна тридцати
двум, данный результат соответствует ожидаемому.

Результат
работы программы по первому тесту

Введем данные из второго теста в
программу. Программа вывела что площадь заданного многоугольника равна сорока
четырем, данный результат соответствует ожидаемому. Так, как результаты работы
программы в обоих тестах соответствуют ожидаемым – задача решена верно.

Результат
работы программы по второму тесту

Важно
запомнить:

·      Функцией
называется подпрограмма, возвращающая всего одно значение, которое записывается
в переменную с именем, совпадающим с именем функции.

Мы научились
оформлять вспомогательные алгоритмы в виде функций и использовать их при
решении задач.

Исследование математической модели на языке программирования Pascal

Цель: Создание программы графика квадратичной функции через моделирование, формализацию и визуализацию.

Задачи:

1. Личностные: способствовать развитию логического и критического мышления, культуры речи; формированию коммуникативной компетентности в общении и сотрудничестве со сверстниками в образовательной деятельности.

2. Метапредметные:  применять умения моделировать квадратичную и дробно-линейную функции; формировать умение говорить с использованием;

3. Предметные: применять  знания алгоритмических структур  и графических операторов для моделирования и визуализации математических функций.  

Задача: построить график функции y = ax2+bx+c на интервале от а до b.

Проблема: Как строить функцию, заданную в математической системе координат, если в программировании координаты записываются в пикселях?

Ход урока

I этап мотивации к учебной деятельности

Деятельность учителя

Деятельность обучающихся

(на экране фотографии объектов, движение которых происходит по параболической орбите, и графики квадратичной функции)

—  Что объединяет эти фотографии?

— Объясните, почему?

— Где и как можно построить графики квадратичной функции?

— Это квадратичная функция:

  1. бросок мяча в корзину;
  2. струя фонтана;
  3. строение моста.

— 1. Составить таблицу значений и по координатам построить параболу в тетради;

— 2. Можно использовать компьютер.

— В программе WORD, Excel, на языке программирования.

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

Назовите формулу квадратичной функции  y = ax2+bx+c

II этап актуализации и постановки проблемы

— Как строить функцию y = ax2+bx+c, заданную в математической системе координат, если в программировании координаты записываются в пикселях?

 —  1. Чтобы полученные координаты перевести в экранные, их нужно увеличить в несколько раз.

 — 2. Экранные координаты начинаются с левого верхнего угла, чтобы построить квадратичную функцию, начало координат нужно перенести в центр экрана

 — 3. Найти математическое соответствие между началом координат и координатой первой точки, вычислить коэффициент, на который, будет изменяться экранная координата

— Применим модуль Graph, потому что он содержит библиотеку графических функций и процедур;

— Выберем циклический алгоритм, потому что одну формулу y = ax2+bx+c, мы будем использовать несколько раз;

— Используем операторы ввода, цикла, оператор вычерчивания линий, точек, окружностей

III этап построения проекта выхода из затруднения

— Давайте проговорим алгоритм решения

—  1. Начало

   2. Задаем графический режим экрана

   3. Вводим коэффициенты А, В, С

   4. Задаем начальное значение Х, конечное значение Х, шаг на который будет изменяться Х

   5.  Y  присвоить Ах2+Вх+С

   6. Вывести координату  (x,y)

   7. Конец

IV этап получения новых знаний

— Можете разделиться на 3 группы и выполнить следующее задание:

Начертите на листке в клетку экранную координатную плоскость, 1 клеточка – 20 пикселей, найдите координаты центра для обозначения начало координат в математической системе,  постройте 1 точку параболы у=х2 с минимальным значением х, найдите формулу для вывода координаты (x,y) и проверьте ее правильность в среде программирования PascalABC

— Начало координат математической системы (0,0) соответствует экранной координате (320,240)

— При х=-3       хэкранная=х+(-x*20),

        y=9           yэкранная=y-(-y*20),

V этап проверки с проговариванием во внешней речи

— Используя циклическую структуру алгоритма, напишите программу вывода на экран графика  y = ax2+bx+c.

В качестве компьютерного эксперимента используйте следующие коэффициенты:

А=1,   В=0,    С=0

program p;

uses crt, graphABC;

const x0=320;y0=240;m=20;a=1;b=0;c=0;

var x,y:real;xe,ye:integer;

begin

   setwindowsize(640,480);

   line(1,y0,640,y0);

   line(x0,1,x0,480);

   writeln(‘ a= ‘,a,’ b= ‘,b,’ c= ‘,c);

   x:=-3;

   while x<=3 do

   begin

      xe:=x0+round(x*m);

      y:=a*x*x+b*x+c; ye:=y0-round(y*m);

      circle(xe,ye,2);

      x:=x+1;

   end;

end.

VI этап включения нового знания в систему знаний

Зная график одной функции мы можем рассматривать сдвиги графика этой функции вдоль осей координат

— На экране квадратичные функции, воспроизведите их графики на своих ПК:

у=х2-2х      у=х2+2х      у=х2-2      у=х2+2  

у=-х2     у=2х2     у=0,25х2

— Таким образом, можно проанализировать   поведение   графика одной функции.       

— Изменяем исходные данные в программе;

— Коэффициент В сдвигает параболу влево или вправо, в зависимости от знака;

— Коэффициент  С сдвигает параболу вверх или вниз, в зависимости от знака;

— Коэффициент  А, если со знаком “-“, то ветви параболы направлены вниз.

— Преобразование графиков квадратичной функции позволяют визуализировать  процесс изменения моделей.

VII этап рефлексии

Выразите, пожалуйста, свое отношение к уроку, продолжите фразу в тетради:

Я узнал …

Мне было интересно …

Я научился …

Заполняют карточки.

VIII. Домашнее задание.

Повторить алгоритмическую конструкцию «ветвление», составить алгоритм и написать программу вывода дробно-линейной функции (гиперболы) на экран

Понравилась статья? Поделить с друзьями:
  • Как найти асимптоты графиков примеры
  • Как найти массу чистого цинка
  • Как найти мою аську
  • Яремная вена на шее как найти
  • Как найти файл config xml