Arsen0708
?>

Язык напишите все понятным для начинающего языком, без каких то неизвестных библиотек и тп. Заранее благодарю! Напишите программу, которая вычисляет значение арифметического выражения, записанного в постфиксной форме. В выражении используются только целые числа и знаки арифметических операций. Знак '/' обозначает целочисленное деление. Входные данные На вход программы подаётся символьная строка, которая содержит запись арифметического выражения в постфиксной форме. Элементы постфиксной записи разделены пробелами. Выходные данные Программа должна вывести значение переданного ей выражения. Если выражение записано неверно, программа должна вывести слово 'ERROR'.

Информатика

Ответы

sergeylive
1)
from random import random
N = 10
a = []
for i in range(N):
    b = int(random() * 50)
    a.append(b)
print(a)

min = 101
for i in range(N-1):
    s = a[i]+a[i+1]
    if (s < min) and (s % 2 == 1):
        min=s
print(min)

Пример:[41, 35, 16, 7, 29, 9, 16, 28, 10, 6]
23

2)
from random import random
N = 10
a = []
for i in range(N):
    b = int(random() * 50)-25
    a.append(b)
print(a)

k = 0
for i in range(N-1):
    p = a[i]*a[i+1]
    s = a[i]+a[i+1]
    if (p % 2 != 0) and (s > 0):
        k = k+1
print(k)

Пример:[11, 23, 12, -16, 21, 15, -11, -10, 10, 17]
3
zyf0066
1. "Школьное" решение

// PascalABC.NET 3.0, сборка 1073
const
  sb='bcdfgjklmnpqrstvwxz';
  s='Computer programming is a process of computer programs creation';
var
  i,n:integer;
  s1,sn,t:string;
begin
  i:=1;
  while s[i]<>' ' do Inc(i);
  s1:=Copy(s,1,i-1);
  n:=Length(s); i:=n;
  while s[i]<>' ' do Dec(i);
  sn:=Copy(s,i+1,n-i);
  t:='';
  for i:=1 to Length(s1) do
    if Pos(s1[i],sb)>0 then t:=t+s1[i];
  s1:=t;
  t:='';
  for i:=1 to Length(sn) do
    if Pos(sn[i],sb)>0 then t:=t+sn[i];
  sn:=t;
  t:='';
  for i:=1 to Length(s1) do
    if Pos(s1[i],sn)>0 then
      if Pos(s1[i],t)=0 then t:=t+s1[i];
  for i:=1 to Length(t) do Write(t[i],' ');
  Writeln
end.
 
Тестовый прогон:
t r

2. "Нормальное" решение

// PascalABC.NET 3.0, сборка 1073
const
  sb='bcdfgjklmnpqrstvwxz';
  s='Computer programming is a process of computer programs creation';
begin
  var a:=s.ToWords(' ');
  a[0].Intersect(a[a.Length-1]).Where(x->Pos(x,sb)>0).Println(',')
end.

Тестовый прогон:
t,r

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Язык напишите все понятным для начинающего языком, без каких то неизвестных библиотек и тп. Заранее благодарю! Напишите программу, которая вычисляет значение арифметического выражения, записанного в постфиксной форме. В выражении используются только целые числа и знаки арифметических операций. Знак '/' обозначает целочисленное деление. Входные данные На вход программы подаётся символьная строка, которая содержит запись арифметического выражения в постфиксной форме. Элементы постфиксной записи разделены пробелами. Выходные данные Программа должна вывести значение переданного ей выражения. Если выражение записано неверно, программа должна вывести слово 'ERROR'.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

hbqhzwtd
tushina2020
POMILEVAVladimirovna269
Что такое сноска коротко ​
tatakypzova
Anastasiya
tolyan791
socofilesrus4
Стадник620
yanva
tanyamurashova11352
elegiy
gub191025
Matveevanastya0170
nadezhda81
bg1967bg