Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика

..pdf
Скачиваний:
9
Добавлен:
15.11.2022
Размер:
1.24 Mб
Скачать

Все переменные должны быть типа real.

Значения всех переменных должны быть введены пользователем.

Использовать формат вывода R:P:Q. Значения P и Q подобрать на свое усмотрение.

Пример выполнения задания № 3:

Представлен пример выполнения данного задания в системе

Турбо-Паскаль для выражения tg 2x cos(7z + 5) :

3y

Рассмотрим особенности данной программы.

Все переменные, входящие в состав выражения (x, y, z), и переменная, в которой будет храниться результат вычисления выражения (rez), а также дополнительная переменная w объявлены в разделе описания переменных var (строка 1 программы).

Исполняемые операторы программы располагаются между служебными словами begin (строка 2) и end (строка 13).

Встроках 3, 5 и 7 с помощью процедуры write выводится подсказка пользователю о том, что необходимо ввести значения переменных x, y, z соответственно.

Встроках 4, 6, 8 с помощью процедуры readln пользователю предлагается ввести значения переменных x, y, z соответственно. После ввода значения каждой из переменных необходимо нажать клавишу Enter.

61

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

Паскаль, не записывая дважды 32yx . В строке 9 данной перемен-

ной присваивается значение выражения 32yx . Напомним, что

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

Встроке 10 выполняется вычисление выражения и присваивание его значения переменной rez.

Для вывода результата вычисления выражения в строке 11 используется стандартная процедура writeln с использованием соответствующего формата вывода.

Встроке 12 с помощью стандартной процедуры readln пользователю предлагается завершить выполнение программы, нажав клавишу Enter.

Рассмотрим особенности выполнения программы. Изначально пользователю предлагается ввести значение пе-

ременной x:

Вводим значение переменной x, равное, например, 70, и нажимаем клавишу Enter. На экране выводится очередная подсказка о том, что нужно ввести значение следующей переменной, т.е. переменной y:

Вводим значение переменной y, равное 13, и нажимаем клавишу Enter. На экране выводится подсказка о том, что необходимо ввести значение переменной z:

62

Вводим значение переменной z, равное –2.55, и нажимаем клавишу Enter. На экране выводится результат вычисления выражения:

Завершаем выполнение программы, нажав клавишу Enter. Задание № 4. Написать в системе Турбо-Паскаль программу

для решения задачи (по вариантам):

1)вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов a и b;

2)заданы координаты трех вершин треугольника: (x1, y1), (x2, y2) и (x3, y3). Найти его периметр и площадь;

3)вычислить длину окружности и площадь круга одного и того же заданного радиуса R;

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

5)составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту H и одинаковый радиус основания R;

6)составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде v км/ч, скорость течения реки v1 км/ч, время движения по озеру t1 ч, а против течения ре-

ки – t2 ч;

7)составить программу перевода радианной меры угла в градусы, минуты и секунды;

8)найти произведение цифр заданного четырехзначного

числа;

9)даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел;

63

10)написать программу, которая выводит на экран первые четыре степени числа π ;

11)дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба;

12)треугольник задан величинами своих углов и радиусом описанной окружности. Найти стороны треугольника.

Исходные данные для решения задачи должны вводиться пользователем. Тип переменных подобрать самостоятельно в зависимости от задачи.

Примеры выполнения задания № 4:

Пример 1. Постановка задачи. Найти площадь треугольни-

ка, две стороны которого равны a и b, а угол между этими сторонами равен γ (в градусах).

Решение. Из геометрии известно, что площадь треугольника можно найти по формуле S = 12 absin γ .

Представлен пример выполнения данного задания в системе Турбо-Паскаль:

Рассмотрим особенности данной программы.

Все переменные, входящие в состав выражения для вычисления площади треугольника (a, b, gamma), и переменная, в которой будет храниться результат вычисления площади (s), объявлены в разделе описания переменных var (строки 1–2). Переменная gamma соответствует углу γ .

