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

Решить в среде pascal: 1) написать простенький калькулятор через ввод строки, который на входе получает строку вида "число1 знак операции число2" (например, "2 + 5" или "3 / 42"), а выводит значение этого выражения. числа - любые целые неотрицательные, знаки - +. -. *, / 2) написать программу, которая на входе получает строку под кодовым названием "загрязненное число" (вида "4km-549_ffb)5)6") состоящую из символов, а на выходе выводит удвоенное число из изначальной строки (а именно, 454956*2 = 909912)

Показать ответ
Ответ:
Slavaevdok2017
Slavaevdok2017
03.10.2020 03:37
// PascalABC.NET 3.0, сборка 1128
uses
  System.Text.RegularExpressions;
 
begin
  var s:='     - 32    / - 21  ';
  s:=RegEx.Replace(s,'\s','');
  var a:=RegEx.Matches(s,'(-{0,1}\d+)|[\+\-\*/]');
  var n:=a.Count;
  var x,y:integer;
  var c:char;
  case n of
  3:begin
    x:=StrToInt(a[0].ToString); y:=StrToInt(a[2].ToString);
    c:=a[1].ToString[1]
    end;
  2:begin
    x:=StrToInt(a[0].ToString); var s1:=a[1].ToString;
    c:=s1[1]; s1[1]:='0'; y:=StrToInt(s1)
    end;
  else
    begin Writeln('Недопустимое выражение'); exit end
  end;
  WriteFormat('{0} {1} {2} = ',x,c,y);
  case c of
  '+':Writeln(x+y);
  '-':Writeln(x-y);
  '*':Writeln(x*y);
  '/':Writeln(x/y)
  end
end.

Тестовое решение:
-32 / -21 = 1.52380952380952

// PascalABC.NET 3.0, сборка 1128
begin
  var s:='4km-549_ffb)5)6';
  var t:=s.Where(x->x in ['0'..'9']).JoinIntoString('');
  var n:int64;
  if TryStrToInt64(t,n) then Writeln(2*n)
  else Writeln('Не удалось выделить число')
end.

Тестовое решение:
909912
0,0(0 оценок)
Ответ:
turovyuriy
turovyuriy
03.10.2020 03:37
PascalABC.NET Версия 3.0. сборка 1041
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота