Смекни!
smekni.com

Линейные программы Методические указания по дисциплине «Информатика» к выполнению практической работы №1 (стр. 3 из 4)

Write (‘Среднее значение ‘, First, ‘, ‘,Second, ‘ и ‘, Third, ‘ равно ‘, Sum:5:2);

ReadLn;

End.

Имя программы Srednee отражает содержание задачи. Далее идет подключение модуля Crt. В разделе Var описаны First, Second, Third как переменные целого типа, а Sum – действительного типа. Раздел операторов начинается со стандартной процедуры очистки экрана ClrScr (Clear Screen), которая находится в модуле Crt. Далее оператором Write мы выводим на экран сообщение ‘Введите первое число ‘, получив которое пользователь должен ввести число. Теперь компьютер должен считать введенные символы и занести их в переменную First, это произойдет при выполнении следующего оператора ReadLn(First). Затем с помощью оператора Write запрашиваем значения еще двух чисел и считываем их в переменные Second и Third. Затем вычисляем их сумму и присваиваем полученное число переменной Sum. Чтобы найти среднее, нужно теперь полученное число разделить на 3 и сохранить результат в какой-либо переменной. Совсем не обязательно описывать еще одну переменную для сохранения результата. Можно, как в нашей программе, значение переменной Sum разделить на 3 и результат опять присвоить той же переменной Sum. Теперь можно вывести результат вычислений на экран с помощью процедуры Write. И, наконец, последняя процедура ReadLn задержит наш вывод на экране до нажатия на клавишу.

Нажмите клавиши <Ctrl>+<F9>. Введите значения переменных 5, 7 и 12, на экране увидите следующее:

Среднее значение 5, 7 и 12 равно 8.00

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

Стандартные функции и процедуры.

Применение в простейших линейных программах.

Для решения задач нам понадобятся стандартные функции и процедуры.

Функция – это такая организация преобразования переданного ей значения, при которой это измененное значение передается обратно.

Процедура – это такая организация преобразования переданного ей значения параметра, при которой изменяется значение этого параметра, и, в отличие от функции, не возвращает никакого значения.

Познакомимся с основными, наиболее часто используемыми.

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

1) Abs(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет модуль (абсолютную величину) числа х;

2) Cos(x), где аргумент и результат являются переменными вещественного типа – вычисляет косинус х;

3) Sin(x), где аргумент и результат являются переменными вещественного типа – вычисляет синус х;

4) Frac(x), где аргумент и результат являются переменными вещественного типа – выделяет дробную часть числа х;

5) Int(x), где аргумент и результат являются переменными вещественного типа – выделяет целую часть числа х;

6) Pi, где результат является переменной вещественного типа – вычисляет значение

;

7) Random(x), где аргумент и результат являются переменными целого типа – генерирует случайное число в пределах от 0 до х включительно. Если параметр х не задан, то формируется вещественное число от 0 до 1. Перед использованием данной функции нужно инициализировать генератор случайных чисел при помощи процедуры Randomize (см. ниже);

8) Sqr(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет

;

9) Sqrt(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет

.

II Функции преобразования типов

1) Chr(x), где аргумент типа Byte, а результат типа Char– возвращает символ, у которого код в таблице ASCII равен х;

2) Ord(x), где аргумент может быть любого порядкового типа, а результат типа LongInt – возвращает порядковый номер значения х при начале нумерации с нуля;

3) Round(x), где аргумент вещественного типа, результат типа LongInt – округляет число х до ближайшего целого;

4) Trunc(x), где аргумент вещественного типа, результат типа LongInt – выделяет целую часть числа х.

III Функции для порядковых типов

1) Odd(x), где аргумент типа LongInt, а результат логического типа – определяет, является ли число четным (результат false) или нечетным (результат true);

2) Pred(x), где аргумент и результат любого порядкового типа – получает предшествующее значение;

