Гілка гілки дерево рішення ребус. Запитання для повторення

Назвемо такий метод – контрольований перебір.

program zadacha3_8c;

for k:=1 to 4 do

for t:=2 to 9 do

if k<>t then

for o:=0 to 9 do

if (k<>o) and (t<>o) then

kto:=k*100+t*10+o;

kot:=k*100+o*10+t;

tok:=t*100+o*10+k;

if kto+kot=tok then writeln(kto,"+",kot,"=",tok);

Такий алгоритм навіть за 8-10 вкладених циклів працює дуже швидко.

Запитання для повторення:

1. Чи може у вкладених циклах використовуватися та сама змінна, наприклад i?

2. Чи можна вкладати один в одного різні цикли: FOR у WHILE чи REPEAT у FOR?

Завдання для самостійної роботи:

1. Старовинне завдання.Скільки можна купити бугаїв, корів і телят, якщо бик коштує 10 рублів, корова – 5 рублів, теля – півтинник (0,5 рубля), за умови, що на 100 рублів треба купити 100 голів худоби.

2. Встановлено натуральне n. Для всіх чисел від 1 до n знайти:

a) кількість дільників; b) суму парних дільників.

3. Знайти всі рішення наступних числових ребусів:

a) БАБКА+ДІДКА+РІПКА=КАЗКА (4 рішення)

b) КОРОВА+ТРАВА+ДОЯРКА=МОЛОКО (2 рішення)

c) АЛОНКА+ІВАН+КОЗЛИК=КАЗКА (1 рішення)

d) Гілка+Гілка+СТВОЛ=ДЕРЕВО (3 рішення)

e) ВОРОТА+ТРАВА=ФУТБОЛ (3 рішення)

Вивчаємо "Цикли"

М4_Блок №3

Тема урока :

Вкладені цикли.

Мета заняття:

1. Закріпити знання щодо використання різних типів циклів;


2. Отримати навички розв'язання алгоритмів із вкладеними циклами.

ЗОШ №1 м. Ліда

Для вирішення завдання досить часто потрібно використовувати кілька вкладених один в одного циклічних конструкцій. Такі конструкції називають вкладеними циклами.

Розглянемо кілька прикладів:

Дано натуральне числоS. Потрібно написати програму для знаходження всіх прямокутників, площа яких дорівнюєSта сторони виражені натуральними числами.

program zadacha3_6;

var s, a, b: longint;

writeln("Введіть s"); readln(s);

for a:=1 to s do

for b:=1 to s do

if a*b=s then writeln ("сторони ",a," та ",b);

Це завдання можна було вирішити, використовуючи лише один цикл. Подумайте, як це зробити.

Дано натуральні числаn, m. Отримати всі натуральні числа, меншіnсума квадратів цифр яких дорівнюєm.

program zadacha3_7;

var n, m, i, a, sum, cif: longint;

writeln("введіть n та m");readln(n, m);

for i:=1 to n do

sum:=sum+sqr(cif);

if sum=m then write(i," ");

Знайти всі рішення заданого числового ребуса. Кожній літері відповідає певна цифра. Причому однаковим буквам відповідають однакові цифри, різним буквам – різні цифри.

Оскільки тут всього три літери, то для вирішення достатньо написати три вкладені цикли, і перебрати всі варіанти складання трицифрових чисел.

program zadacha3_8a;

var k, t, o, kto, kot, tok:longint;

for k:=0 to 9 do

for t:=0 to 9 do

for o:=0 to 9 do

kto:=k*100+t*10+o;

kot:=k*100+o*10+t;

tok:=t*100+o*10+k;

if (k<>t) and (k<>o) and (t<>o) and (kto+kot=tok) then

writeln(kto,"+",kot,"=",tok);

У цьому алгоритмі тіло циклу виконувалося 10∙10∙10=1000 раз. (будемо говорити складність алгоритму =1000)

Якщо для вирішення більш складних ребусів потрібно написати 8-10 вкладених циклів, то такий повний перебір буде працювати досить довго.

Можна спростити цей алгоритм, якщо побачити що 1≤k≤4, t≥2.

for k:=1 to 4 do

for t:=2 to 9 do

for o:=0 to 9 do

Тепер складність алгоритму 4∙8∙10=320. Просте косметичне виправлення дало збільшення швидкості у 3 рази.

Але й цей алгоритм не є оптимальним. Подивіться, при k=2 і t=2 програма перебере всі 10 варіантів o. У таких випадках коли k=tцикл по oвзагалі необхідно не виконувати.

Хто з нас не знайомий із ребусами? Ці цікаві шифрування знайомі всім від малого до великого. У ребусах слова зашифровані за допомогою послідовності картинок та різних символів, у тому числі букв та цифр. Слово "ребус" перекладається з латинської як "за допомогою речей". Зародився ребус у Франції в XV столітті, а перша друкована збірка ребусів, видана в цій країні в 1582, була складена Етьєном Табуро. За час, що минув з того часу, техніка складання ребусних завдань збагатилася безліччю різноманітних прийомів. Щоб розгадати ребус, важливо не лише знати, що намальовано, а й врахувати розташування малюнків та символів один щодо одного, і це досягається практикою. Є деякі негласні правила, за якими складають ребуси, і розгадувати їх легше теж за тими самими правилами, а такі правила:

Загальні правила розгадування ребусів

Слово чи речення у ребусі ділиться на частини, які зображують у вигляді малюнка чи символу. Читають ребус завжди ліворуч, рідше зверху вниз. Прогалини та розділові знаки не читають. Те, що в ребусі намальовано на картинках, читається в називному відмінку, зазвичай в однині, але бувають винятки. Якщо намальовано кілька предметів, стрілкою вказують, яку саме частину зображення використовують у цьому ребусі. Якщо загадується не одне слово, а пропозиція (прислів'я, крилатий вираз, загадка), то в ньому крім іменників є дієслова та інші частини мови. Зазвичай це обумовлюється у завданні (наприклад: "Відгадай загадку"). Ребус повинен мати рішення, причому одне. Неоднозначність відповіді має обумовлюватися за умов ребуса. Наприклад: "Знайди два рішення цієї ребуса". Кількість прийомів, що використовуються в одному ребусі, та їх поєднань не обмежується.

Як розгадувати ребуси з картинок

Називають послідовно всі предмети зліва направо в називному відмінку однині.

Відповідь: слід досвід = слідопит

Відповідь: віл вікно = волокно

Відповідь: око обличчя = околиця

Якщо предмет намальований у перевернутому вигляді, назву його треба читати праворуч наліво. Наприклад, намальовано «кіт», читати треба «струм», намальовано «ніс», читати треба «сон». Іноді напрямки читання показують стрілкою.

Відповідь: сон

Часто предмет, намальований у ребусі, можна назвати по-різному, наприклад «луг» і «поле», «нога» та «лапа», «дерево» та «дуб» або «береза», «нота» та «мі», у таких випадках потрібно підбирати підходяще слово, таке, щоб ребус мав рішення. Це одна з найголовніших труднощів у розгадуванні ребусів.

Відповідь: дуб рава = діброва

Як розгадувати ребуси із комами

Іноді назва зображеного предмета не може бути використана цілком і необхідно відкинути одну або кілька літер на початку або наприкінці слова. Тоді використовується кома. Якщо кома стоїть ліворуч від малюнка, від його назви відкидають першу букву, якщо справа – останню. Скільки ком коштує, стільки букв відкидають.

Відповідь: хо м'яч до = хом'як

Наприклад, намальовані 3 коми та «годівниця», треба прочитати тільки «мушка»; намальовано «вітрило» і 2 коми, треба прочитати тільки «пар».

Відповідь: у парасольку р = візерунок

Відповідь: чи са то пор гі = чоботи

Як розгадувати ребуси з літерами

Такі буквосполучення як перед, над, на, під, за, при, у, як правило, в ребусах малюнком не зображуються, але виявляються з відповідного положення букв і малюнків. Букви та буквосполучення з, до, з, від, по, і не показуються, а показуються відносини букв або предметів, або напрямок.

Якщо два предмети або дві літери, або літери та цифри намальовані одна в іншій, їх назви читаються з додаванням прийменника «в». Наприклад: "в-о-так", або "в-о-сім", або "не-в-а". Можливо різне прочитання, наприклад, замість "вісім" можна прочитати "сім-в-о", а замість "вода" - "так-в-о". Але таких слів немає, тому такі слова є рішенням ребуса.

Відповіді: в-о-так, о-сім, в-о-лк, в-о-ро-н, в-о-рот-а

Якщо один предмет або символ намальований під іншим, то розшифровуємо з додаванням "на", "над" або "під", потрібно вибрати привід за змістом. Приклад: "фо-на-рі", "під-у-шка", "над-е-жда".

Відповіді: фо-на-рі, під-у-шка, над-е-жда

Якщо за якоюсь літерою чи предметом знаходиться інша літера чи предмет, то читати потрібно з додаванням «за». Наприклад: "Ка-за-нь", "за-я-ц".

Відповідь: за-я-ц

Якщо одна літера лежить в іншої або притулена до неї, то читають з додаванням "у" або "к". Наприклад: "Л-у-к", "д-у-б", "о-к-о".

Відповіді: цибуля, дуб

Якщо літера чи склад складається з іншої літери чи стилю, то читають із додатком «із». Наприклад: "із-б-а", "б-із-він", "вн-із-у", "ф-із-ік".

Відповіді: хата, бізон

Якщо по всій літері написано іншу літеру або склад, читають з додатком «по». Наприклад: "по-р-т", "по-л-е", "по-я-с". Також "по" може використовуватися, коли одна буква з ніжками біжить по іншій букві, цифрі або предмету.

Відповідь: Польща

Відповіді: пояс, поле

Якщо намальовано предмет, а біля нього написано, а потім закреслено букву, то це означає, що букву цю треба викинути зі слова. Якщо ж над закресленою літерою стоїть інша, це означає, що треба нею замінити закреслену. Іноді у разі між літерами ставиться знак рівності.

Відповідь: лаз

Відповідь: ма лина з Монт = лимон

Як розгадувати ребуси з цифрами

Якщо над малюнком стоять цифри, це підказка, у порядку потрібно читати букви з назви предмета. Наприклад, 4, 2, 3, 1 означає, що спочатку читається четверта буква назви, потім – друга, за нею – третя та перша.

Відповідь: бриг

Цифри можуть бути перекреслені, отже потрібно відкинути літеру зі слова, що відповідає цьому порядку.

Відповідь: коник ак ЛУа бо мба = Колумб

Досить рідко в ребусах використовується дія літери - біжить, летить, лежить, у таких випадках до назви цієї літери треба додати відповідне дієслово в третій особі теперішнього часу, наприклад, «утікає».

Як розгадувати ребуси з нотами

Часто в ребусах окремі склади, що відповідають назвам нот - "до", "ре", "мі", "фа"... зображують відповідними нотами. Іноді використовується узагальнююче слово "нота".

Переклад: Ноти, що використовуються при складанні ребусів


Відповіді: квасоля, мінус

Ознайомившись з правилами як розгадувати ребуси, ви зможете без особливих зусиль не тільки розгадати будь-який ребус, але й дізнаєтеся як скласти ребус самому.

  1. Назва всього, що зображено на картинках у ребусі, читається лише в називному відмінку.
  2. Картинка в ребусі може мати не одну назву. Приклад: нога та лапа, око та око; або зображення може мати спільну або приватну назву (птах – загальна назва; півень, голуб, чайка – приватна назва).
  3. Коми (не має значення, перевернуті чи ні) вказують, що з слова слід прибрати крайні літери. Спочатку слова, якщо коми стоять перед картинкою, або з кінця слова, якщо коми після картинки. Кількість букв, які потрібно прибрати, відповідає кількості ком.ЛІС
  4. Закреслені літери – такі літери слід забрати зі слова. Якщо закреслені літери повторюються, вони забираються все. КАСА
  5. Закреслені цифри вказують, що в слові таку букву треба прибрати.
  6. Знак рівності між літерами (А=Е) вказує на те, що потрібно замінити всі літери А на Е. Рівність 1=Е вказує на заміну тільки першої літери в слові. СИЛА
  7. Стрілка між літерами (Е -> У) теж свідчить про відповідну заміну букв.
  8. Цифри 1,2,7,5 над картинкою вказують, що з слова потрібно взяти літери під номерами 1,2,7,5 і скласти в тому порядку, де розташовані цифри. ТАНК
  9. Перегорнутий нагору ногами малюнок вказує, що слово слід читати праворуч наліво. (КІТ - СТРУМ)
  10. Стрілка, вістрям вліво, зображена над картинкою вказує, що після того, як слово розшифроване, його потрібно прочитати задом наперед. КІТ
  11. Коли ребус використовується дріб, це розгадується як " НА " (розділити НА). Якщо ж у ребусі використовується дріб із знаменником 2, це розгадується як " ПОЛ " (половина). ПОЛИЦЯ Ліхтар
  12. Під час складання ребусів використовують ноти. Для визначення ноти має значення тільки те, на якій межі розташована чорна точка(Нота).
  13. Усередині букви "О" розташований склад "ТАК", виходить В-О-ТАК, тобто. "ВОДА". Також це можна прочитати як "ТАК-В-О". Вибирається варіант, відповідний за змістом. ВОЛЯ
  14. Коли картинки розташовані один над одним, це читається як "НАД", "НА", "ПІД" (залежно від того, що підходить за змістом). ПОДАРУНОК АНАНАС
  15. Літера, що складається з інших букв, читається як прийменник "З". Наприклад з літери "Б" складемо літеру "А", то отримаємо: з "Б" "А" (ІЗБА).ІЗБА
  16. Літера, розташована поверх іншої літери, читається як "ПЗ".ПОЛЕ
  17. Літера, зображена за іншою літерою, читається як прийменник "ЗА" або "ПЕРЕД". Вибирається варіант, відповідний за змістом. ЗАЄЦЬ
  18. Знак "+" означає прийменник "К" (Прим. 2+3 можна прочитати: До Двох додати Три або Три додати До Двох). Слід вибирати варіант, що підходить за змістом. ВІКНО кокон
  19. Подвійна стрілка між цифрами означає, що букви під цими номерами потрібно поміняти місцями одне з одним. Лапка
  20. Перекреслений знак "=" між картинками слід читати як "НЕ" (Приклад: "С" НЕ дорівнює "Г"). Сніг

Ну, що тепер ви готові вирішити будь-який ребус?

PS: Якщо ви знаєте ще якісь правила для розгадування ребусів або помітили якусь неточність в описі наявних правил, то напишіть, будь ласка, про це в коментарях нижче.

(jcomments on)