64

Исполняемые операторы программы располагаются между служебными словами begin (строка 3) и end (строка 13).

Спомощью процедуры write выводится подсказка пользователю о том, что необходимо ввести значения переменных a, b и gamma (строки 4, 6, 8 соответственно).

Спомощью процедуры readln пользователю предлагается ввести значения переменных a, b и gamma (строки 5, 7, 9 соответственно). После ввода значения каждой из переменных необходимо нажать клавишу Enter.

В строке 10 выполняется вычисление площади треугольни-

ка и присваивание ее значения переменной s. Следует обратить внимание, что стандартная функция sin в языке Турбо-Паскаль в качестве аргумента использует выражение, измеряемое в радианах. Поскольку пользователь вводит значение угла в градусах, при вычислении синуса необходимо производить перевод из градусов в радианы по формуле

1 градус = π /180 радиан.

Для вывода результата вычисления выражения в строке 11 используется стандартная процедура writeln с использованием соответствующего формата вывода.

В строке 12 с помощью стандартной процедуры readln пользователю предлагается завершить выполнение программы, нажав клавишу Enter.

Рассмотрим особенности выполнения программы. Изначально пользователю предлагается ввести значение пе-

ременной a, т.е. длину стороны a:

Вводим значение переменной a, равное, например, 6, и нажимаем клавишу Enter. На экране выводится очередная подсказка о том, что нужно ввести значение переменной b, т.е. длину стороны b:

65

Вводим значение переменной b, равное 7.5, и нажимаем клавишу Enter. На экране выводится подсказка о том, что необходимо ввести значение переменной gamma, т.е. угла γ :

Вводим значение переменной gamma, равное 35, и нажимаем клавишу Enter. На экране выводится вычисленная площадь треугольника:

Завершаем выполнение программы, нажав клавишу Enter.

Пример 2. Постановка задачи. Найти сумму цифр заданно-

го трехзначного числа.

Решение. Рассмотрим особенности решения этой задачи на примере.

Возьмем трехзначное число 354. Цифрами данного числа являются 3, 5 и 4. Эти цифры каким-то образом нужно извлечь из числа, чтобы получить их сумму.

Известно, что

354 = 35·10 + 4.

Таким образом, чтобы извлечь число 4, достаточно найти остаток от деления числа 354 на 10. Для этого в языке Паскаль используется операция mod:

354 mod 10

Далее необходимо извлечь цифры 3 и 5. Для начала извлечем число 35 как неполное частное от деления 354 на 10. Для этого в языке Паскаль используется операция div:

354 div 10

66

Известно, что

35 = 3·10 + 5.

Таким образом, чтобы извлечь цифру 5, найдем остаток от деления числа35 на10. Дляэтого воспользуемсяоперацией mod:

35 mod 10

Чтобы извлечь цифру 3, найдем неполное частное от деления числа 35 на 10. Для этого воспользуемся операцией div:

35 div 10

Ниже представлен пример выполнения данного задания в системе Турбо-Паскаль:

Рассмотрим особенности данной программы.

Все используемые переменные объявлены в разделе описания переменных var и имеют тип integer (строки 1–2). Переменная x соответствует вводимому пользователем трехзначному числу. Переменные c1, c2 и c3 соответствуют цифрам числа в разрядах единиц, десятков и сотен соответственно. Переменная sum соответствует сумме цифр числа.

Исполняемые операторы программы располагаются между служебными словами begin (строка 3) и end (строка 17).

67

Изначально значение переменной sum обнуляется (строка4). Далее с помощью процедуры write выводится подсказка пользователю о том, что необходимо ввести значение перемен-

ной x (строка 5).

С помощью процедуры readln пользователю предлагается ввести значение переменной x (строка 6).

Встроке 7 с помощью операции mod извлекается цифра в разряде единиц, и ее значение присваивается переменной c1. Затем это значение выводится на экран (строка 8) в качестве подсказки для пользователя.

Для того чтобы извлечь цифры в разряде десятков и сотен, отбросим цифру в разряде единиц, применив для этого операцию div, и получим тем самым двузначное число, представляющее собой неполное частное от деления трехзначного числа на 10 (строка 9).

Встроке 10 с помощью операции mod извлекается цифра в

разряде десятков, и ее значение присваивается переменной c2. Затем это значение выводится на экран (строка 11) в качестве подсказки для пользователя.

Встроке 12 с помощью операции div извлекается цифра в разряде сотен, и ее значение присваивается переменной c3. Затем это значение выводится на экран (строка 13) в качестве подсказки для пользователя.

Встроке 14 вычисляется сумма цифр числа, и значение этой

суммы присваивается переменной sum.

Для вывода суммы цифр числа в строке 15 используется стандартная процедура writeln.

В строке 16 с помощью стандартной процедуры readln пользователю предлагается завершить выполнение программы, нажав клавишу Enter.

Рассмотрим особенности выполнения программы. Изначально пользователю предлагается ввести значение пе-

ременной x, т.е. трехзначного числа:

68

Вводим значение переменной x, равное, например, 239, и нажимаем клавишу Enter. На экране выводятся извлеченные цифры числа и их сумма:

Завершаем выполнение программы, нажав клавишу Enter.

Вопросы для самоконтроля

1.Для чего предназначен раздел операторов?

2.Каким символом операторы отделяются друг от друга?

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

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

5.Для чего предназначен раздел описания, начинающийся с

ключевого слова var?

6.В каком разделе описываются переменные, которым требуется присвоить значение до начала работы программы?

7.Какая программа называется линейной?

8.Что называется консолью?

9.Для чего предназначены операторы read и readln?

Вчем заключается различие между ними?

10.Для чего предназначены операторы write и writeln?

Вчем заключается различие между ними?

11.В крайние правые позиции поля шириной 11 символов не-

обходимо вывести десятичное представление переменной x типа real в нормализованном формате с плавающей точкой. Запишите на языкеТурбо-Паскальсоответствующийоператор вывода.

12. В крайние правые позиции поля шириной 9 символов необходимо вывести десятичное представление переменной x типа real в формате с фиксированной точкой, причем после

69

десятичной точки должно выводиться 3 цифры, представляющие дробную часть числа. Запишите на языке Турбо-Паскаль соответствующий оператор вывода.

Лабораторная работа № 4 ЛОГИЧЕСКИЙ И СИМВОЛЬНЫЙ ТИПЫ ДАННЫХ

1. Цель работы

Научиться разрабатывать простейшие линейные программы в системе Турбо-Паскальсиспользованием логических выражений.

2. Краткие теоретические сведения12

2.1. Основы алгебры логики

Прямое отношение к программированию имеет дисциплина, которая называется математической логикой. Основу математической логики составляет алгебра логики, или исчисление высказываний. Под высказыванием понимается любое утверждение, в отношении которого можно однозначно сказать, истинно оно или ложно. Например, «Луна – спутник Земли» – истинно; «7 > 4» – истинно; «Пермь – столица России» – ложно; «2 = 9» –

ложно. «Истина» или «ложь» являются логическими величина-

ми. Логические значения приведенных выше высказываний однозначно определены. Другими словами, их значения являются

логическими константами.

Логическое значение неравенства x > 5, где x – переменная, является переменной величиной. В зависимости от значения x оно может быть либо истиной, либо ложью. В связи с этим воз-

никает понятие логической переменной.

12 Семакин И.Г., Шестаков А.П. Лекции по программированию: Учебное пособие. – 2-е изд., доп. – Пермь: Изд-во Перм. ун-та, 1998. – 279 с.

Программирование на языке высокого уровня Паскаль. Лекция 1. Основные понятия языка [Электронный ресурс]. – URL: http://www.intuit.ru/ studies/courses/628/484/lecture/6259. (дата обращения: 28.06.2013).

70