с тестом по информатике.
1. Алгоритмы, которые решают некоторую подзадачу главной задачи и, как правило, выполняются многократно, называются
A) циклическими; D) основными;
B) вс Е) ветвящимися.
C) линейными;
К заданиям 18—20
Имеется исполнитель Кузнечик, который живет на числовой оси.
Система команд Кузнечика:
вперед — прыжок по числовой оси на N единиц вперед;
назад — прыжок по числовой оси на N единиц назад.
2.Кузнечик выполнил программу из 50 команд, в которой команд назад на 2 на 10 больше, чем команд
вперед 3 (других команд нет). На сколько единиц и в какую сторону сместился Кузнечик?
A) на 30 единиц назад;
B) на 20 единиц вперед;
C) на 30 единиц вперед;
D) вернулся в исходное положение;
E) такой программы не может быть.
3. Стартовав из точки 0 и выполнив некоторую программу, Кузнечик побывал последовательно в точках:
0; 3; 1; 4; 2; 0; -2. В каких точках побывает Кузнечик, выполняя эту же программу, стартовав из точки —5?
A) 5; 8; 6; 9; 7; 5; 3;
B) 5; 8; 6; 9; 7; 5; -3;
C) -5; -2; -4; -1; -3; -5; -7;
D) -5; -2; -4; -1; -3; -5; -3;
Е) -6; -3; -5; -2; -4; -6; -8.
4. Выбрать фрагмент программы на алгоритмическом языке, соответствующий блок-схеме:
A) если Yl то если Y2 то SI все иначе S2 все
B) если Yl то если Y2 то S1 все все S2
С) если Y1 то если Y2 ТО S1 иначе S2 все все
D) если Y1 то S1 иначе если Y2 то S1 все все
E) если Y1 то повторять нц S2 если Y2 то S1 все кц
5. Для блок-схемы из во выбрать условие, при котором будет выполняться команда S1.
A) (Y1=истина) и (Y2=истина);
B) Y1=ложь;
C) (Y1=истина) или (Y2=ложь);
D) (Y1=истина) и (Y2=ложь);
E) Y1=истина.
6. Выберите последовательность команд, меняющих местами две величины X и У (X < > У).
А) Х:=У; У:=Х; D)A:=X; X:=Y; Y:=A;
B)Х:=А; X:=Y; A:=Y; Е) Х:=А; Y:=X; A:=Y.
C) Х:=У;
7. Чему будут равны значения переменных S и I после выполнения алгоритма?
S:=0; /:=5; пока I>0 повторять S:=S+I; I:=I-1 кц
A)S=0,I=-1; C)S=15, I=5; Е) S=15, I=0.
B)S=5, I=0; D)S=0, I=5;
8. Чему будут равны значения переменных S и I после выполнения алгоритма:
S:=0;
I:=-3;
пока I<2 повторять
нц если I<0 то A:=I*I иначе A:= I-1 все
S:=S+A; I:=I+1 кц
A) S=l, I=1; C)S=14, I=2; E)S=13, I=1.
B)S=13, I=2; D)S=2, I=2;
9. Выбрать фрагмент алгоритма, позволяющий найти
максимальное из трех чисел X, Y, Z.
A) если X>Y то В:=Х все B:=Y если BB) если X>Y то В:=Х иначе B:=Y все если B>Z то B:=Z все
C) если X>Y то В:=Х если BD)если X>Y то В:=Х иначе B:=Y кв если BE) если Х>У то В:=Х иначе если B10. Выбрать фрагмент программы на Паскале, в котором переменной Y присваивается значение, равное
0, если -5<Х<5. В противном случае переменной Y
присваивается значение, равное 1.
A) if х>-5 then if х<5 then у:=0; у:=1;
B) if х>-5 then if х<5 then у:=0 else у:=1;
C) if х<-5 then if х>5 then у:=1 else у:=0;
D) у:=1; if х>-5 then if х<5 then у:=0;
E)if х>-5 then у:=0 else у: =1; if х<5 then у: = 1.
#define UPPERLIMIT 1000
#define LOWERLIMIT 0
#include <iostream>
#include <vector>
#include <cstddef>
#include <algorithm>
#include <ctime>
using namespace std;
class Massive {
public:
virtual void fill() = 0;
virtual int get_max() = 0;
virtual int get_min() = 0;
virtual void reverse(int start, int end) = 0;
virtual void out() = 0;
};
class MassiveHandler : public Massive {
private:
std::vector<int>::iterator result;
public:
std::vector<int> array;
MassiveHandler(std::size_t n) : array(n) {
this->fill();
}
void fill() override {
srand(time(0));
for (int i = 0; i < this->array.size(); ++i)
this->array[i] = rand() % (UPPERLIMIT - LOWERLIMIT + 1) + LOWERLIMIT;
}
void routine() {
this->reverse(this->get_min(), this->get_max());
}
void reverse(int start_v, int end_v) override {
if (start_v > end_v)
swap(start_v, end_v);
for (int i = start_v, j = end_v; i < j; i++, j--)
swap(this->array[i], this->array[j]);
}
int get_max() override {
this->result = std::max_element(this->array.begin(), this->array.end());
return std::distance(this->array.begin(), result);
}
int get_min() override {
this->result = std::min_element(this->array.begin(), this->array.end());
return std::distance(this->array.begin(), result);
}
void out() override {
for (int i = 0; i < this->array.size(); ++i)
cout << this->array[i] << " ";
cout << endl;
}
};
int main() {
int n;
cin >> n;
MassiveHandler *MH = new MassiveHandler(n);
cout << "MAX: " << MH->array[MH->get_max()] << endl;
cout << "MIN: " << MH->array[MH->get_min()] << endl;
cout << endl;
cout << "Before: ";
MH->out();
MH->routine();
cout << "After: ";
MH->out();
}
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int n, max = 0, index1, min = 0, index2;
cin >> n;
cout << "RANDOM ARRAY:\n";
vector <int> a(n);
for (int i = 0; i < n; i++)
{
a[i] = rand() % 101;
if (a[i] > max) {
max = a[i]; index1 = i;
}
if (a[i] < min || min == 0) {
min = a[i]; index2 = i;
}
cout << a[i] << " ";
}
cout << "\nARRAY:\n";
if (index2 < index1)
{
int x;
x = index2;
index2 = index1;
index1 = x;
}
reverse(a.begin() + index1, a.begin() + index2);
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
return 0;
}