Тест по теме «Алгоритмы»
1. Алгоритм — это:
правила выполнения определенных действий;
набор команд для компьютера;
протокол вычислительной сети;
понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей.
2. Суть такого свойства алгоритма как понятность заключается в том, что:
алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);
записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд;
при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату;
исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма.
3.Совокупность всех команд, которые может выполнить конкретный исполнитель - это...
система программ исполнителя;
система алгоритмов исполнителя;
система команд исполнителя;
система задач исполнителя.
4.Линейный алгоритм – это представления алгоритма с геометрических фигур;
набор команд, которые выполняются последовательно друг за другом;
понятное и точное предписание исполнителю для выполнения различных ветвлений;
строгое движение как вверх, так и вниз.
5. Следующая фигура в блок-схемах обозначает:
ввод или вывод данных;
начало или конец алгоритма;
блок изменения параметров;
действие.
6.Алгоритм называется разветвляющимся, если
1.действия выполняются последовательно друг за другом
2.некоторая последовательность действий повторяется многократно
3.существует условие выбора для выполнения действий
4.выполняется ранее разработанный алгоритм
7.Условный оператор организовывает
1.неполное ветвление
2.вложенный цикл
3.цикл с параметром
4.цикл с условием
8.В полном ветвлении существуют действия
1.только в ветке «Да»
2.в ветке «Да» и ветке «Нет»
3.только в ветке «Нет»
9.В неполном ветвлении существуют действия
1.только в ветке «Да»
2.в ветке «Да» и ветке «Нет»
3.только в ветке «Нет»
10.Проверка условия выполняется в геометрической фигуре
1.ромб
2.прямоугольник
3.параллелограмм
4.треугольник
11. Найти значение переменной Z, если
Z:=5
Z:= Z*13+113
Z:=500- Z
ответ: ___
12. Найти значение переменной f, если
f:=27
f:= f*6-10
f:=390+ f
// PascalABC.Net 3.0, сборка 1064
const
k = 100;
var
s, wd: string;
i, j, m, n, pt, step: integer;
Words, WordsSort: array[1..k] of string;
InOrder: boolean;
begin
Write('Введите строку: '); Readln(s);
n := Length(s); pt := 1; m := 0;
repeat
// Пропускаем все символы до первого непробельного
while pt <= n do
if Ord(s[pt]) <= 32 then Inc(pt) else break;
if pt <= n then begin
// Выделяем очередное слово
wd := '';
while pt <= n do
if Ord(s[pt]) > 32 then begin wd := wd + s[pt];Inc(pt) end
else break;
if wd <> '' then begin Inc(m);Words[m] := wd end
end
until pt > n;
// Теперь Words содержит все m слов.
// Отсортируем их в массиве WordsSort методом Шелла
for i := 1 to m do WordsSort[i] := Words[i];
step := m div 2;
while step > 0 do begin
for j := m - step downto 1 do begin
i := j;
while i <= m - step do begin
if WordsSort[i] > WordsSort[i + step] then begin
wd := WordsSort[i];
WordsSort[i] := WordsSort[i + 1];
WordsSort[i + 1] := wd
end;
i := i + step
end
end;
step := step div 2
end;
// Осталось поэлементно сравнить оба массива
InOrder := true; i := 1;
while InOrder and (i <= m) do
begin InOrder := (Words[i] = WordsSort[i]); Inc(i) end;
if m = 0 then Writeln('Строка не содержит слов')
else
if InOrder then Writeln('Cлова упорядочены')
else Writeln('Cлова не упорядочены')
end.
Тестовое решение:
Введите строку: слово1 слово2 слово3 слово4 слово5
Cлова упорядочены
Введите строку: слово1 слово2 слово4 слово3 слово5
Cлова не упорядочены
"Современный" вариант решения на Паскале:
// PascalABC.Net 3.0, сборка 1064
var
s:string;
begin
Write('Введите строку: '); Readln(s);
var Delim:=Range(0,32).Select(x->Chr(x)).ToArray;
var Words:=s.Split(Delim).Where(x->x<>'');
var WordsSort:=Words.Sorted;
if Words.SequenceEqual(WordsSort) then Writeln('Cлова упорядочены')
else Writeln('Cлова не упорядочены')
end.
Тестовое решение совпадает с вышеприведенным.