Пт, 22.09.2017, 00:25
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 3 з 10«12345910»
Модератор форуму: Bandalak, Ktara, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Задачі шкільного рівня. (Методично правильні розв’язки цікавих задач шкільної прогр.)
Задачі шкільного рівня.
Ковальчук_Олександр Дата: Вт, 11.03.2008, 03:09 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
У гостьовій книзі користувач роман попросив розв’язати кілька простих задач для свого сина.
Я вирішив допомогти йому і заодно створити тему, де хтось буде писати умову цікавої задачі шкільного рівня, а інші будуть пропонувати розв’язки цієї задачі. І ми разом серед кількох варіантів розв’язку вибиратимемо найоптимальніший, методично правильний. Тема досить актуальна і цікава. Сподіваюсь, допоможе вчителям, які з різних причин погано знаються на задачах з програмування навіть шкільного рівня (наприклад вчитель, який інформатику читає не за спеціальністю).

Отож, задачі з гостьової книги:
Задача 1. Дано натуральне число N (1000 < =N<=9999). Визначити, чи є числo поліндромом, тобто таким числом, яке зліва направо і справа наліво читається однаково (всі чотири цифри враховуються; наприклад, 0110).
Задача 2. Василина Премудра грала в шашки зі змієм Гориничем на дуже великій дошці. Спочатку Василина з’їла у Горинича 3 шашки, а Горинич у Василини – 5 шашок, потім Василина у Горинича з’їла 9 шашок, а Горинич у Василини – 10 шашок, на третьому ході Василина проковтнула 15 шашок, а Горинич- 20. Ця серйозна гра тривала ще довго, аж поки Горинич не втомився і після N-го ходу не з’їв саму Василину. Скільки всього шашок проковтнув Змій Горинич? Кількість шашок завжди достатня.
Задача 3 . Знайти всі дільники натурального числа N.

Розв’язки:
Задача 1.
var n,n1,n2,n3,n4,r:integer;
begin
write('Введіть будь-яке чотирьохзначне число: ');
readln(n);
n1:=n div 1000;
n2:=(n div 100) mod 10;
n3:=(n div 10) mod 10;
n4:= n mod 10;
r:=n4*1000+n3*100+n2*10+n1;
if r=n then writeln ('Введене число ',n,' являється поліндромом.')
else writeln ('Введене число ',n,' не є поліндромом.')
end.
Задача 3.
var i,n:integer;
begin
writeln('Введіть натуральне число');
readln(n);
writeln('Дільники числа ',n,': ');
for i:=1 to n do
if n mod i = 0 then
write(i,' ');
end.

Розв’язок задачі 2 напишу незабаром.
А зараз хотілося б почути ваші думки з приводу того, чи оптимально розв’язані задачі 1 та задачі 3.
Звичайно, задача 1 не враховує захист від введення не чотиризначного числа, та це легко можна виправити розгалуженням.


Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!

Varkan Дата: Вт, 25.03.2008, 15:01 | Повідомлення № 31
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (dpi)
А такой вариант:
прочитать предложение как массив слов и используя функцию длины слова найти больший элемент массива.

Саме перше запитання - на скільки елементів описувати масив?

KulAlex Дата: Вт, 25.03.2008, 19:13 | Повідомлення № 32
Знаток програмування
Повідомлень: 326
Нагороди: 6
Рейтинг: 19
Це вже перебор. Я є призер і учасник міжнародних олімпіад, я є в журі республіканських олімпіад і мені зараз розказують такі речі..................
І є побажаня вивчайте програмування і логіку ................. бо немає з ким говорити ................


Відредаговано: KulAlex - Ср, 26.03.2008, 07:44
oleg_teacher Дата: Вт, 25.03.2008, 19:54 | Повідомлення № 33
Любитель дискутувати
Повідомлень: 177
Нагороди: 0
Рейтинг: 2
Quote (KulAlex)
І є побажаня вивчайте програмування і логіку ................. бо немає з ким говорити ................

