игра брюс 2048
Главная / Алгоритмы и дискретные структуры / Программирование и знакомство с алгоритмами / Тест 9

Программирование и знакомство с алгоритмами - тест 9

Упражнение 1:
Номер 1
Дан лабиринт, размером n*m. Определите количество операций, необходимое для поиска выхода из лабиринта методом полного перебора

Ответ:

 (1) n*m 

 (2) 2*n*m 

 (3) math 


Номер 2
Дан лабиринт, размером 10*10. Определите количество операций, необходимое для поиска выхода из лабиринта методом полного перебора

Ответ:

 (1) 10 000 

 (2) 100 000 

 (3) 1 000 


Номер 3
Дан лабиринт, размером 100*100. Определите количество операций, необходимое для поиска выхода из лабиринта методом полного перебора

Ответ:

 (1) 100 000 000 

 (2) 100 000 

 (3) 1 000 


Упражнение 2:
Номер 1
Лабиринт представлен в виде массива M*M. Необходимо заполнить ячейки массива цифрой 1 по периметру. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do for j:=1 to m do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1; end;  

 (2) for i:=2 to m-1 do for j:=2 to m-1 do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1; end;  

 (3) for i:=2 to m-1 do for j:=2 to m-1 do begin mas[i,j] := 1; end;  


Номер 2
Лабиринт представлен в виде массива M*M. Необходимо заполнить ячейки внутри массива цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=2 to m-1 do for j:=2 to m-1 do begin mas[i,j] := 1; end;  

 (2) for i:=1 to m do for j:=1 to m do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1; end;  

 (3) for i:=1 to m+1 do for j:=1 to m+1 do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1; end;  


Номер 3
Лабиринт представлен в виде массива M*M. Необходимо заполнить ячейки внутри массива цифрой 0, а по периметру массива - цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do for j:=1 to m do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1 else mas[i,j] := 0; end;  

 (2) for i:=1 to m do for j:=1 to m do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 0 else mas[i,j] := 1; end;  

 (3) for i:=2 to m-1 do for j:=2 to m-1 do begin if (i=1)or(j=1)or(i=m)or(j=m) then mas[i,j] := 1 else mas[i,j] := 0; end;  


Упражнение 3:
Номер 1
Лабиринт представлен в виде массива M*M. Необходимо случайным образом занести в лабиринт 10 препятствий. Препятствия представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to 10 do begin mas[random(m)+1, random(m)+1] := 1; end;  

 (2) for i:=1 to m do for j:=1 to m do begin mas[random(i), random(j)] := 1; end;  

 (3) for i:=1 to 10 do begin mas[random(m)] := 1; end;  


Номер 2
Лабиринт представлен в виде массива N*M. Необходимо случайным образом занести в лабиринт 10 препятствий. Препятствия представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to 10 do begin mas[random(n)+1, random(m)+1] := 1; end;  

 (2) for i:=1 to 10 do begin mas[random(m)+1, random(n)+1] := 1; end;  

 (3) for i:=1 to 10 do begin mas[random(n), random(m)] := 1; end;  


Номер 3
Лабиринт представлен в виде массива M*N. Необходимо случайным образом занести в лабиринт 10 препятствий. Препятствия представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to 10 do begin mas[random(m)+1, random(n)+1] := 1; end;  

 (2) for i:=1 to 10 do begin mas[random(n)+1, random(m)+1] := 1; end;  

 (3) for i:=1 to 10 do begin mas[random(m), random(n)] := 1; end;  


Упражнение 4:
Номер 1
Лабиринт представлен в виде массива M*M. Необходимо построить в лабиринте непроходимое препятствие по главной диагонали. Препятствия представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do begin mas[i, i] := 1; end;  

 (2) for i:=1 to m do for j:=1 to m do begin if i <> j then mas[i, j] := 1; end;  

 (3) for i:=1 to m do begin mas[i, m-i+1] := 1; end;  


