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

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво
Безлимитный хостинг, бесплатный домен, бесплатный хостинг, Хостинг, dedicated, сервер, хостинг в Европе, хостинг в Германии, выделенный сервер

Сторінка 2 з 2«12
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.6 Методика викладання інформатики згідно програми » Розв’язування задач з теми "Процедури і функції" (Тільки конкретика)
Розв’язування задач з теми "Процедури і функції"
Ковальчук_Олександр Дата: Нд, 29.11.2009, 22:33 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3604
Нагороди: 17
Рейтинг: 187
В даній темі пропоную розв’язувати задачі з розділу "Процедури і функції"
Будемо писати цікаві умови задач і хто знає, пише розв’язок.
Обов’язкове правило теми: розв’язок повинен містити текст програми на мові програмування Паскаль або іншій. Допускаються коментарі щодо розв’язку, блок-схеми, НАМ. Важливо писати програми максимум оптимально. Не можна публікувати умови наступної задачі до тих пір, поки не буде розв’язана задана автором повідомлення задача.
Прохання виконувати дане правило, інакше це прирівнюватиметься до порушень правил форуму.
Не скупіться ділитись досвідом, роблячи тим самим внесок в розвиток форуму!

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

Nevirkovets Дата: Пн, 25.01.2010, 15:41 | Повідомлення № 16
Написав MifTests
Повідомлень: 266
Нагороди: 0
Рейтинг: 12
Quote (dpi)
Может xor вместо or?

здається ні!!! якщо (a>=b+c) або (b>=a+c) або (c>=a+b) тоді неможна побудувати трикутник. Тобто одна із сторін більша за суму інших
volodschool2 Дата: Пн, 25.01.2010, 22:00 | Повідомлення № 17
Досвідчений учасник
Повідомлень: 1309
Нагороди: 12
Рейтинг: 247
Quote (Ковальчук_Олександр)
Будемо писати цікаві умови задач і хто знає, пише розв’язок.

Так де ж ті цікаві задачі? З трикутником погрались, і на цьому зупинимось?
Чи продовжимо обговорювати "глобальні проблеми розвитку освіти"=="товкти воду в ступі"?
alex Дата: Пн, 25.01.2010, 22:38 | Повідомлення № 18
Активний учасник
Повідомлень: 586
Нагороди: 1
Рейтинг: 17
Шановний volodschool2.
Пропоную http://www.olymp.vinnica.ua/ Виберіть розділ ЗАДАЧІ ДЛЯ ПОЧАТКІВЦІВ.
Там же є можливість перевірити правильність розвязку.
volodschool2 Дата: Пн, 25.01.2010, 22:44 | Повідомлення № 19
Досвідчений учасник
Повідомлень: 1309
Нагороди: 12
Рейтинг: 247
Quote (alex)
Виберіть розділ ЗАДАЧІ ДЛЯ ПОЧАТКІВЦІВ.

Дякую. Якби я хотів перевірити себе, я знайшов би спосіб це зробити.
alex Дата: Пн, 25.01.2010, 23:57 | Повідомлення № 20
Активний учасник
Повідомлень: 586
Нагороди: 1
Рейтинг: 17
Quote (volodschool2)
Якби я хотів перевірити себе, я знайшов би спосіб це зробити.

Так я ж не про Ваш рівень знаннь, а про цікаві задачі. Як на мене вони хоч і прості, але цікаві.
dpi Дата: Вт, 26.01.2010, 18:15 | Повідомлення № 21
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (Nevirkovets)
здається ні!!! якщо (a>=b+c) або (b>=a+c) або (c>=a+b) тоді неможна побудувати трикутник. Тобто одна із сторін більша за суму інших

Прошу прощения, ошибся с цитатой
В этой строке if (a=b) or (b=c) or (c=a) then надо xor
filnick Дата: Ср, 27.01.2010, 18:18 | Повідомлення № 22
Мудрий вчитель
Повідомлень: 2238
Нагороди: 7
Рейтинг: 124
Потрібна консультація з реалізації програми на Паскалі.
У заданій програмі вже описано близько трьох десятків процедур, кожна з яких малює прапор якоїсь країни. Ідентифікатори цих процедур мають імена, відповідно до прапора країни (наприклад, procedure UKR, procedure RUS, procedure FRA і т.д.). Елементами рядкового масиву Y є назви країн (записані як і імена процедур RUS, ITA, UKR...).
Вибираються будь-які країни з масиву Y[i] - повинні бути намальовані їх прапори з відповідних процедур.

Питання. Як пов'язати елемент масиву з іменем процедури? Чи можливо це зробити без оператору вибору case?

Bandalak Дата: Ср, 27.01.2010, 19:16 | Повідомлення № 23
Лідер форуму
Повідомлень: 5169
Нагороди: 34
Рейтинг: 240
Quote (filnick)
Чи можливо це зробити без оператору вибору case?

Можна послідовними IF. ;)
Комарик Дата: Ср, 27.01.2010, 20:27 | Повідомлення № 24
Прописаний назавжди
Повідомлень: 228
Нагороди: 0
Рейтинг: 14
Quote (filnick)
Чи можливо це зробити без оператору вибору case?

а в чому проблема? чим case погано?
vitert Дата: Ср, 27.01.2010, 23:21 | Повідомлення № 25
Тут живе...
Повідомлень: 174
Нагороди: 1
Рейтинг: 22
Quote (filnick)
Як пов'язати елемент масиву з іменем процедури? Чи можливо це зробити без оператору вибору case?

Перша думка яка приходить, зробити процедури зовнішніми, окремими файлами, і звертатися до них через ім'я фала яке буде утворюватись із рядкової змінної, назва процедури у всіх фалах однакова а імена фалів відповідають країнам, правда зараз не згадаю чи це в паскалі працює?


Відредаговано: vitert - Ср, 27.01.2010, 23:26
filnick Дата: Ср, 27.01.2010, 23:39 | Повідомлення № 26
Мудрий вчитель
Повідомлень: 2238
Нагороди: 7
Рейтинг: 124
Quote (Комарик)
а в чому проблема? чим case погано?

case N of
1: UKR;
2: POL;
3: RUS;
......
30: CUB;
вимагає зробити прив'язку до цілого N, а потрібно до рядкового Y.

Додано (27.01.2010, 22:39)
---------------------------------------------

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

Приблизно такий же спосіб я і планував, але виникають проблеми. Зокрема, як текст зчитаний з файлу, компілятор прийме за процедуру?
vitert Дата: Чт, 28.01.2010, 00:40 | Повідомлення № 27
Тут живе...
Повідомлень: 174
Нагороди: 1
Рейтинг: 22
Quote (filnick)
вимагає зробити прив'язку до цілого N, а потрібно до рядкового Y.

Це в принципі не проблема, можна використовувати не значення елемента масиву а його номер який однозначно відповідає певній країні, це якщо у вас не категорично лише по рядку.
Quote (filnick)
Зокрема, як текст зчитаний з файлу, компілятор прийме за процедуру?

Ні я писав не про теткстовий файл а про звернення однієї програми до іншої, як не внутрішньої підпрограми а зовнішньої (не стандартної а користувача), тільки чи в паскалі це працює і як це прописувати, якщо працює?


Відредаговано: vitert - Чт, 28.01.2010, 00:46
volodschool2 Дата: Чт, 28.01.2010, 13:06 | Повідомлення № 28
Досвідчений учасник
Повідомлень: 1309
Нагороди: 12
Рейтинг: 247
Quote (filnick)
Питання. Як пов'язати елемент масиву з іменем процедури? Чи можливо це зробити без оператору вибору case?

Задача дійсно цікава. А розв’язати її можна з використанням змінних процедурного типу з використанням ключа компілятора {$F+}.
Наприклад так:
{$F+}
Var P: Procedure;

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

Type
DemoProcType = Procedure(a, b: Word);
Var
P1, P2: DemoProcType;

{$F+}
Procedure Add(A, B: Word);
Begin
WriteLn( 'a + b = ', A + B )
End;

Procedure Sub(A, B: Word);
Begin
WriteLn( 'a - b = ', A - B )
End;
{$F-}
BEGIN
P1 := Add; P2 := Sub;
P1(1, 1);
P2(2, 2);

END.

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

Відредаговано: volodschool2 - Чт, 28.01.2010, 13:31
filnick Дата: Чт, 28.01.2010, 17:53 | Повідомлення № 29
Мудрий вчитель
Повідомлень: 2238
Нагороди: 7
Рейтинг: 124
Quote (volodschool2)
розв’язати її можна з використанням змінних процедурного типу з використанням ключа компілятора {$F+}.

Дуже подібно на оптимальний варіант. Сьогодні перевірю. Шановний, volodschool2, вдячний за ідею. :o
zakudon34 Дата: Пн, 10.03.2014, 16:25 | Повідомлення № 30
Новий користувач
Повідомлень: 1
Нагороди: 0
Рейтинг: 0
[admin]Мы не выполняем домашних заданий :)[/admin]
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.6 Методика викладання інформатики згідно програми » Розв’язування задач з теми "Процедури і функції" (Тільки конкретика)
Сторінка 2 з 2«12
Пошук:


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