В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
annasolovey63
annasolovey63
16.12.2021 22:13 •  Информатика

Склавиатуры вводится строка, содержащая целые числа, отделённые друг от друга знаками арифметических операций + - * /. подсчитать и вывести значение этого выражения. операции выполняются последовательно (как на калькуляторе) без учёта приоритета операций. pascal abc

Показать ответ
Ответ:
linaageeva96
linaageeva96
06.10.2020 02:35
Var
   A,R:real;
   i,L,z:integer;
   S:string;
Begin
Read(S);
L:=Length(S);
i:=1;
R:=0;
While (S[i]in['0'..'9'])and(i<L) do
   Begin
   R:=R*10+StrToInt(S[i]);
   i:=i+1
   End;
While i<L do
   Begin
   Case S[i] of
      '+':z:=0;
      '-':z:=1;
      '*':z:=2;
      '/':z:=3;
   End;
   i:=i+1;
   A:=0;
   While (S[i]in['0'..'9'])and(i<L) do
      Begin
      A:=A*10+StrToInt(S[i]);
      i:=i+1
      End;
   if i=L then A:=A*10+StrToInt(S[L]);
   Case z of
      0:R:=R+A;
      1:R:=R-A;
      2:R:=R*A;
      3:R:=R/A;
   End;
   End;
WriteLn('R = ',R);
End.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота