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

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

Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt  
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Учительська олімпіада!!! (Давайте проведемо віртолімпіаду між вчителями інформатики...)
Учительська олімпіада!!!
Sasyk Дата: Чт, 15.11.2007, 16:22 | Повідомлення № 1
знаток тестуючих систем
Повідомлень: 300
Нагороди: 0
Рейтинг: 9
Пропоную скинути по одній цікавій задачі для віртуальної учительської олімпіади!!!
Ці задачі скинути до кінця цього місяця...
На розвязання задач дається 1 місяць.
1-го січня опублікувати на форумі розвязки задач вчителями: користувач - задача 1, розвязок... задача n, розвязок. і т д.
А потім разом визначатимемо переможця...
Автор завдання повинен розвязок задачі відправити адміністратору, який в кінці конкурсу всі розвязки опублікує для перевірки...
Як вам така ідея???

Чув цікаву задачу
Є 9 монет. Одна з них бракована, але вигляд має такий як усі. Відомо, що при її виготовленні в середині утворився повітряний отвір і важить вона менше за всі інші. Написати програму, яка б за 2 зважування визначала дану монету.
Розпочав роботу раніше оголошеного терміну дистанційний курс навчання з розв'язування олімпадних задач для вчителів - учасників ( http://www.olymp.vinnica.ua/index_ua.php?lng=ua&cid=815 ) олімпіади. Теми курсу - свого роду "підказки" для розв'язку задач олімпіади з паралельними узагальненнями та доповненнями, що дозволить не лише розібратися з конкретною задачою, а й навчитися вирішувати цілий клас подібних задач. Сподіваюсь, це спровокує більш активну участь учителів в олімпіаді (всього 44 зареєстрованих, і то не всі є учителями :'( ). Для роботи з курсом:
1. Зареєструйтесь на http://disted.edu.vn.ua, зайдіть як зареєстрований учаксник
2. В меню КЛАСИ оберіть розділ ПОЗАКЛАСНА РОБОТА. ДИСТАНЦІЙНІ КУРСИ. Далі - МЕТОДИКА РІШЕННЯ ОЛІМПІАДНИХ ЗАДАЧ З ІНФОРМАТИКИ (курс для учителів).
Питання найкраще задавати на форумі олімпіади http://forum.olymp.vinnica.ua.
Можливі он-лайн консультації та відеотрансляції лекцій в реальному часі...були б бажаючі.
Прошу адміністрацію форума розіслати це повідомлення всім, як приватне. Зареєстровані учасники отримають його поштою.
Успіхів у навчанні!


[admin]Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!
ihor_hontar Дата: Пн, 28.01.2008, 20:39 | Повідомлення № 16
Досвідчений вчитель
Повідомлень: 279
Нагороди: 0
Рейтинг: 13
Троє студентів вирішили купити будильник, щоб не просипати на пари. Склались по 10 грн. (10х3=30) і купили будильник. Із радістю вийшли з магазину. Коли продавець вибив квиток, оказалось, що будильник коштує 25 грн. Просить напарника, щоб наздогнав хлопців і віддав 5 грн. Напарник наздогнав студентів і віддав їм кожному по 1 грн. з їхньої згоди 2 грн. залишив собі, як послугу. Отже студенти скинулись не по 10 грн., а по 9 грн., тобто 9х3=27 плюс 2 грн., що залишилось у другого продавця. Разом 29 грн. Де ділась одна грн.? biggrin
Newbie Дата: Пн, 28.01.2008, 21:25 | Повідомлення № 17
Хелпер
Повідомлень: 1414
Нагороди: 9
Рейтинг: 91
http://informatics.at.ua/forum/13-106-1 biggrin
Bandalak Дата: Пн, 28.01.2008, 23:44 | Повідомлення № 18
Лідер форуму
Повідомлень: 6020
Нагороди: 43
Рейтинг: 276
Quote (dpi)
1) находим четверку с разными

Quote (Bandalak)
чи легша, чи важча, не відомо