Номер 2
Лабиринт представлен в виде массива M*M. Необходимо построить в лабиринте непроходимое препятствие по побочной диагонали. Препятствия представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do begin mas[i, i] := 1; end;  

 (2) for i:=1 to m do for j:=1 to m do begin if (i <> j) mas[i, j] := 1; end;  

 (3) for i:=1 to m do begin mas[i, m-i+1] := 1; end;  


Номер 3
Лабиринт представлен в виде массива M*M. Необходимо построить в лабиринте непроходимое препятствие по обоим диагоналям. Препятствие представить в виде цифры 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) mas[1, 1] := 1; mas[m, m] := 1; for i:=1 to m do begin mas[i, i] := 1; end;  

 (2) for i:=1 to m do for j:=1 to m do begin if (i <> j) mas[i, j] := 1; end;  

 (3) for i:=1 to m do begin mas[i, i] := 1; mas[i, m-i+1] := 1; end;  


Упражнение 5:
Номер 1
В лабиринте размера M*M необходимо посчитать количество посещённых клеток, если посещённые клетки закодированы цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) res:=0; for i:=1 to m do for j:=1 to m do begin if mas[i,j] = 1 then res := res + 1 end;  

 (2) res:=0; for i:=1 to m do for j:=1 to m do begin if mas[i,j] = 1 then res:= res + mas[i, j] ; end;  

 (3) res:=0; for i:=1 to m do begin if mas[i,i] = 1 then res := res + 1 end;  


Номер 2
В лабиринте размера M*N необходимо посчитать количество посещённых клеток, если посещённые клетки закодированы цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) res:=0; for i:=1 to m do for j:=1 to n do begin if mas[i,j] = 1 then res := res + 1 end;  

 (2) res:=0; for i:=1 to m do for j:=1 to m do begin if mas[i,j] = 1 then res:= res + mas[i, j] ; end;  

 (3) res:=0; for i:=1 to n do for j:=1 to m do begin if mas[i,j] = 1 then res := res + 1 end;  


Номер 3
В лабиринте размера M*N необходимо посчитать количество клеток-препятствий, если указано что клетки-препятствия закодированы цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) res:=0; for i:=1 to m do for j:=1 to n do begin if mas[i,j] = 1 then res := res + 1; end;  

 (2) res:=0; for i:=1 to m do for j:=1 to m do begin if mas[i,j] = 1 then res:= res + mas[i, j] ; end;  

 (3) res:=0; for i:=1 to n do for j:=1 to m do begin if mas[i,j] = 1 then res := res + 1; end;  


Упражнение 6:
Номер 1
Для лабиринта размера M*M необходимо организовать ввод координат десяти препятствий. Координаты закодировать цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do for j:=1 to m do begin readln(x); readln(y); mas[x,y]:=1; end;  

 (2) for i:=1 to m do begin readln(x); readln(y); mas[x,y]:=1; end;  

 (3) for i:=1 to 10 do begin readln(x); readln(y); mas[x,y]:=1; end;  


Номер 2
Для лабиринта размера M*N необходимо огранизовать ввод координат десяти препятствий. Координаты закодировать цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) for i:=1 to m do for j:=1 to n do begin readln(x); readln(y); mas[x,y]:=1; end;  

 (2) for i:=1 to m*n do begin readln(x); readln(y); mas[x,y]:=1; end;  

 (3) for i:=1 to 10 do begin readln(x); readln(y); mas[x,y]:=1; end;  


Номер 3
Для лабиринта размера M*N необходимо огранизовать ввод координат препятствий. Количество препятствий также необходимо ввести пользователю. Координаты закодировать цифрой 1. Укажите вариант кода, решающий эту задачу

Ответ:

 (1) Readln(kol); readln(x); readln(y); for i:=1 to kol do begin mas[x,y]:=1; end;  

 (2) Readln(kol); for i:=1 to m*n do begin readln(x); readln(y); mas[x,y]:=1; end;  

 (3) Readln(kol); for i:=1 to kol do begin readln(x); readln(y); mas[x,y]:=1; end;  




Главная / Алгоритмы и дискретные структуры / Программирование и знакомство с алгоритмами / Тест 9