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

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

Сторінка 1 з 11
Модератор форуму: Ktara, НІКОЛЯ, Bandalak, volevikt 
Форум інформатиків » АРХІВ » Архів форуму » Задача на мові Паскаль (Допоможіть розв'язати задачу)
Задача на мові Паскаль
nataliakonanec16021987 Дата: Нд, 02.11.2014, 12:48 | Повідомлення № 1
Новий користувач
Повідомлень: 1
Нагороди: 0
Рейтинг: 0
Добрий день!
Шановні колеги, допоможіть розв'язати задачу даного типу:
Кондитерська фірма, яка любить експериментувати, вирішила встановити пільгові карточки для своїх працівників з щасливими номерами.
Допоможіть підрахувати, скільки людей може попасти до пільгової категорії, якщо щасливою буде карточка, утворена чотиризначним числом, цифри якої в сумі дають 7.


[admin]Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!
Bandalak Дата: Нд, 02.11.2014, 16:06 | Повідомлення № 2
Лідер форуму
Повідомлень: 5392
Нагороди: 37
Рейтинг: 247
Це з районної олімпіади по Інформатиці?
Ніхто з дітей не розв'язав, взялися вчителі це робити?
Яка це область?


Щоб прочитати текст програми, потрібно мати не менше 20 повідомлень на форумі!
nolk-v Дата: Нд, 02.11.2014, 18:35 | Повідомлення № 3
Прописаний назавжди
Повідомлень: 279
Нагороди: 2
Рейтинг: 30
Цитата Bandalak ()
Це з районної олімпіади по Інформатиці?Ніхто з дітей не розв'язав, взялися вчителі це робити?
Яка це область?
А чому такий розв'язок? Дані карточки містять чотирицифрові числа. Я розв'язував так (для перевірки організував виведення чисел):
Доступно тільки для користувачів


Відредаговано: nolk-v - Нд, 02.11.2014, 18:39
Bandalak Дата: Нд, 02.11.2014, 19:17 | Повідомлення № 4
Лідер форуму
Повідомлень: 5392
Нагороди: 37
Рейтинг: 247
Звичайно Ваш розв'язок працюватиме набагато швидше, але для цієї тривіальної задачі це не настільки важливо.

Я старався записати найпростіший для розуміння варіант.
swetikccc Дата: Нд, 02.11.2014, 19:18 | Повідомлення № 5
Ветеран спілкування
Повідомлень: 3863
Нагороди: 25
Рейтинг: 346
Спjчатку в лоб вирішив, як  nolk-v,
але потім побачив ваше рішення пане Bandalak і трішки його оптимізував циклів зменшилося  на порядок всього 330.

Доступно тільки для користувачів
volevikt Дата: Вт, 04.11.2014, 14:45 | Повідомлення № 6
Перспективна вчителька
Повідомлень: 1785
Нагороди: 24
Рейтинг: 188
Пропоную не закривати тему. Іноді вчителю-початківцю немає до кого звернутися за допомогою, особливо, коли це сільська віддалена школа.
Розумію, що розв'язувати за когось задачі - це не вихід, але ж наштовхнути на розв'язок чи допомогти знайти помилку у самому розв'язку, ми можемо?
Окрім того, це гарне тренування для інших вчителів.
Сподіваюся, шановні колеги, що Ви мене підтримаєте.
nolk-v Дата: Вт, 04.11.2014, 17:01 | Повідомлення № 7
Прописаний назавжди
Повідомлень: 279
Нагороди: 2
Рейтинг: 30
Цитата nataliakonanec16021987 ()
утворена чотиризначним числом, цифри якої в сумі дають 7.
Шановні колеги, можливо я чогось не зрозумів, але:
ваші розв'язки дають кількість чисел 120, мій 84.,бо
ваша програма перебирає числа від 0 до 7777 (розв'язок Bandalak). Як я розумію з умови на картці чотирицифрове число, а чисел типу 0007 немає - ваша програма їх враховує.
В принципі, якщо у вашій програмі початкове значення змінній h надати 1 а не 0, розв'язків буде 84.



Відредаговано: nolk-v - Вт, 04.11.2014, 17:30
swetikccc Дата: Вт, 04.11.2014, 17:34 | Повідомлення № 8
Ветеран спілкування
Повідомлень: 3863
Нагороди: 25
Рейтинг: 346
Цитата nolk-v ()
Шановні колеги, можливо я чогось не зрозумів, але:
ваші розв'язки дають кількість чисел 120, мій 84.,бо
ваша програма перебирає числа від 0 до 7777 (розв'язок Bandalak). Як я розумію з умови на картці чотирицифрове число, а чисел типу 0007 немає - ваша програма їх враховує.

Ну якщо число, то замініть нолик в першому циклі на 1.
Але ж тоді карточки під номером 7 не існує
nolk-v Дата: Вт, 04.11.2014, 17:41 | Повідомлення № 9
Прописаний назавжди
Повідомлень: 279
Нагороди: 2
Рейтинг: 30
У правці я вже це написав. Начебто проста задача, а які цікаві ідеї. Дякую за дискусію...
Bandalak Дата: Вт, 04.11.2014, 19:44 | Повідомлення № 10
Лідер форуму
Повідомлень: 5392
Нагороди: 37
Рейтинг: 247
Карточки можуть номерувати з 0000, тому розв'язків має бути все ж таки 120.
nolk-v Дата: Ср, 05.11.2014, 09:28 | Повідомлення № 11
Прописаний назавжди
Повідомлень: 279
Нагороди: 2
Рейтинг: 30
Цитата Bandalak ()
Карточки можуть номерувати з 0000, тому розв'язків має бути все ж таки 120.
Можливо ви й праві, але я думаю, що чотиризначне число - це таке число, яке не починається з 0. Відповідно умову задачи необхідно уточнювати, щоб було чітко зрозуміло, що мається на увазі - чотиризначне число в звичайному розумінні чи набір чотирьох цифр, які приймають значення від 0 до 7.
Пилипчук_О_П Дата: Ср, 05.11.2014, 11:04 | Повідомлення № 12
Ветеран спілкування
Повідомлень: 3780
Нагороди: 28
Рейтинг: 309
Цитата nolk-v ()
умову задачи необхідно уточнювати, щоб було чітко зрозуміло, що мається на увазі

Саме так і мають формулюватися умови олімпіадних задач.

Зараз у Хмельницькій області триває заочна олімпіада. Я автор декількох задач. Ось приклад, як виглядають умови і консультації журі щодо умов (третій тур; мої задачі - D i E):

http://zoi2014.at.ua/index/umovi/0-20
http://zoi2014.at.ua/forum/7-5-1

Як бачимо, навіть коли, готуючи порівняно просту задачу, намагаєшся все врахувати, завжди знаходяться неоднозначності.
nolk-v Дата: Вт, 11.11.2014, 23:45 | Повідомлення № 13
Прописаний назавжди
Повідомлень: 279
Нагороди: 2
Рейтинг: 30
Цитата Bandalak ()
Це з районної олімпіади по Інформатиці?
Знайшов схожу задачу на дистанційному курсі з програмування:
Паша очень любит кататься на общественном транспорте, а получая билет, сразу проверяет, счастливый ли ему попался. Билет
считается счастливым, если сумма первых трех цифр совпадает с суммой
последних трех цифр номера билета.

Однако Паша очень плохо считает в уме, поэтому попросил вас написать программу, которая проверит
равенство сумм и выведет "Счастливый", если суммы совпадают, и
"Обычный", если суммы различны.

На вход программе подаётся строка из шести цифр.
Выводить нужно только слово "Счастливый" или "Обычный", с большой буквы.

Sample Input:
090234


Sample Output:
Счастливый


Memory Limit: 256 MB

Time Limit: 5 seconds
Але тут постановка чітка - номер білету не число, а набір цифр від 0 до 9.
skif Дата: Нд, 16.11.2014, 18:41 | Повідомлення № 14
Прописаний назавжди
Повідомлень: 352
Нагороди: 2
Рейтинг: 32
А такий варіант:
var n,x,i,s:integer;
begin
readln(n);
s:=0;
while n>=0 do 
begin
x:=n mod 10;
s:=s+x;
n:=n div 10;
end;
if s=7 then write('Schasluvuj') else ('Ne schasluvuj');
end.
Форум інформатиків » АРХІВ » Архів форуму » Задача на мові Паскаль (Допоможіть розв'язати задачу)
Сторінка 1 з 11
Пошук:


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