Задача. Переприсвоить значения 2-х переменных
Уровень B
Стандартные алгоритмы
Задача. Переприсвоить значения 2-х переменных.
Даны значения X, Y. Поменять значения переменных X и Y {с использованием 3-ей переменной}. Пусть X:=5; Y:=10; {новой переменной Z присвоим значение одной из переменных, например X, теперь переменной X можно присвоить значение Y, а переменной Y значение переменной Z}
Пример 1.1. Алгоритм, запрашивающий имя и затем приветствущий его обладателя.
Тест
Данные | Результат |
Имя ="Ольга" | "Привет, Ольга !" |
Школьный АЯ
алг Знакомство (арг лит Имя, рез лит t)
нач
вывод "Как тебя зовут?"
ввод Имя
t := "Привет, " + Имя + "!" {"+" — операция сцепки}
вывод t
кон
Turbo Pascal
Program Hallo;
Var Name: String; {Описание переменной Name строкового типа}
BEGIN
Write(‘Kaк тебя зовут ?’); {Вывод на экран текста вопроса}
ReadLn (Name); {Ввод с клавиатуры имени}
Writeln (‘Привет,’, Name, ‘!’); {Вывод на экран приветствия}
ReadLn
END.
Здесь последний оператор ReadLn позволяет видеть на экране результаты работы программы, пока не будет нажата клавиша
Результаты работы Pascal-программы
Как тебя зовут ? Ольга < Enter >
Привет, Ольга!
Комментарии

program с этого слова начинается любая программа на Паскале. После слова program указывается название программы.
begin и end. между этими словами находится "тело программы", то есть код который будет выполняться.
Команды writeln() и write() применяется для вывода на экран монитора, либо на другое устройство вывода (принтер, диск и др.), первая команда, в отличие от второй, выводит строку с символом перевода строки. В кавычках расположено сообщение, которое по выполнению программы будет выведено на устройство вывода. Знак ";" обозначает конец команды, или точнее является разделителем устанавливаемым между командами.
Функции для работы с числовыми значениями. Как вы, наверное, помните из курса математики средней школы, математика не исчерпывается четырьмя арифметическими действиями. Существуют также тригонометрические функции, возведение числа в степень, квадратный корень и др.
Проблема

Необходимо вычислить значения следующих выражений.
sin x
cos x
тангенс x
квадратный корень из х
возвести х в степень у
вычислить экспоненту степени х
вычислить натуральный логарифм от х
Решение

Используем для расчетов переменные.
programm Calc;
var x, y : Real;
begin
x := 5;
y := 2;
writeln(sin(x));
writeln(cos(x));
writeln(sin(x)/cos(x));
writeln(sqrt(x));
writeln(exp(y*ln(x)));
writeln(exp(x));
writeln(ln(x));
end.
Комментарии

Как вы наверное успели заметить ничего сложного, очень напоминает привычные математические функции. Исключение, разве что, возведение в степень. Паскаль не имеет функции возведения числа в степень, но это функция, как вы успели заметить, реализуется с помощью комбинации функций логарифма и экспоненты. Вычисление тригонометрических функций происходит в радианах. Для перевода радиан в градусы воспользуйтесь константой числом Пи. Перевод радиан в градусы известный вам из курса математики будет выглядеть так:
x_grad = x * 180 / pi;
Перевод градусов в радианы:
x = x_grad * pi / 180;
Для того чтобы выводимый результат смотрелся более наглядно используйте следующий формат записи: writeln(sin(x):5:2); дословно это означает: "вывести на экран синус числа х в формате из 5 символов из них 2 знака после запятой".
Другие полезные функции для работы с числовыми значениями.
Существуют некоторые простые для человека задачи, для решения которых компьютеру нужно дать определенные инструкции.
Проблема

Необходимо вычислить значения следующих выражений.
модуль x
найти целую часть вещественного числа x
получить случайное число в диапазоне от 0 до х
Решение

program funcs;
var x, m, i, r : Real;
p : Integer;
begin
x := -5.234;
m := abs(x);
writeln('Модуль: ', m );
i := int(x);
writeln('Целая часть: ', i);
p:=100;
r:=random(p);
writeln('Случайное число: ', r:7:3);
end.
Комментарии

В отличие от привычной записи вещественного числа 5,234 в большинстве языков программирования для отделения дробной части числа используется "." (точка): 5.234.
Пример 1.2. Определить объём и площадь боковой поверхности цилиндра с заданными радиусом основания R и высотой Н.
Тест
Данные | Результат | ||
R = 1 | Н = 1 | V = 3.14 | S = 6.28 |
Школьный АЯ
алг Цилиндр (арг вещ R, Н, рез вещ V, S)
нач вещ Pi
Pi := 3.14
V:= Pi * R**2 * H
S:= 2 * Pi * R * H
кон
Turbo Pascal
Program Cylinder;
Uses Crt; {Подключение библиотеки Crt}
Var R, H, V, S : real;
BEGIN
CIrScr; {Вызов из библиотеки Crt процедуры очистки экрана}
Write (‘Введите высоту цилиндра: ‘); ReadLn (H);
Write (‘Введите радиус основания: ‘); ReadLn(R);
V := Pi * R * R * H; S := 2 * Pi * R * H; WriteLn;
Writelп (‘Объем цилиндра = ‘, V : 5 : 2); {Здесь 5 — общее количество позиций, занимаемых переменной V при выводе, а 2 — количество позиций в дробной части значения V}
Writeln (‘Площадь боковой поверхности = ‘, S : 5 : 2);
ReadLn
END.
Пример 1.3. Найти произведение цифр заданного целого четырехзначного числа.
Система тестов
Номер теста | Проверяемый случай | Число | Результат |
1 | Число положительное | 2314 | Р = 24 |
2 | Число отрицательное | -1245 | Р = 40 |
Школьный АЯ
алг Произведение цифр (арг цел Num. рез цел Р)
нач цел i, j, k, I
Num := abs(Num)
I:=div(Num, 1000)
j := mod(div(Num, 100), 10)
k := mod(div(Num, 10), 10) I:=mod(Num, 10) P := i * j * k * I;
KOH
abs — абсолютная величина
i — первая цифра
div — частное от деления с остатком
j — вторая цифра
mod — остаток от деления с остатком
k — третья цифра
I — четвертая цифра
Turbo Pascal
Program DigitsProduct;
Uses Crt;
Var Number, {заданное число}
i, j, k, L, {цифры числа} Р : Integer; {произведение цифр}
BEGIN
CirScr;
Write( ‘Введите четырехзначное число: ‘ ); ReadLn(Number);
Write( ‘Цифры числа ‘ , Number ); Number:=Abs(Number);
i := Number div 1000; {первая цифра}Write(i:3);
j := Number div 100 mod 10; Write(j:3); {вторая цифра}
k := Number div 10 mod 10; Write(k:3); {третья цифра}
L := Number mod 10; WriteLn(L:3); {четвертая цифр}
Р := i * j * k * L; WriteLn( 'Ответ: произведение цифр равно ' , Р );
ReadLn
END.
страница 1
скачать
Другие похожие работы: