Задать вопрос
18 января, 21:44

Строка содержит арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия ("+" или "-"). Составьте программу, которая предлагает ввести строку, выполняет данное арифметическое действие и выводит результат.

+2
Ответы (1)
  1. 18 января, 23:07
    0
    Я здесь и для * (умножения тоже сделал)

    program gt;

    label 1;

    var a:string;

    i, l, s, s2, s3, j:longint;

    begin

    read (a) ; l:=length (a) ; s:=0; s2:=0;

    for i:=1 to l do

    begin

    if (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1;

    end;

    1:

    for j:=1 to i-1 do

    begin

    if a[j]='1' then s:=s*10+1;

    if a[j]='2' then s:=s*10+2;

    if a[j]='3' then s:=s*10+3;

    if a[j]='4' then s:=s*10+4;

    if a[j]='5' then s:=s*10+5;

    if a[j]='6' then s:=s*10+6;

    if a[j]='7' then s:=s*10+7;

    if a[j]='8' then s:=s*10+8;

    if a[j]='9' then s:=s*10+9;

    if a[j]='0' then s:=s*10+0;

    end;

    for j:=i+1 to l do

    begin

    if a[j]='1' then s2:=s2*10+1;

    if a[j]='2' then s2:=s2*10+2;

    if a[j]='3' then s2:=s2*10+3;

    if a[j]='4' then s2:=s2*10+4;

    if a[j]='5' then s2:=s2*10+5;

    if a[j]='6' then s2:=s2*10+6;

    if a[j]='7' then s2:=s2*10+7;

    if a[j]='8' then s2:=s2*10+8;

    if a[j]='9' then s2:=s2*10+9;

    if a[j]='0' then s2:=s2*10+0;

    end;

    if a[i]='+' then s3:=s+s2;

    if a[i]='-' then s3:=s-s2;

    if a[i]='*' then s3:=s*s2;

    writeln (s3) ;

    end.

    2) более проще

    program gt;

    label 1;

    var a:string;

    i, l, s, s2, s3, j:longint;

    begin

    read (a) ; l:=length (a) ; s:=0; s2:=0;

    for i:=1 to l do

    begin

    if (a[i]='+') or (a[i]='-') or (a[i]='*') then goto 1;

    end;

    1:

    for j:=1 to i-1 do

    begin

    s:=s*10+ord (a[j]) - 48;

    end;

    for j:=i+1 to l do

    begin

    s2:=s2*10+ord (a[j]) - 48;

    end;

    if a[i]='+' then s3:=s+s2;

    if a[i]='-' then s3:=s-s2;

    if a[i]='*' then s3:=s*s2;

    writeln (s3) ;

    end.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Строка содержит арифметическое выражение в виде двух чисел, между которыми стоит знак арифметического действия ("+" или "-"). Составьте ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
1) дана строка S определить и напечатать сколько символов * 2) дана строка S вместо каждого символа * записать символы 0 Напечатать полученную строку 3) дана строка S получить и напечатать строку Т образуемую путем прочтения строки S начиная с ее
Ответы (1)
1) напишите программу, которая спрашивает целое число n и считает сумму целых чисел, Муму чётных чисел и сумму нечётных от 1 до n 2) напишите программу, которая спрашивает целые числа а и b и выводит на экран квадраты чисел от а до b 3) напишите
Ответы (1)
Синвейн про информатику (1 строка информатика 2 строка два прилагательных 3 строка три глагола 4 строка фраза, несущая определённый смысл 5 строка вывод в одном слове) Стоки не должны рифмоваться
Ответы (1)
составьте программу которая а) выполняет операцию сцепления трех введенных с клавиатуры символов б) выполняет операцию сцепления трех введенных с клавиатуры символов и выводит результат сравнения на экран.
Ответы (1)
1) Напишите программу, которая строит "квадрат" из знаков '*' заданного размера. Используйте процедуру. 2) Напишите программу, которая выводит в столбик цифры введённого числа, начиная с последней. Используйте процедуру.
Ответы (1)