К оглавлению

Урок № 9

Тема: Обобщение по темам: «Встроенные математические функции языка Pascal. Правила записи математических выражений».

 

    Разбор решения задач.

    Задача 1

    Задача 2

    Задача 3 

    Вопросы и задания

    Тесты для повторения

 

Задача 1. Скорость первого автомобиля v1 км/ч, второго — v2 км/ч, расстояние между ними s км. Какое расстояние будет между ними через t ч, если автомобили движутся в разные стороны?

Согласно условию задачи искомое расстояние s1=s+(v1+v2)t (если автомобили изначально двигались в противоположные стороны) или s2=|(v1+v2)t-s| (если автомобили первоначально двигались навстречу друг другу).

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

                        Program Car;

                        Var V1, V2, T, S, S1, S2 : Real;

                        Begin

                                     Write('Введите скорости автомобилей, расстояние между ними и время движения:');

                                     ReadLn(V1, V2, S, T);

                                     S1 := S + (V1 + V2) * T;

                                     S2 := Abs((V1 + V2) * T - S);

                                     WriteLn('Расстояние будет равно ', S1:7:4, ' км или ', S2:7:4, ' км')

                        End.

Заметим, что идентификатор должен начинаться с латинской буквы, кроме латинских букв может содержать цифры, знак подчеркивания (_).

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

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

 

В начало

 

Задача 2. Записать логическое выражение, принимающее значение TRUE, если точка лежит внутри заштрихованной области, иначе — FALSE.

Прежде всего обратим внимание на то, что эту сложную фигуру целесообразно разбить на несколько более простых: треугольник, лежащий в I и IV координатных четвертях и треугольник, лежащий во II и III четвертях. Таким образом, точка может попасть внутрь одной из этих фигур, либо на линию, их ограничивающую. Количество отношений, описывающих какую-либо область, обычно совпадает с количеством линий, эту область ограничивающих. Чтобы точка попала внутрь области, необходима истинность каждого из отношений, поэтому над ними выполняется операция AND. Так вся область была разбита на несколько, то между отношениями, описывающими каждую из них, используется операция OR.

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

            (X >= 0) And (Y >= 1.5 * X – 1) And (Y <= X) OR (X <= 0) And (Y >= –1.5 * X – 1) And (Y <= –X)

 

В начало

 

Задача 3. Вычислить значение выражения

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

            Program Expression;

            Var X, Z : Real;

            Begin

                        Write('Введите значения переменной X: '); ReadLn(X);

                        Z := 6 * ln(sqrt(exp(x+1)+2*exp(x)*cos(x))) /

                               ln(x - exp(x+3) * sin(x)) + abs(cos(x) / exp(sin(x)));

                        WriteLn('Значение выражения: ', Z : 12 : 6)

            End.

 

В начало

 

 

Вопросы и задания

1. Что такое величина?

2. Какие величины называют аргументами? результатами? промежуточными величинами? Приведите примеры.

3. Каковы атрибуты величины?

4. Какие величины называют постоянными? переменными? Приведите примеры.

5. Какие простые типы величин существуют в языке Pascal?

6. Что определяет тип величины?

7. Расскажите о простых типах данных и их атрибутах.

8. Как осуществляется ввод данных в языке Pascal? Приведите примеры.

9. Как осуществляется вывод данных в языке Pascal? Приведите примеры.

10. Какова общая структура программы в языке Pascal?

11. Расскажите об операторе присваивания и совместимости типов.

12. Что такое формат вывода?

13. Расскажите о правилах вычисления алгебраического выражения. Приведите примеры.

14. Расскажите о правилах вычисления логического выражения. Приведите примеры.

15. Расскажите о логических операциях. Приведите примеры.

16. Приведите примеры задач, имеющих линейный алгоритм решения.

17. Определите, какой суммарный объём памяти требуется под переменные в каждом из примеров 1–3.

18. Каково назначение следующей программы?

            Program Example;

            Var N : 100..999;

            Begin    Write('Введите натуральное трёхзначное число: '); ReadLn(N);

                        WriteLn('Искомая величина: ', N Div 100 + N Div 10 Mod 10 + N Mod 10);

            End.

19. Задайте на координатной плоскости некоторую область, которую можно описать математическими уравнениями и заштрихуйте её. Запишите логическое выражение, принимающее значение TRUE, если точка (x, y) лежит внутри заштрихованной области, иначе — FALSE.

20. Выпишите несколько алгебраических выражений и запишите их на языке Pascal.

21. Запишите алгебраические выражения, соответствующие следующим записям на языке Pascal:

а) (a + b) / c;         б) a + b / c;         в) a / b / c;         г) a / (b * c);

д) (a + b) / (d + c);         е) a + b / (d + c);

ё) a + b / d + c;         ж) (a + b) / d + c.

 

В начало

 

           К оглавлению 

Сайт управляется системой uCoz