Візуалізація складних задач. Задача про черепаху

Опис документу:
Щоб зацікавити учнів до поглибленого вивчення програмування я намагаюся створити візуальну модель деяких задач. На квадратній дошці розставлені цілі додатні числа. Черепашка, що знаходиться в лівій верхній клітинці, мріє потрапити у праву нижню. При цьому вона може переповзати тільки в клітинку, що знаходиться праворуч або знизу від даної і хоче, щоб сума всіх чисел, які вона зустріне на шляху, була максимальною. Визначити цю суму та маршрут черепашки (враховуючи стартову та фінішну клітинки).

Відображення документу є орієнтовним і призначене для ознайомлення із змістом, та може відрізнятися від вигляду завантаженого документу. Щоб завантажити документ, прогорніть сторінку до кінця

Оберіть документ з архіву для перегляду:
25,916 Кб
6,654 Кб
6,742 Кб
6,654 Кб
352,196 Кб
7,806 Кб
5,38 Кб
8,21 Кб
32,385 Кб
41,438 Кб
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
Перегляд
матеріалу
Отримати код Поділитися
11001100 01101001 00110101 11110000 11100010 01011001 10001110 00100111 01110100 01011001 11100100 11010001 00001111 00111010 01101010 00101110 10110001 10101001 11010100 11001100 00001111 00110101 01101100 11001010 01110100 11000011 11100001 00111001 01111000 10100011 10010110 01101001 01001110 10011100 10100011 10110001 00100111 01000111 10111000 10101001 10001011 10001011 01100110 11001001 01011010 01111000 01001110 00111001 10001110 11101000 01001110 10100110 11101000 01100110 10011001 11110000 10011010 00110101 11010100 00100111 10001011 00011110 01001101 10101100 00101011 00010111 11100100 11100100 11110000 00111010 01001110 10011100 00111001 10010110 10011001 01100011 11001100 11110000 01101010 01100110 00011101 10101100 10010101 10101001 11100100 10100110 00101101 10111000 00111010 01111000 10110100 00100111 10010011 00101110 00110101 00110110 01100110 11101000 01111000 11010010 10011001 10111000 00011011 10110100 00101110 11010010 01011010 11100100 11000110 10001110 01100110 11010001 11000110 11001001 10101010 11100100 00011110 10011010 11000101 01011010 10101010 11000101 10001110 10010011 10111000 10011001 01001110 11000011 00111100 01101001 00111010 01110010 01101010 11010010 11000011 10001011 00111001 01100110 11010001 11001010 01010101 01000111 00110011 00110101 10001110 01110010 10110010 01110010 10001011 11110000 10010011 10011010 10000111 00111100 11100001 11001001 01000111 01001110 01010011 01110010 00101110 01101010 11011000 01110010 00111010 01101100 10011100 01100101 01100101 00001111 00011110 10010110 00110011 01001011 01001011 00101101 11001100 11001100 01111000 11001100 11010001 10101100 10110010 01010101 00101110 10101010 10110100 01010101 00101101 11001010 11000101 11110000 10011001 11000110 10110001 11010001 10101100 10010011 10010011 01101100 10100110 00110110 10011001 00011101 11100100 00110110 10010011 10111000 01001011 10010101 01100101 01000111 11101000 10101010 01110010 00100111 01110001 10010011 10111000 00110110 01011100 01011100 11100001 01101001 01101100 11000110 10001101 01100011 00111100 01110100 00011101 01001011 11010010 10100011 11100001 00110101 00110011 10110001 10100110 11101000 00010111 01100110 01101010 10000111 10001110 11010100 01010101 00110101 10110100 01110001 00111001 11010100 11000101 10110100 10110001 11001100 00110101 11011000 01111000 01001101 00101110 00101101 11100010 11110000 10101001 10101001 01010011 10011100 01011010 00011011 10001110 10001110 00110101 11101000 01100110 00011110 11000011 10110010 11101000 01101001 01000111 01101100 10110010 01100110 11000011 01110001 01000111 01011001 01001011 01110010 10110010 11010010 00001111 01111000 10010011 11001010 11101000 10001101 10011001 01011001 10010011 11100100 01101001 00101110 10011001 01101010 01001011 01100110 10101001 01000111 00100111 11001001 00011110 01110100 00011110 11011000 11001001 10100110 01110010 00011101 00110110 10011100 10110010 00100111 01100110 10011001 10111000 00111010 01011001 01101100 11010001 00110011 01100101 11100010 00101101 11000110 10011001 01001101 00101110 01100011 01101010 01010110 11001001 00011101 10101010 00010111 00110101 11100001 01100011 10110100 11000101 10011100 11100100 01100011 10100101 00101101 01000111 01001110 01011001 10001101 00111100 00011110 01110100 01011010 01110010 00111001 00010111 00001111 10111000 00111001 01011010 11101000 11010100 01110100 00110110 01001101 10010110 11011000 10001011 10001101 11010100 11101000 10101001 10110001 11001001 11100100 00011101 10010011 11001001 10100110 11010010 01110100 10101001 00101101 00101011 00001111 01101010 01001110 01101010 01101001 11001010 00101101 10011010 11000101 11000011 00011110 00111100 01110100 01010110 01001101 01100101 01010011 00110110 01111000 10111000 01101001 00111010 00101110 11001100 01011100 00111001 00101110 00010111 00110101 11010001 11100100 00001111 11100100 01101001 10011001 01101010 10101001 11010100 10000111 00010111 10001011 10110001 11110000 01000111 01101001 11001010 10000111 00110101 11010100 01100011 10001110 00111100 11100001 00101011 01110001 10110100 01110010 10001110 01110100 00110110 00101101 11100010 11100010 11010001 01010110 01110010 10100110 10010110 01110100 10101010 10110010 10001011 00011110 11101000 11000011 10011001 11110000 01011010 00001111 10010110 00100111 11101000 11000011 10011010 00100111 00010111 11010001 10001101 00011110 00101011 10100110 10001101 10100101 10110100 10011010 11010001 00101011 01100011 10100101 11011000 11100001 10100110 11011000 01010011 01001011 01010101 10101100 01010110 10010101 00111100 10011100 10010101 10011100 10000111 01101001 01010110 01100011 01100101 10011100 10100011 01110010 10001101 11001001 10100110 00010111 10101100 10101010 11100100 10110010 01100101 10011100 00010111 10100011 11000011 01101010 01000111 01110001 11011000 10001011 00111001 10100011 00011011 10000111
Перегляд
матеріалу
Отримати код Поділитися
10101100 00110110 00110101 10011001 00110101 00011110 11100100 01000111 00011101 01011100 10100011 00111001 10100101 10011010 11010010 10100011 01001011 11000011 10110100 01010110 01110100 10011100 10001101 01100110 00110110 11101000 01111000 11000101 10110010 00100111 11010010 00101110 11001100 10010101 11000110 00011011 00101101 00110110 11101000 11010001 01110100 11011000 00100111 10100101 11010100 10100110 01010110 00101101 11000101 10101100 00011011 00111010 01111000 10011100 01100101 01011010 10010110 10001110 10001110 01001101 11001001 00101011 10110010 01001110 01001011 01011010 10001101 11000101 10010101 11000101 11100100 10100101 00101110 10010110 10011010 10101010 11010010 11010001 11000101 00011101 10100101 10101001 01000111 11000011 10100110 01011001 11100010 11000101 01110100 01010101 00001111 01010011 10001110 00111001 01011010 00111010 01011001 10111000 10010011 11001010 10001110 10010110 10111000 00011101 00101101 01011010 01001011 00111100 11010100 10100110 10000111 01010110 01011001 10110001 10101100 11001001 01100110 01110100 10101010 01100011 10000111 10100110 11001100 01001101 10101001 10001011 00111010 01001101 01110001 01100101 10010101 10011100 00110110 00110110 11000101 11110000 01110001 00111100 11001001 01100011 10000111 01110001 01001101 00110110 00111010 01110100 00011011 01110001 01001011 00101011 11011000 10100110 01110100 00100111 11001100 00101011 01101100 10100011 10110001 01001011 10001101 00110101 10101001 01010110 11001010 11000011 00110101 00101110 11101000 10010110 01001110 01011001 10110001 11001100 11100100 01100110 00110101 10011010 01100110 11001010 00110110 00011011 00001111 10011100 11011000 11011000 10001101 01001101 10001110 11000110 01000111 11110000 01001101 10110100 10011010 00011110 10100011 01001110 00111100 00010111 00001111 10111000 10010011 01100011 11000101 11100100 01101010 11001001 11001001 11000110 00111001 01011010 11001001 00100111 01100101 10101100 01110100 10101100 00110101 00011011 01001101 10010110 01011001 10001011 11011000 10011100 01010110 00110011 00101011 00011101 00110101 10011100 00101101 10001101 01110001 00101110 01001101 10010101 10000111 00110101 10101100 10010011 00101011 01101001 10100101 10101001 11101000 01010011 10010110 01010110 00100111 11001010 11000110 11001001 01001110 10101010 00011011 00010111 01011010 10011001 10111000 11001100 10101100 00100111 10000111 01001110 10010011 01000111 01011001 10001011 11000011 11110000 01000111 00011011 00001111 01101010 10100110 01001101 10010101 10110010 01100101 10110010 10001101 10100011 00101110 01001011 10001101 10110100 11100010 00010111 11010010 11011000 11000011 10001110 11001001 10100101 01010101 11010100 00111100 10000111 01101010 01010011 01100011 11100100 10011100 00110101 01010101 01110001 10011001 01100110 10011010 00101011 11001010 00111010 10000111 11010010 01110100 10001101 10011100 00011110 01010101 11010100 11101000 01100110 10011001 00001111 01110001 11001100 10101100 00010111 10100110 10010101 11000011 10010110 10001101 10010101 01011001 01101001 00110011 01010110 01000111 01011010 00101110 11001100 10001101 10000111 11100001 01111000 10011010 10001101 00011011 01101001 00011101 10110001 00011110 00110101 00001111 11001100 01101001 01011100 01010101 00010111 01011001 00110011 00010111 10001101 10101010 01111000 11011000 00001111 11100010 10010011 11010100 00101101 01100110 00101011 10110100 10110100 01100101 11001100 01000111 11001100 00111010 00110011 10110001 11100001 01011100 01010110 00011101 00111010 11010010 01010110 01100011 00111001 00110101 00101101 10001101 10100110 10111000 01110001 10100011 01001101 11010001 01000111 01011001 00010111 00100111 11100001 01101010 11010100 01101001 01111000 10100101 01010101 01101100 01001101 10110010 01001011 01100110 00101011 00011101 11001010 10101100 11000101 01011010 00011101 10010110 11010001 01110010 01101001 00101101 10100110 00011110 11001001 00001111 00011101 10101010 00111001 10101001 11010100 01011010 11010100 10011100 10010011 11010010 01001110 01110100 11100001 10001101 11000110 00011101 11001001 01110001 01110010 11011000 10010011 01110010 11100100 00101101 10001011 00110110 00110101 10010011 11101000 01101100 01110010 01110001 00111100 00101011 01010110 00111001 00110110 11100100 00111100 01110010 01100101 10001011 10010110 00110101 00010111 01110001 10100011 01000111 10011001 11011000 10101001 10011001 00001111 11010100 11000101 00001111 01110010 11011000 10010101 01100110 01001101 01111000 00011011 00110101 01000111 00111001 10001011 01111000 00011011 10110001 10101001 00101101 00110101 01010110 01000111 10011100 01010101 01100011 11000101 10001011 11100100 10111000 01111000 00001111 01100011 01101100 10101100 00100111 10100011 10110010 01101010 00011101 11001010 01110100 00011101 11000101 00101011 01110100 11110000 10011010 00111001 00111100 00010111 10111000 10000111 01011010 11000101 10010011 11000101 01111000 00101110 10000111 11110000 10100011 10011010 10111000 01101001 11100001 00111010 11010010 11001001 01111000 00111001 10100110 01100011 11010100 10011100 10101001 10110010 10100110 00010111 10010110 00100111 10101100 11010001 01011010 00111001 01001110 00111010 10110001 00101110 00111100 10100011 00001111 10111000 10001110 00110110 11100010 11110000 11001100 01001101 11100001 10100101 10100011 01101100 10101100 00111100 10011100 10101010 00110110 10110001 00001111 10101010 10110010 01011100 00101011 10111000 00011101 11000011 00101011 01011001 01100011 01010101 00011011 01100110 00101101 01100110 11000110 01100110 10011100 01001101 11100010 10000111 01011010 00011101 10101010 01000111 10001101 01001011 10100110 11001100 01100011 01101100 00100111 01010101 00101101 00011110 10010011 00011011 00101101 11010100 00111001 10101100 00101110 10010110 00011101 01001110 00110011 10000111 10010110 01010110 11100001 00111010 10101001 10100101 10010011 00101101 01010110 10010110 10111000 01101100 11001010 10001101 11100001 10110001 01100110 01011001 10101010 00111001 00110101 01110100 11000011 01110010 00001111 11001100 10011010 11000101 10010101 01100011 00110011 00011011 00011101 01101010 10001011 11000101 10011100 01001011 00010111 00111010 10101100 11001010 01011100 11110000 00110011 01110001 11010001 01101010 10101010 01100011 11101000 10010011 01101010 00111100 10010101 11100001 01010101 10011100 00011101 00001111 01110100 10110100 10100011 01011010 10001011 10110010 11001100 00101110 11001001 00101110 00010111 10110010 00001111 01010011 01110010 11110000 10100011 00101110 10110010 11010100 10011001 01101100 10100011 11000110 00011011 01011001 11100010 01001110 10011010 01100110 11000110 01010110 01001011 11000101 00110101 11010010 01001101 00111100 11001010 00101101 01010011 01100101 00111001 11100010 11001010 00111001 10101001 00110101 10001101 11100001 00101101 10001011 10001011 01011001 10001101 00100111 11100100 01110001 11010001 00011011 00101110 00110101 01101010 00100111 11100001 00100111 10100011 01001011 00111100 00100111 11001010 11100001 11010001 11000110 11010010 10011001 00110110 01011010 00110011 01100101 11000110 11010010 01001011 11010001 00111001 10010110 01110100 01011100 01011100 00011110 01010101 00011101 01101010 01100011 10001011 10101100 11100001 00001111 00011110 01101001 11101000 01100101 10001011 00001111 00110110 00110101 11000110 11001001 00110011 11101000 01110010 00111100 10011100 10001110 11001010 10110001 10110001
Перегляд
матеріалу
Отримати код Поділитися

Program Cherepaha;

uses wincrt;

var m,o,n,nn,i,j,k,l,lic0,lic1,licS:integer;

mas:array[1..50] of integer;

{масив для всіх можливих кроків в одному ході}

str:array[1..3000] of string[10];

{масив для всіх можливих ходів }

fil,fil2,filG:text; {файлові змінні}

s:string;

begin

randomize;

writeln ('n=');

readln (n);

m:=5000; {кількість випадкових 0 i 1}

assign (fil,'marsh.txt');

{файл зі всіма можливими маршрутами}

Rewrite(Fil);

assign (fil2,'marsh2.txt');

{2 файл зі всіма можливими маршрутами}

Rewrite(Fil2);

for i:=1 to m do begin

lic0:=0; {лічильники нулів і одиниць}

lic1:=0;

for k:=1 to n*2-2 do begin

l:=(random(2));

{заповнюємо масив випадковими нулями і одиницями}

mas[k]:=l;

end;

for k:=1 to n*2-2 do begin

if mas[k]=1 then lic1:=lic1+1; { }

if mas[k]=0 then lic0:=lic0+1;

end;

if lic0=lic1 then begin

{ вибираємо тільки ті де однакова

кількість нулів і одиниць}

if i>2000 then begin

for k:=1 to n*2-2 do write (fil2,mas[k]);

{записуємо в файл 2}

writeln(fil2);

licS:=licS+1;

end

else begin

for k:=1 to n*2-2 do write (fil,mas[k]); {записуємо в файл 1 }

writeln(fil);

licS:=licS+1;

end;

end;

end;

{if i>1000 then writeln(fil2,licS) else writeln(fil,licS);}

close (fil);

close (fil2);

{відкидаємо однакові маршрути}

assign (fil,'marsh.txt');

Reset(Fil);

assign (fil2,'marsh2.txt');

Reset(Fil2);

assign (filG,'marshG.txt');

Rewrite(FilG);

for i:=1 to licS+1 do begin

if i>2000 then begin

readln(fil2,s);

{заповнюємо масив строками з 2 го файлу}

str[i]:=s;end

else begin

readln(fil,s);

{zapovnuemo masyv strokamy z 1 faylu}

str[i]:=s;

end;

end;

for i:=1 to LicS+1 do

{перебираємо всі елементи масиву

від початку до кінця}

for j:=i+1 to licS+1 do

{перебираємо всі елементи масиву

від і+1 до кінця}

begin

if (str[j]=str[i])then

begin {якщо зустрічаємо

однакові рядкові змінні в двох комірках то}

str[j]:=''; {знищуємо однакові

елементи, щоб більше не зустрічалися}

