Простейшие функции ввода-вывода

Арифметические функции

Таблица 3. Арифметические функции.

Функция Тип операнда Тип результата Описание

Abs(x) целый, вещественный вещественный возвращает абсолютное значение аргумента

Arctan(x) целый, вещественный вещественный возвращает арктангенс аргумента

Cos(x) целый, вещественный вещественный возвращает косинус аргумента

Sin(x) целый, вещественный вещественный возвращает синус аргумента

Exp(x) целый, вещественный вещественный возвращает экспоненту аргумента

Ln(x) целый, вещественный вещественный возвращает натуральный логарифм аргумента

pi - вещественный Возвращает значение числа Пи = 3.1415926535897932385

frac(x) целый, вещественный вещественный возвращает дробную часть аргумента

Int(x) целый, вещественный вещественный возвращает целую часть аргумента

Sqr(x) целый, вещественный вещественный возвращает аргумент в квадрате

Sqrt(x) целый, вещественный вещественный возвращает квадратный корень аргумента

 

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

 

Для ввода с клавиатуры данных во время исполнения программы, в ЯП Паскаль существует две функции:

read(<список вводимых значений>); - чтение данных без перевода строки;

readln(<список вводимых значений>); - чтение данных с переводом строки.

 

Список вводимых значений представляет собой имена переменных, разделенных запятыми. Во время исполнения программы, вводимые значения разделяются пробелами, либо нажатием Enter. По завершении ввода нажимается Enter. Для того чтобы приостановить выполнение программы до нажатия Enter, используйте оператор readln без скобок (если до его использования был выполнен оператор read, то необходимо "пустой" readln написать дважды).

 

Для вывода информации на экран существует две функции:

write(<список выводимых значений>); - вывод без перевода строки;

wrteln(<список выводимых значений>); - вывод с переводом строки.

 

Список выводимых значений может содержать константы, переменные, выражения, которые разделяются запятой. При выводе нескольких значений разделяйте их пробелом (write(3,,v,,(4+v)*5);) или пользуйтесь форматным выводом. Для вывода данных стандартных типов предусмотрена следующая форма форматного вывода:

<значение>:pos,

 

где pos - число позиций на экране, отводимых для вывода значения. В том случае, если длина выводимого значения меньше pos, то значение сдвигается к правому краю отведенного поля. При выводе в такой форме данных вещественного типа, они отображаются в экспоненциальной форме (оператор write(45.6:7) выведет на экран 4.6E+01). Значение pos меняется от 7 до 24. Для вещественных типов данных можно использовать другой формат вывода:

<значение>:pos:q,

где pos - общее число позиций на экране, отводимых для вывода значения, а q - число позиций, отводимых для вывода дробной части числа.

 

Практическое задание №1. Линейные алгоритмы

 

Задание: Написать программу, которая вычисляет результат выражения

 

Сначала определимся, какие переменные понадобятся при написании программы для вычисления этого выражения. Во-первых, нам понадобиться переменная x, она будет вещественного типа; во-вторых, нам понадобиться переменная, в которую запишем результат выражения, обозначим ее, например, как f, она так же будет вещественного типа. Тогда переменные x и f, необходимо зарегистрировать в разделе описания переменных, как переменные вещественного типа, например, real. Прежде чем использовать переменную x в выражении для вычисления f мы ее значение будем задавать с помощью оператора ввода. Т.к. значение x будет задаваться с помощью оператора ввода, то оно будет отображаться на экране вывода, тогда остается только вывести результат выражения после того, как оно будет посчитано. Первое слагаемое выражения записывается достаточно просто, а вот второе слагаемое 10tg(x) нужно записать через функции представленные в таблице 3. Из этой таблицы понадобятся функции: sin, cos, ln, exp. В итоге получаем следующую программу.

 

Var x,f:real; {начало раздела описания переменных,

в котором регистрируются переменные x и f - типа real}

begin {начало раздела операторов}

readln(x); {задание значения х через оператор ввода}

f:=2*x+exp(sin(x)/cos(x)*ln(10)); {присвоение переменной f результата выражения}

writeln(f); {вывод значения f}

readln; {ожидание нажатия клавиши Enter}

End. {конец программы}

 

 

Необходимо найти сумму первой и последней цифры заданного трехзначного натурального числа. Сначала определимся, какие переменные понадобятся при написании программы. Во-первых, нам понадобиться переменная x, которая будет характеризовать трехзначное число, она будет целого типа; во-вторых, нам понадобиться 2 переменные, например, a и b, которые будут отвечать за первую и последнюю цифру числа, соответственно. Они также будут целого типа. Значение x будет задаваться с помощью оператора ввода, тогда остается только вывести в конце программы результат суммы a и b. Чтобы получить первую и последнюю цифру числа, воспользуемся функциями div и mod. В итоге получаем следующую программу.

 

Var x,a,b:integer; {начало раздела описания переменных,

в котором регистрируются переменные x, a и b - типа integer}

begin {начало раздела операторов}

readln(x); {задание значения х через оператор ввода}

a:=x div 100; {присвоение переменной a значения первой цифры}

b:=x mod 10; {присвоение переменной b значения второй цифры}

writeln(a+b); {вывод значения суммы цифр}

readln; {ожидание нажатия клавиши Enter}

End. {конец программы}