3) Succ(x), где аргумент и результат любого порядкового типа – получает последующее значение;

4) Upcase(x), где аргумент и результат типа Char – преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).

IV Процедуры для порядковых типов

1) Dec(x), где аргумент любого порядкового типа – уменьшает значение переменной х на 1;

2) Dec(x,n), где х любого порядкового типа, а n типа LongInt – уменьшает значение переменной х на n;

3) Inc(x), где аргумент любого порядкового типа – увеличивает значение переменной х на 1;

4) Inc(x,n), где х любого порядкового типа, а n типа LongInt – увеличивает значение переменной х на n;

5) Randomize – инициализирует генератор случайных чисел.

Правила применения функций:

• чтобы воспользоваться функцией, нужно указать ее в правой части оператора присваивания;

• при обращении к функции необходимо в круглых скобках указать ее аргументы;

• в разделе описания переменных правильно указывайте типы переменных, которые хотите употребить в качестве аргумента или результата функции;

• в одном выражении можно обратиться к нескольким функциям.

Правила применения процедур:

• для выполнения процедуры ее надо вызвать в программе в виде оператора;

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

Задача 3. Найти значения выражений:

a) (1+x)2 b) c) |a+ bx|

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

a) (1+x)2 - sqr(1+x)

b) - sqrt((1+A)*5)
c) - abs(A+b*x)

Теперь уже можно переходить к составлению программы.

Program Primer;

Uses

Crt;

Var

A : word; {так как подкоренное выражение должно быть положительно}

b, x, Rezult : integer;

Begin

ClrScr;

Writeln(‘Введите значения переменных (A-положительно)’);

Write(‘A=’);

Readln(A);

Write(‘b=’);

Readln(b);

Write(‘x=’);

Readln(x);

Result := sqr(1+x);

Write (‘sqr(1+x)=’, Rezult);

Result := sqrt((1+A)*5);

Write (‘sqrt((1+A)*5)=’, Rezult);

Result := abs(A+b*x);

Write (‘abs(A+b*x)=’, Rezult);

Readln;

End.

2. Задание

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

Группа А

1. Ввести два числа a и b. С помощью оператора присваивания обменять их значения:

а) с использованием промежуточной переменной (x:=a; a:=b; b:=x);

b) без использования промежуточной переменной (a:=a-b; b:=a+b; a:=b-a).

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

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

4. Написать программу для печати звездочками одной из фигур:

а) елочки (нескольких елочек);

б) снежинки (нескольких снежинок);

в) домика.

Например,

*

* *

* *

**********

* *

* *

* *

* *

**********

5. Составить свою визитную карточку.

*******************************

* Иванов Сергей *

* Катаева 74 кв. 55 *

* Телефон 45-72-88 *

*******************************

6. Составьте диалог пользователя с компьютером на произвольную тему.

Например, машина задает два вопроса “Как тебя зовут?” и “Сколько тебе лет?”; после введения имени (Антон) и числа (15) выводит на экран “Да... Через 50 лет тебе уже будет 65 лет, а звать тебя будут не Антон, а дед Антон”

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

8. Запросить у пользователя два числа и вывести на экран результат целочисленного деления и остаток от целочисленного деления в виде таблицы. Например, при вводе чисел 5 и 3 на экране должна быть такая таблица:

**************************

* X * Y * div * mod *

**************************

* 5 * 3 * 1 * 2 *

**************************

9. Написать программу, которая запрашивает название животного и число, а затем выводит на экран фразу типа "Белка съест 10 грибов" (при вводе слова "белка" и числа 10).

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

Группа В

1. Найти значение арифметического выражения, запросив значения переменных у пользователя:

а)

b)
c)

2. По данным сторонам прямоугольника вычислить его периметр (P), площадь (S) и длину диагоналей (D) по формулам: Р=2(a+b); S=ab; D=

3. Запросите действительное число и найдите целую часть этого числа и округлите его до ближайшего целого.