За 1 зважування ми четвірку різних монет ніяк не знайдемо!
dpi Дата: Вт, 29.01.2008, 09:48 | Повідомлення № 19
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Bandalak)
За 1 зважування ми четвірку різних монет ніяк не знайдемо!

Согласен.
Яимел ввиду не весы а три if () else
Стифа Дата: Вт, 29.01.2008, 14:25 | Повідомлення № 20
Я тут недавно...
Повідомлень: 33
Нагороди: 0
Рейтинг: 3
Quote (ihor_hontar)
Троє студентів вирішили купити будильник, щоб не просипати на пари. Склались по 10 грн. (10х3=30) і купили будильник. Із радістю вийшли з магазину. Коли продавець вибив квиток, оказалось, що будильник коштує 25 грн. Просить напарника, щоб наздогнав хлопців і віддав 5 грн. Напарник наздогнав студентів і віддав їм кожному по 1 грн. з їхньої згоди 2 грн. залишив собі, як послугу. Отже студенти скинулись не по 10 грн., а по 9 грн., тобто 9х3=27 плюс 2 грн., що залишилось у другого продавця. Разом 29 грн. Де ділась одна грн.?

Гривня ниде не ділась. Студенти заплатили 9х3=27 грн, тобто 25 грн за будильник і + 2 грн за послуги продавцю. Просто треба не додавати 27+2=29, а віднімати 27-2=25. Тоді все і відповіді буде тіп-топ
Bandalak Дата: Ср, 30.01.2008, 02:19 | Повідомлення № 21
Лідер форуму
Повідомлень: 6020
Нагороди: 43
Рейтинг: 276
Ускладнюю задачу з монетами!

Є n монет (2<n<32000), серед яких одна фальшива, ваща чи легша - не відомо. Скласти прграму, що обчислить скільки необхідно найменше зважувань, щоб відшукати цю монету. Фактор випадковості не враховувати.
Вхідні дані для тесту:
Monet.dat
12
Вихідні дані:
Monet.sol
3

Бажаю успіху!

dpi Дата: Чт, 07.02.2008, 08:57 | Повідомлення № 22
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Bandalak)
Є 12 монет, одна з них фальшива, чи легша, чи важча, не відомо. Необхідно за 3 зважування ії відшукати!