Трохи по хамські, але будемо вище... не звертаємо увагу!!!

Додано (25.03.2008, 18:54)
---------------------------------------------
потім дивуємося чого діти псіхують і т.д. На себе глянемо і все побачимо (воно ж передається)
Я теж ходив на олімпіади (правда не скажу які). НЕ ВЗЯЛИ!!!! smile

filnick Дата: Вт, 25.03.2008, 22:42 | Повідомлення № 34
Мудрий вчитель
Повідомлень: 2238
Нагороди: 7
Рейтинг: 124
Quote (KulAlex)
Я є призер і учасник міжнародних олімпіад, я є в журі республіканських олімпіад

За це - великий респект.
Quote (KulAlex)
мені зараз розказують такі речі.................. Це є ваша думка........ І зараз я покидаю цей не потріб (маю наувазі форум)....... це бардак і повний п.........................

За це - великий мінус.
Quote (KulAlex)
І є побажаня вивчайте програмування і логіку

Вчитися потрібно завжди
Quote (KulAlex)
бо немає з ким говорити

Вчитися потрібно завжди... в т.ч. і культурі спілкування.
dpi Дата: Ср, 26.03.2008, 10:04 | Повідомлення № 35
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Varkan)
Саме перше запитання - на скільки елементів описувати масив?

По максимому!
Varkan Дата: Ср, 26.03.2008, 11:28 | Повідомлення № 36
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (dpi)
о максимому!

Чого я запитав.
Я також думав іти таким чином, але спробував задати масив рядків на 255 елементів і паскаль мені не дав, от і все.

Quote (KulAlex)
Це вже перебор. Я є призер і учасник міжнародних олімпіад, я є в журі республіканських олімпіад і мені зараз розказують такі речі..................

Я вам вказав на помилку при розвязку задачі з підрахунком букви "Ю" а Ви так і не виправились.
Даже і призерам потрібно визнавати свої помилки.
До речі якщо людина не призер то це не значить що вона менше знає чим Ви.

Quote (oleg_teacher)
Трохи по хамські, але будемо вище... не звертаємо увагу!!!

Quote (oleg_teacher)
потім дивуємося чого діти псіхують і т.д. На себе глянемо і все побачимо (воно ж передається)

повністю згідний.
Не заздрю тому учню який розвязав задачу своїм методом а не тим шо ви запропонували шановний KulAlex,

Відредаговано: Varkan - Ср, 26.03.2008, 14:18
dpi Дата: Ср, 09.04.2008, 12:37 | Повідомлення № 37
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Varkan)
Я також думав іти таким чином, але спробував задати масив рядків на 255 елементів і паскаль мені не дав, от і все.

На С++ получается не больше 260240 элементов.
Кто может разъяснить, что это?

Додано (09.04.2008, 11:37)
---------------------------------------------
Китай, 12 век, круглый город, ворота на севере и юге.
Китаец вышел в северные ворота ипройдя 300 шагов уперся в дерево. Второй китаец выйдя в южные ворота пошел на запад, прошел 900 шагов и увидел дерево с первым китайцем (касательная (дотична)). Найти диаметр города.
Удачи.

Varkan Дата: Чт, 10.04.2008, 12:34 | Повідомлення № 38
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (dpi)
Найти диаметр города.

діаметр = 300

oleg_teacher Дата: Чт, 10.04.2008, 12:55 | Повідомлення № 39
Любитель дискутувати
Повідомлень: 177
Нагороди: 0
Рейтинг: 2
Здається найпростіша задача:
Протабулювати функцію y=sin(x) на проміжку [1..3] з кроком 0,2. Напишіть алгоритм, а тоді спробуйте його виконати!!! Чи отримаєте ви правильний результат!!
KulAlex Дата: Чт, 10.04.2008, 16:12 | Повідомлення № 40
Знаток програмування
Повідомлень: 326
Нагороди: 6
Рейтинг: 19
Quote (dpi)
Найти диаметр города.

