Конспект урока "Вычислительные программы"

Программирование в Lazarus для школьников.
Занятие № 8.
Вычислительные программы.
Матыцин Игорь Владимирович
Учитель математики и информатики
МБОУ СОШ с. Девица
Цель: научить учеников писать программы для вычисления сложных
математических выражений.
Программирование в Lazarus для школьников.
Девица 2012.
Иногда в математике встречаются такие выражения, которые очень неудобно
считать вручную. Для этого пишутся простые программы, похожие на
программу-калькулятор из прошлого занятия.
Создается форма с несколькими полями ввода для ввода исходных данных.
Количество полей ввода зависит от конкретной задачи. Например, нам нужно
посчитать значение функции

. Для нахождения значения нужно
только значение переменной x, поэтому поле ввода должно быть одно.
Следующий этап это перевод математического выражения в код на Pascal.
Для этого математические символы и функции заменяются аналогичными
доступными в Pascal.
Вот так будет выглядеть функция y после преобразования:
y:=abs(sqrt(sin(x))/abs(sqr(x)/sqrt(x)));
Важно помнить, что количество открытых скобок должно равняется
количеству закрытых.
Давайте напишем программу для вычисления этой функции.
Программирование в Lazarus для школьников.
Рис 8.1 Интерфейс программы для вычисления функции y.
Вот так выглядит обработчик событий для кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y:real;
begin
x:=StrToFloat(Edit1.Text);
y:=abs(sqrt(sin(x))/abs(sqr(x)/sqrt(x))) ;
Label2.Caption:=FloatToStr(y);
end;
Проверим работу программы вводя значения х равные 1, 2, 3, 4, 5, 6, 7.
Если у всех значения совпадут то все всё сделали правильно.
Теперь давайте решим такую задачу: даны два катета прямоугольного
треугольника. Найти гипотенузу.
Гипотенуза находится по теореме Пифагора.
Пусть g-гипотенуза, a-первый катет, b-второй катет.
Программирование в Lazarus для школьников.
Рис. 8.2 Рабочее окно программы гипотенуза.
Вот код обработчика событий для кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var
g,a,b:real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
g:=sqrt(sqr(a)+sqr(b));
Label4.Caption:=FloatToStr(g);
end;
Программирование в Lazarus для школьников.
Практическое задание.
1. Известна площадь квадрата. Найти его сторону, периметр, диагональ.
2. Найти значение функции


.
3. Доказать что (a+b)(a-b)=a
2
+b
2
.
4. Доказать что cos(a+b)=cos(a)cos(b)-sin(a)sin(b).
5. Begin1◦. Дана сторона квадрата a. Найти его периметр P = 4·a.
6. Begin2◦. Дана сторона квадрата a. Найти его площадь S = a2.
7. Begin3◦. Даны стороны прямоугольника a и b. Найти его площадь S =
a·b и
8. периметр P = 2·(a + b).
9. Begin4◦. Дан диаметр окружности d. Найти ее длину L = π·d. В качестве
10. значения π использовать 3.14.
11. Begin5◦. Дана длина ребра куба a. Найти объем куба V = a3 и площадь
его
12. поверхности S = 6·a2.
13. Begin6◦. Даны длины ребер a, b, c прямоугольного параллелепипеда.
Найти
14. его объем V = b·c и площадь поверхности S = 2·(a·b + b·c + a·c).
15. Begin7◦. Найти длину окружности L и площадь круга S заданного
радиуса R:
16. L = 2·π·R, S = π·R2.
17. В качестве значения π использовать 3.14.
Программирование в Lazarus для школьников.
18. Begin8◦. Даны два числа a и b. Найти их среднее арифметическое: (a +
b)/2.
19. Begin9◦. Даны два неотрицательных числа a и b. Найти их среднее
геометрическое, то есть квадратный корень из их произведения:
20. Begin10◦. Даны два ненулевых числа. Найти сумму, разность,
произведение и
21. частное их квадратов.
Ввод и вывод данных, оператор присваивания 7
22. Begin11◦. Даны два ненулевых числа. Найти сумму, разность,
произведение и
23. частное их модулей.
24. Begin12◦. Даны катеты прямоугольного треугольника a и b. Найти его
гипотенузу c и периметр