#include <iostream>
#include <fstream>
#define n 13 //Не используем нулевой индекс
using namespace std;
int main ()
{
int p[n],i,j,k;
string t;
fstream fin;
fin.open ("moneta.dat", ios::in); //проверка открытия файла
if (!fin)
{
cout << "No file...";
system ("PAUSE");
exit (-1);
} //=======================================================
for (i = 1; i < n; i++) fin >> p[i]; //чтение веса
fin.close();
//========================= Взвесим по 4 1-й вариант ============
if ((p[1]+p[2]+p[3]+p[4]) == (p[5]+p[6]+p[7]+p[8])) //1 a vzveshifnie
{
if ((p[9]+p[10]+p[11]) == (p[1]+p[2]+p[3])) //2 a.1(variant)
{
k = 12;
if (p[12]>p[1]) t = "Tiagelei "; //3 a.1
else if (p[12]<p[1]) t = "Legche ";
}
else if ((p[9]+p[10]+p[11]) > (p[1]+p[2]+p[3])) //2 a.2
{
t = "Tiagelei ";
if (p[9] > p[10]) k = 9; //3 a.2
else if (p[9] < p[10]) k = 10;
else k = 11;
}
else //2 a.3
{
t = "Legche ";
if (p[9] < p[10]) k = 9; //3 a.3
else if (p[9] > p[10]) k = 10;
else k = 11;
}
}
//========================= Взвесим по 4 2-й вариант =================
else if ((p[1]+p[2]+p[3]+p[4]) > (p[5]+p[6]+p[7]+p[8])) //1 b
{
if ((p[1]+p[2]+p[9]) == (p[3]+p[4]+p[5])) //2 b.1
{
t = "Legche ";
if (p[6] < p[7]) k = 6; //3 b.1
else if (p[6] > p[7]) k = 7;
else k = 8;
}
else if ((p[1]+p[2]+p[9]) < (p[3]+p[4]+p[5])) //2 b.2
{
if (p[3] == p[4]){k=5;t = "Legche ";} //3 b.2
else if (p[3] > p[4]) {k=3; t = "Tiagelei ";}
else {k = 4; t = "Tiagelei ";}
}
else if ((p[1]+p[2]+p[9]) > (p[3]+p[4]+p[5])) //2 b.3
{
if (p[1] == p[2]){k=5;t = "Legche ";} //3 b.3
else if (p[1] > p[2]) {k=1; t = "Tiagelei ";}
else {k = 2; t = "Tiagelei ";}
}
}
//========================= Взвесим по 4 3-й вариант =================
else if ((p[1]+p[2]+p[3]+p[4]) < (p[5]+p[6]+p[7]+p[8])) //1 c
{
if ((p[1]+p[2]+p[9]) == (p[3]+p[4]+p[5])) //2 c.1
{
t = "Tiagelei ";
if (p[6] < p[7]) k = 7; //3 c.1
else if (p[6] > p[7]) k = 6;
else k = 8;
}
else if ((p[1]+p[2]+p[9]) < (p[3]+p[4]+p[5])) //2 c.2
{
if (p[1] == p[2]){k=5;t = "Tiagelei ";} //3 c.2
else if (p[1] > p[2]) {k=2; t = "Legche ";}
else {k = 1; t = "Legche ";}
}
else if ((p[1]+p[2]+p[9]) > (p[3]+p[4]+p[5])) //2 c.3
{
if (p[3] == p[4]){k=5;t = "Legche ";} //3 c.3
else if (p[3] > p[4]) {k=4; t = "Legche ";}
else {k = 3; t = "Legche ";}
}
}
fstream fout;
fout.open ("moneta.sol", ios::out);
if (!fin)
{
cout << "No file...";
system ("PAUSE");
exit (-1);
}
fout<<t<<k;
/*cout<<t<<k<<endl;
system ("PAUSE");*/
return 0;
}
//Протестировано на Dev-C++ и Builder 6.0 (для В_3.1_С++ изменить начало)

Varkan Дата: Чт, 07.02.2008, 09:49 | Повідомлення № 23
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Всі ці задачі (монети) це рівень середньої школи математики.
Шановні вчителя є дуже чудові дисципліни такі як ТОП (теоретичні основи програмування) і чисельні методи на яких ми вивчали алгоритми розв’язку дуже багатьох цікавих задач (хід конем, проходження лабіринту...) давайте будемо вирішувати дійсно цікаві задачі. мене наприклад цікавить алгоритм розв’язку такої задачі: дано лабіринт в якому немає проходу. Як знайти стінку розбивши яку ми зможемо пройти даний лабіринт?
Чому прошу алгоритм – тому що маючи алгоритм зможемо написати програму на будь-якій мові.
Sasyk Дата: Чт, 07.02.2008, 10:05 | Повідомлення № 24
знаток тестуючих систем
Повідомлень: 300
Нагороди: 0
Рейтинг: 9
Quote (Varkan)
Всі ці задачі (монети) це рівень середньої школи математики. Шановні вчителя є дуже чудові дисципліни такі як ТОП (теоретичні основи програмування) і чисельні методи на яких ми вивчали алгоритми розв’язку дуже багатьох цікавих задач (хід конем, проходження лабіринту...) давайте будемо вирішувати дійсно цікаві задачі. мене наприклад цікавить алгоритм розв’язку такої задачі: дано лабіринт в якому немає проходу. Як знайти стінку розбивши яку ми зможемо пройти даний лабіринт? Чому прошу алгоритм – тому що маючи алгоритм зможемо написати програму на будь-якій мові

