Program YouName;
Uses crt; // Использование модуля crt.
Const e = 2.71828; // Объявление константы e.
Var // Раздел для описания переменных.
m,n: Integer; // Объявляем целочисленные переменные.
x,u,y: Single; // Объявляем дробные переменные.
Label check1, check2; // Объявляем метки для оператора Goto.
Begin // Начало "тела" программы.
check1: // Метка для без условного перехода с оператора Goto.
write('Введите m: '); // Вывод текстового сообщения на экран консоли.
// {$I-} - это деректива, которая перехватывает вывод ошибок.
// т.e., если во время выполнение программы между {$I-} и {$I+} не будет ошибок,
// то значение IOResult будет равно 0. Если во время выполения программы произойдет ошибка,
// то программа не остановится, а задаст значение IOResult неравное 0.
// {$I+} соответственно отключает дерективу.
{$I-} // Включение директивы.
readln(m); // Ввод значения переменной m.
{$I+} // Отключение директивы
If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..
Begin // Начало подпрограммы.
writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.
writeln('Введите число'); // Вывод текстового сообщения на экран консоли.
Goto check1; // Переход на метку check1
End; // Конец подпрограммы.
check2: // Метка для без условного перехода с оператора Goto.
write('Введите n: '); // Вывод текстового сообщения на экран консоли.
readln(n); // Ввод значения переменной n.
{$I+} // Отключение директивы.
Goto check2; // Переход на метку check2
x:=(m*n-exp(ln(e)*((-m)*0.7)))/(2.67); // Вычисление x
y:=ln(2)*(m+1); // Вычисление y
u:=0.125*sqrt(x/y)+exp(ln(e)*cos(x-y)); // Вычисление u
writeln(u:0:4); // Вывод текстового сообщения на экран консоли.
// u:0:4 - это задает переменной u четыре знака после запятой.
End. // Конец "тела" программы.
3) 137 = 10001001 (нужно число делить на 2, записывая остаток, и так до тех пор пока число уже нельзя будет делить, потом записываем остатки в обратном порядке)
137 / 2 = 68 ( остаток 1)
68 / 2 = 34 (остаток 0)
34 / 2 = 17 (остаток 0)
17 / 2 = 8 (остаток 1)
8 / 2 = 4 (0)
4 / 2 = 2 (0)
2 / 2 = 1 (0)
Теперь записываем остатки в обратном порядке = 10001001
4) Как я понял 8 и 16 это систему счисления, если да то:
а)151 = 1 * 8^2 + 5 * 8^1 + 1 * 8^0 = 64 + 40 + 1 = 105
б) 2С = 2 * 16 + 12(С) = 32 + 12 = 44
Program YouName;
Uses crt; // Использование модуля crt.
Const e = 2.71828; // Объявление константы e.
Var // Раздел для описания переменных.
m,n: Integer; // Объявляем целочисленные переменные.
x,u,y: Single; // Объявляем дробные переменные.
Label check1, check2; // Объявляем метки для оператора Goto.
Begin // Начало "тела" программы.
check1: // Метка для без условного перехода с оператора Goto.
write('Введите m: '); // Вывод текстового сообщения на экран консоли.
// {$I-} - это деректива, которая перехватывает вывод ошибок.
// т.e., если во время выполнение программы между {$I-} и {$I+} не будет ошибок,
// то значение IOResult будет равно 0. Если во время выполения программы произойдет ошибка,
// то программа не остановится, а задаст значение IOResult неравное 0.
// {$I+} соответственно отключает дерективу.
{$I-} // Включение директивы.
readln(m); // Ввод значения переменной m.
{$I+} // Отключение директивы
If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..
Begin // Начало подпрограммы.
writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.
writeln('Введите число'); // Вывод текстового сообщения на экран консоли.
Goto check1; // Переход на метку check1
End; // Конец подпрограммы.
check2: // Метка для без условного перехода с оператора Goto.
write('Введите n: '); // Вывод текстового сообщения на экран консоли.
{$I-} // Включение директивы.
readln(n); // Ввод значения переменной n.
{$I+} // Отключение директивы.
If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..
Begin // Начало подпрограммы.
writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.
writeln('Введите число'); // Вывод текстового сообщения на экран консоли.
Goto check2; // Переход на метку check2
End; // Конец подпрограммы.
x:=(m*n-exp(ln(e)*((-m)*0.7)))/(2.67); // Вычисление x
y:=ln(2)*(m+1); // Вычисление y
u:=0.125*sqrt(x/y)+exp(ln(e)*cos(x-y)); // Вычисление u
writeln(u:0:4); // Вывод текстового сообщения на экран консоли.
// u:0:4 - это задает переменной u четыре знака после запятой.
End. // Конец "тела" программы.