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*
Комментарий*

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

О. Карпов1691
kononova_Pavel689
suny84
Kashtelyan Tamara847
Бурмистрова-Ирина660
dmitriyb1
million2003
emilmishin1032
natalyazx151092814
obar1
Aliferenko
Rudakova_Yana
daskal83
Vladimirovich351
valeron7hair7