end;

end;

for i:=1 to licS+1 do begin

{ writeln (str[i]); }

if str[i]<>'' then begin nn:=nn+1; writeln(filG,str[i]);end;

end;

writeln(filG,nn);

close (fil2);

close (fil);

close (filG);

end.

Перегляд
матеріалу
Отримати код Поділитися

На квадратній дошці розставлені цілі додатні числа. Черепашка, що знаходиться в лівій верхній клітинці, мріє потрапити у праву нижню. При цьому вона може переповзати тільки в клітинку, що знаходиться праворуч або знизу від даної і хоче, щоб сума всіх чисел, які вона зустріне на шляху, була максимальною. Визначити цю суму та маршрут черепашки (враховуючи стартову та фінішну клітинки).

Технічні умови: Вхідні дані читаються із текстового файлу in.txt. Вихідні дані записуються в текстовий файл out.txt. Зчитування вхідних даних з клавіатури і виведення вихідних даних на екран карається штрафом 25% від кількості балів за задачу.

Формат вхідних даних: Перший рядок - N - розмір дошки. Далі N рядків, кожний з яких містить N цілих чисел, що представляють дошку.

Формат вихідних даних: Перший рядок -- максимальна сума. Наступні рядки – пари чисел - координати клітинок маршруту. Якщо оптимальних маршрутів декілька, то вивести будь-який із них.

