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

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

denspiel
santechma
gorodof4292
clubgarag701
Nertman45
AntonovaAvi1716
alyonazharikowa4
misterdre9991
смирнов1127
Apresov
office46
proh-dorohova5244
zodgener
museumuzl
inaine73