Другие языки программирования и технологии

Вроде Pascal. Решить задачи, объяснить.

Задача1
Дано число b, выяснить является ли оно трехзначным, если да, то умножить его на 13, если нет, то выяснить четное оно или нет.

Задача2
Y+7(12y+y^3-5sinx)
----------------------------
y^2+sin x

И объясните как решать.
{Вводим число b, переводим его модуль в строку s (125,+000678 и -273 окажутся при этом трёхзначными числами, каковые они и есть!), если длина строки равна или не равна трём, то действуем дальше по условиям задачи: }

program first; var b:int64; s:string; begin write('b='); readln(b); str(abs(b),s); if length(s)=3 then begin b:=b*13; writeln(b) end else if (b mod 2)=0 then writeln('Число чётное!') else writeln('Число нечётное!') end.

program second; var x,y,yy,si:real; begin while true do begin write('x y > '); readln(x,y); si:=sin(x); yy:=y*y; writeln((y+7*(y*(12+yy)-5*si))/(yy+si)) end end.
Арманжан Касимов
Арманжан Касимов
28 648
Лучший ответ
Первое:

readln(b);
if trunc(ln(b)/ln(10))=2 then
writeln(b*13)
else
writeln(even(b));

Насчет второго не понял.
EE
Eurozion Eurozion
53 857
Андрей Цымбрило В первой задаче заранее неизвестно какое b- положительное или отрицательное, хотя похоже, что целое. А из отрицательного как брать логарифм?
Во второй задаче надо просто вычислять дробь- вверху показан числитель, внизу знаменатель, а как написано переменная Y или y- это не важно: всё равно одно число!..
С первой вообще прикола не понял... А что есть для того, чтобы узнать это?
Женя Стоянов
Женя Стоянов
5 259
Руслан Мухаметзянов Без понятия. Вроде нужно выполнить как блок схему.
Ну узнать число знаков можно по разному, можно к примеру создать временную переменную в нее вписать число, потом брать ее остаток от деления на 10 (%10 это наша цифра) потом делить на 10 без остатка (/10 уменьшаем на цифру) и считать пока деление без остатка не станет 0. немного морочно зато можно для любой длинны, так же на первом ходу можно сразу поставить какой-то флаг о том четное или нет (деление с остатком последнего разряда (первый шаг) на 2 дает 0)

Второе непонятно о чем? Типа перебор сделать что ли?
задача 1: создай переменную счетчик, и в цикле делай div 10 пока число больше нуля, и увеличивай счетчик при каждом заходе в цикл, таким образом в счётчике будет количество цифр твоего числа, а потом тупо проверяешь равно ли это количество трём, и если да, то умножаешь на три, а если нет, то проверяешь на чётность с помощью mod 2, дальше думаю справишься, про вторую задачу нечего не понял