Повністю погоджуюся, давайте розвязувати складніші задачі...
А над цим треба подумати...
dpi Дата: Чт, 07.02.2008, 13:15 | Повідомлення № 25
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Varkan)
дано лабіринт в якому немає проходу. Як знайти стінку розбивши яку ми зможемо пройти даний лабіринт?

Как вариант.
Лабиринт - таблица n на m заполняется нулями
Во вход "засыпаем" единицы, в выход - двойки
Если сумма рядом стоящих равна три - долби.
Bandalak Дата: Чт, 07.02.2008, 17:15 | Повідомлення № 26
Лідер форуму
Повідомлень: 6020
Нагороди: 43
Рейтинг: 276
Quote (Bandalak)
#include <iostream>
#include <fstream>
#define n 13 //Не используем нулевой индекс

Розв1язки цікаві, а як зробити для n монет?
Varkan Дата: Пт, 08.02.2008, 08:52 | Повідомлення № 27
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (dpi)
Как вариант.
Лабиринт - таблица n на m заполняется нулями
Во вход "засыпаем" единицы, в выход - двойки
Если сумма рядом стоящих равна три - долби.

в принципі правильно (є деякі нюанси), а тепер ускладнимо точно знаємо шо таких стінок є декілька. потрібно знайти ту, шлях через яку буде найкоротший.

dpi Дата: Сб, 09.02.2008, 12:19 | Повідомлення № 28
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Bandalak)
Розв1язки цікаві, а як зробити для n монет?

smile Это уже за дополнительную плату... tongue
(Будет время подумаю.)
_______
dpi

Varkan Дата: Пн, 11.02.2008, 13:10 | Повідомлення № 29
Викладач ВУЗу
Повідомлень: 425
Нагороди: 0
Рейтинг: 6
Quote (Bandalak)
Ускладнюю задачу з монетами!
Є n монет (2<n<32000), серед яких одна фальшива, ваща чи легша - не відомо. Скласти прграму, що обчислить скільки необхідно найменше зважувань, щоб відшукати цю монету. Фактор випадковості не враховувати.
Вхідні дані для тесту:
Monet.dat
12
Вихідні дані:
Monet.sol
3
Бажаю успіху!

тут і думати немає чого. принцип такий - за одне зважування відкинути найбільшу масу монет. це можливо коли ми поділимо всі монети на три кучки і дві з них зважимо (важимо однакові кучки). в залежності від результатів зважування залишаємо одну з трьох (тобто відкидаємо приблизно 1/3 монет) і так ділі...
приклад:
є 100 монет
100=33+33+34
1 зважування - важимо перших 33 і других 33 після зважування залишаємо або 33 або 34
візьмемо 34=11+11+12
2 зважуваня важимо перших 11 і других 11 після зважування залишаємо або 11 або 12
візьмемо 12=4+4+4
3 зважування - важимо перших 4 і других 4 після зважування залишаємо 4
візьмемо 4=1+1+2
4 зважування - важимо першу 1 і другу 1 після зважування залишаємо або 1 або 2
візьмемо 2=1+1
5 зважування - важимо першу 1 і другу 1 після зважування залишаємо 1

а тепер рахуємо кількість зважувань
1 100:3=34 (заокр до більшого)
2 34:3=12 (заокр до більшого)
3 12:3=4 (заокр до більшого)
4 4:3=2 (заокр до більшого)
5 2:3=1 (заокр до більшого)
от вам і кількість зважувань.
тепер узагальнюємо для N.

N ділимо на 3 (рез заокр до більшого) результат ділимо на 3 і так далі поки не отримаємо 1. кількість ділень і буде кількість зважувань.

oleg_teacher Дата: Пн, 11.02.2008, 13:59 | Повідомлення № 30
Любитель дискутувати
Повідомлень: 177
Нагороди: 0
Рейтинг: 2
Quote (Varkan)
3 12:3=4 (заокр до більшого)

Тут ы заокруглювати не тра!!!

Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Учительська олімпіада!!! (Давайте проведемо віртолімпіаду між вчителями інформатики...)
Пошук:


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