Вхідні дані:

5

12 3 7 10 3

8 4 15 7 9

11 10 1 5 9

17 2 9 4 7

3 8 9 10 17

Текст програми для пошуку всіх можливих маршрутів черепахи (Borland Pascal 7).

Program Cherepaha;

uses wincrt;

var m,o,n,nn,i,j,k,l,lic0,lic1,licS:integer;

mas:array[1..50] of integer;

{масив для всіх можливих кроків в одному ході}

str:array[1..3000] of string[10];

{масив для всіх можливих ходів }

fil,fil2,filG:text; {файлові змінні}

s:string;

begin

randomize;

writeln ('n=');

readln (n);

m:=5000; {кількість випадкових 0 i 1}

assign (fil,'marsh.txt');

{файл зі всіма можливими маршрутами}

Rewrite(Fil);

assign (fil2,'marsh2.txt');

{2 файл зі всіма можливими маршрутами}

Rewrite(Fil2);

for i:=1 to m do begin

lic0:=0; {лічильники нулів і одиниць}

lic1:=0;

for k:=1 to n*2-2 do begin

l:=(random(2));

{заповнюємо масив випадковими нулями і одиницями}

mas[k]:=l;

end;

for k:=1 to n*2-2 do begin

if mas[k]=1 then lic1:=lic1+1; { }

if mas[k]=0 then lic0:=lic0+1;

end;

if lic0=lic1 then begin

{ вибираємо тільки ті де однакова

кількість нулів і одиниць}

if i>2000 then begin

for k:=1 to n*2-2 do write (fil2,mas[k]);

{записуємо в файл 2}

writeln(fil2);

licS:=licS+1;

end

else begin

for k:=1 to n*2-2 do write (fil,mas[k]); {записуємо в файл 1 }

writeln(fil);

licS:=licS+1;

end;

end;

end;

{if i>1000 then writeln(fil2,licS) else writeln(fil,licS);}

close (fil);

close (fil2);

{відкидаємо однакові маршрути}

assign (fil,'marsh.txt');

Reset(Fil);

assign (fil2,'marsh2.txt');

Reset(Fil2);

assign (filG,'marshG.txt');

Rewrite(FilG);

for i:=1 to licS+1 do begin

if i>2000 then begin

readln(fil2,s);

{заповнюємо масив строками з 2 го файлу}

str[i]:=s;end

else begin

readln(fil,s);

{zapovnuemo masyv strokamy z 1 faylu}

str[i]:=s;

end;

end;

for i:=1 to LicS+1 do

{перебираємо всі елементи масиву

від початку до кінця}

for j:=i+1 to licS+1 do

{перебираємо всі елементи масиву

від і+1 до кінця}

begin

if (str[j]=str[i])then

begin {якщо зустрічаємо

однакові рядкові змінні в двох комірках то}

str[j]:=''; {знищуємо однакові

елементи, щоб більше не зустрічалися}

end;

end;

for i:=1 to licS+1 do begin

{ writeln (str[i]); }

if str[i]<>'' then begin nn:=nn+1; writeln(filG,str[i]);end;

end;

writeln(filG,nn);

close (fil2);

close (fil);

close (filG);

end.

В результаті виконання програми створюється текстовий файл marshG.txt в якому записані всі можливі маршрути черепахи.

Зверніть увагу, свідоцтва знаходяться в Вашому особистому кабінеті в розділі «Досягнення»

Всеосвіта є суб’єктом підвищення кваліфікації.

Всі сертифікати за наші курси та вебінари можуть бути зараховані у підвищення кваліфікації.

Співпраця із закладами освіти.

Дізнатись більше про сертифікати.

Приклад завдання з олімпіади Українська мова. Спробуйте!
До ЗНО з ФІЗИКИ залишилося:
0
1
міс.
1
9
дн.
0
5
год.
Готуйся до ЗНО разом із «Всеосвітою»!