Номер подразделения — целое число от 1 до 1000, он записан на пропуске как двоичное число и занимает минимально возможное целое число байт (сколько?)
ответ на 1 задачу Алгоритм выглядит таким образом: ввести x, y; если x>y то s:=(x*y)*2; иначе s:=(x+y)/2; вывод s конец. (блок-схема прилагается в скриншоте 1)
На паскале выглядит примерно так: var x, y, s:real; begin readln(x,y); if x>y then s:=(x*y)*2; else s:=(x+y)/2;
writeln(s:2:2); end.
ответ на 2 задачу Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)
ответ на 3 задачу Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".
На паскале выглядит примерно так:
var a, b, c:integer; {если число вещественное} begin readln(a, b, c); if (a<b<c) then writeln("Верно"); else writeln("Неверно"); end.
ответ на 4 задачу На паскале: var a, b, c, max:integer; begin max:=0; readln(a,b,c); if max<a then max:=a; if max<b then max:=b; if max<c then max:=c;
writeln(max); end.
ответ на 5 вопрос На паскале:
Var a,b,c:integer; begin readln(a,b,c); if (a<0) then a:=a*a; writeln(a);
Не такое оно и сложное. Главная проблема - то, что между словами может быть несколько пробелов. Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:
function RemoveSpaces(str : string) : string; begin //Тут цикл for, переписанный через while var iter := 1; //Проходим по строке while (iter < str.Length) do begin //Если видим 2 пробела подряд, удаляем 1 и откатывает итератор. if (str[iter] = ' ') and (str[iter + 1] = ' ') then begin str := str.Remove(iter, 1); iter -= 1; end; iter += 1; end; RemoveSpaces := str; end;
Теперь мы можем получить кол-во слов очень просто:
function CalcWords(str : string) : integer; begin CalcWords := RemoveSpaces(str).Split(' ').Count(); end;
Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.
Алгоритм выглядит таким образом:
ввести x, y;
если x>y то
s:=(x*y)*2;
иначе
s:=(x+y)/2;
вывод s
конец. (блок-схема прилагается в скриншоте 1)
На паскале выглядит примерно так:
var
x, y, s:real;
begin
readln(x,y);
if x>y then
s:=(x*y)*2;
else
s:=(x+y)/2;
writeln(s:2:2);
end.
ответ на 2 задачу
Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)
ответ на 3 задачу
Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".
На паскале выглядит примерно так:
var
a, b, c:integer; {если число вещественное}
begin
readln(a, b, c);
if (a<b<c) then
writeln("Верно");
else
writeln("Неверно");
end.
ответ на 4 задачу
На паскале:
var
a, b, c, max:integer;
begin
max:=0;
readln(a,b,c);
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;
writeln(max);
end.
ответ на 5 вопрос
На паскале:
Var
a,b,c:integer;
begin
readln(a,b,c);
if (a<0) then
a:=a*a;
writeln(a);
if (b<0) then
b:=b*b;
writeln(b);
if (c<0) then
c:=c*c;
writeln(c);
end.
Удачи!
Главная проблема - то, что между словами может быть несколько пробелов.
Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:
function RemoveSpaces(str : string) : string;
begin
//Тут цикл for, переписанный через while
var iter := 1;
//Проходим по строке
while (iter < str.Length) do
begin
//Если видим 2 пробела подряд, удаляем 1 и откатывает итератор.
if (str[iter] = ' ') and (str[iter + 1] = ' ') then
begin
str := str.Remove(iter, 1);
iter -= 1;
end;
iter += 1;
end;
RemoveSpaces := str;
end;
Теперь мы можем получить кол-во слов очень просто:
function CalcWords(str : string) : integer;
begin
CalcWords := RemoveSpaces(str).Split(' ').Count();
end;
Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.
полный код: https://pastebin.com/A63ggdWm