2. определите выражения, соответствующие каждому из деревьев, в «нормальном» виде со скобками (эту форму называют инфиксной – операция записывается между данными). постройте для каждого из них постфиксную форму.
а)
б)
в)
инфиксная форма: постфиксная форма:
а) б) в) а) б) в)
3. постройте деревья, соответствующие следующим арифметическим выражениям:
а) (a+b)*(c+2*d)
б) (2*a-3*d)*c+2*b в) (a+b+2*c)*d
г) 3*a-(2*b+c)*d
а)
б)
в)
г)
запишите эти выражения в префиксной и постфиксной формах.
префиксная форма: постфиксная форма:
а) б) в) г) а) б) в) а)
Фрагмент записан верно.
1.
Полный код:
arr = [i for i in range(9)]
print(arr)
a = arr[2]
arr[2]=arr[8]
arr[8]=a
print(arr)
2. В Python третья переменная нам не нужна для перестановки местами элементов списка, мы можем намного проще сделать. А если говорить про все остальные языки, то без третьей переменной мы не сможем никак иначе обменять значения элементов массива. Например: Хотим мы найти максимум и переставить его на 5 позицию, без 3 переменной нам никак не обойтись.
3.
i_max - индекс максимального элемента
i_min - индекс минимального элемента
arr - наш список
Наш фрагмент кода выглядит так:
arr[i_max], arr[i_min] = arr[i_min], arr[i_max]
уточнять на каком языке программирования нужно написать задачки. Я же напишу на С++. Алгоритм везде будет один и тот же.
1 задача
int x1 = 0;
int x2 = 0;
int x3 = 0;
int x4 = 0;
int x5 = 0;
cin >> x1;
cin >> x2;
cin >> x3;
cin >> x4;
cin >> x5;
double sr = 0.0;
sr = (x1+x2+x3+x4+x5)/5;
Или же можно сделать по проще
int x = 0;
int sum = 0;
double sr = 0.0;
for(int i = 0; i<5; i++){
cin >> x;
sum = sum +x;
}
sr = sum/5;
2 Задача
int number = 5;
for(int i = 2; i<20; i=i+2){
number = number + i;
}