Адекватная версия:
PascalABC.NET
begin
var expr := Readstring();
expr.Split(' ')[0].Println;
end.
Версия "Нас так учили"
var
expression: string;
s_index: byte;
begin
s_index := 1;
readln(expression);
while expression[s_index] <> ' ' do begin
write(expression[s_index]);
s_index := s_index + 1;
end;
end.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
Адекватная версия:
PascalABC.NET
begin
var expr := Readstring();
expr.Split(' ')[0].Println;
end.
Версия "Нас так учили"
var
expression: string;
s_index: byte;
begin
s_index := 1;
readln(expression);
while expression[s_index] <> ' ' do begin
write(expression[s_index]);
s_index := s_index + 1;
end;
end.
Объяснение:
Т.к по условию слово - последовательность непробельных символов, ограниченная пробелами или концами строки, то данная программа полностью игнорирует пунктуацию и считает любой символ частью того слова, с которым он не разделён пробелом.
a = 8
b = -4
Объяснение:
переменной a присваивается значение 2, то есть a := 2
переменной b присваивается значение 3, то есть b := 3
Проходим дальше по алгоритму...
b представляем как 3. 3 > 0
даём ответ да
Проходим дальше по алгоритму...
b присваиваем b * 2 так, как a присваивается a * 2 (4) записываем
b := 3 * 2 - 4
b := 2
Сравниваем ещё раз...
Опять не подходит. Отвечаем да!
Выполняем действие ещё раз по образцу сверху
Должно получиться:
b := -4
a := 8
Сравниваем ещё раз...
Так как уже сравнение не верное выводим на нет.
Наши ответы готовы))