profile
Размещено 5 лет назад по предмету Информатика от СтарыйМатематик

Напишите программу в синтаксисе Free Pascal или Turbo Pascal, которая вычисляет выражение, состоящее из чисел и знаков (допускаются только знаки «+» или «–», количество чисел и знаков не ограничено). Выражение вводится как символьная строка, все числа целые.
ввод:
12+42-44-12-13+1-23
вывод: -37

ввод:
12-53-2+23+0-25
вывод -45

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    Var
      S, chislo: string;
      i,A,B,C,E: integer;
    Begin
      B := 0;
      WriteLn('Введите выражение: ');
      ReadLn(S);
      i := S.length;
      While (i > 0) do
      begin
        Case S[i] of
          '+':
            begin
              val(chislo,A,E);
              B := B + A;
              chislo := '';
            end;
          '-':
            begin
              val(chislo,A,E);
              B := B - A;
              chislo := '';
            end;
          else
            chislo := S[i] + chislo;
        End;
        i := i - 1;
      end;
      if (chislo <> '') then
      begin
        val(chislo,A,E);
        B := B + A;
      end;
      WriteLn(B);
    End.
    1. Ответ на вопрос
      Ответ на вопрос дан СтарыйМатематик
      А не могли бы вы обьяснить принцип работы алгоритма, а то я его не совсем понимаю.
    2. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Начиная с конца строки, считываем число в строку chislo , доходим до знака - преобразовываем строку с числом в integer, записываем результат в A и прибавляем A к B, (или отнимаем). После цикла проверка: если первое число в строке не начинается со знака, значить оно положительное - прибавляем его B(это нужно потому, что программа выполняет действия, только когда доходит до знака).
    3. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Нормально, или надо построчно комментировать?
    4. Ответ на вопрос
      Ответ на вопрос дан СтарыйМатематик
      Спасибо, все понял
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.