Діаметр рівний 900, якщо цікавить математичний розвязок, можу виставити.

Varkan Дата: Чт, 10.04.2008, 16:37 | Повідомлення № 41
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (KulAlex)
якщо цікавить математичний розвязок, можу виставити.

Цікавить. Викладіть.

dpi Дата: Сб, 12.04.2008, 13:14 | Повідомлення № 42
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (KulAlex)
Діаметр рівний 900, якщо цікавить математичний розвязок, можу виставити.

Ответ правильный.
KulAlex Дата: Чт, 17.04.2008, 13:05 | Повідомлення № 43
Знаток програмування
Повідомлень: 326
Нагороди: 6
Рейтинг: 19
Головоломка Мельника.

(7) (2)(8) (1)(9)(6) (3)(4) (5)

- Слушайте и внемлите, - сказал мельник, - я загадаю вам загадку про эти мешки пшеницы. И заметьте, господа хорошие, что сбоку стоит по одному мешку, затем идут пары мешков, а посредине вы видете три мешка. Клянусь святым Бенедиктом, получилось так, что если мы умножим пару, 28, на один мешок, 7, то получится 196, что и указано на средних мешках. Но если вы умножите другую пару, 34, на ее соседа, 5, то не получите при этом 196. Теперь я прошу вас, добрые господа, переставить эти девять мешков, как можно меньше надрываясь, так, чтобы каждая пара, умноженная на своего соседа, давала число, стоящее в середине.
Посколько условием мельника было передвигать как можно меньше мешков, у данной головоломки - только один ответ, который, вероятно, каждый сумеет найти.

Бажаю успіхів.

Varkan Дата: Пн, 12.05.2008, 11:33 | Повідомлення № 44
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (KulAlex)
Головоломка Мельника.
(7) (2)(8) (1)(9)(6) (3)(4) (5)
- Слушайте и внемлите, - сказал мельник, - я загадаю вам загадку про эти мешки пшеницы. И заметьте, господа хорошие, что сбоку стоит по одному мешку, затем идут пары мешков, а посредине вы видете три мешка. Клянусь святым Бенедиктом, получилось так, что если мы умножим пару, 28, на один мешок, 7, то получится 196, что и указано на средних мешках. Но если вы умножите другую пару, 34, на ее соседа, 5, то не получите при этом 196. Теперь я прошу вас, добрые господа, переставить эти девять мешков, как можно меньше надрываясь, так, чтобы каждая пара, умноженная на своего соседа, давала число, стоящее в середине.
Посколько условием мельника было передвигать как можно меньше мешков, у данной головоломки - только один ответ, который, вероятно, каждый сумеет найти.

Розміщення таке: 2, 78, 156, 39, 4.
Для цього розвязку передвигаємо 5 мішків.
Мо хто знає менше?
А взагаліто є тема "головоломки"

Додано (12.05.2008, 10:33)
---------------------------------------------
Задача:
Дано три числа A, B, C.
Знайти суму меншого і більшого з них.

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

Відредаговано: Varkan - Вт, 13.05.2008, 10:28
Ковальчук_Олександр Дата: Пн, 12.05.2008, 22:02 | Повідомлення № 45
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Quote (Varkan)
Задача:Дано три числа A, B, C.Знайти суму меншого і більшого з них.

Зробив якнайкоротше. Якщо я взагалі правильно зрозумів умову.
Code

var a,b,c,max,min:real;
begin
readln(a,b,c);
max:=a; min:=a;
if b>max then max:=b;
if c>max then max:=c;
if b<min then min:=b;
if c<min then min:=c;
write(max+min);
end.
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Задачі шкільного рівня. (Методично правильні розв’язки цікавих задач шкільної прогр.)
Сторінка 3 з 10«12345910»
Пошук:


© Форум інформатиків України, 2007-2017.