30.08.2016
Решаем
 задачи
Сайт больше не поддерживается
Технологии решения
Как нам научиться решать задачи?
Решение любой вычислительной задачи должно начинаться с четкого изложения как постановки задачи (что задано и что требуется определить), так и метода её решения. В простейших случаях это может быть успешно сделано средствами обычного разговорного языка с привлечением тех средств и понятий, которые уже укоренились в широкой математической литературе. Однако, для решения задач по информатике нам необходимо выбрать тот или иной алгоритмический язык для записи решения задачи, чтобы разработанный нами алгоритм был реализован с помощью языка программирования. Листинги решения будем называть программой.

Мы предлагаем вам решить задачи, которые условно распределены по разделам. Первая задача достаточно простая (типовая), а вторая задача радела является первым этапом в подготовке школьников к олимпиаде по программированию.
-------------------------------------------------------------------------------
1. Выберите любую ОДНУ задачу и пожалуйста, поясните, почему именно эта задача Вас заинтересовала.

2. Пожалуйста, перечислите те объективные и субъективные факторы которые повлияли на Ваш выбор языка программирования для записи алгоритмов в школьном курсе информатики?

3. Какие дидактические приёмы Вы сейчас применяете для создания педагогических условий, которые существенно могут повлиять на внутреннюю мотивацию школьников к решению задач по программированию и разработке собственного программного обеспечения?

4. Если среди Ваших учеников, такие которые могут решить на языке программирования любую из предложенных задач?
---------------------------------------------------------------------------------
Необходимым условием программы (листинга) является тот факт, что для решения любой задачи нам надо разработать как минимум три функции:
----------------------------------------------------------------------------------
1. Функция input() - чтения информации из файла input.txt;
2. Функция main() - которая является обработчиком полученной из файла информации (алгоритм решения);
3 Функция output() – записывает полученные результаты решения в файл output.txt.
----------------------------------------------------------------------------------
В файл решения задачи (программу) подключите сконструированные вами функции.

Для примера рассмотрим типовую задачу.

Файл input.txt содержит две строки, в которых записаны натуральные числа.

Написать функции
----------------
input_var
main_nod
output_var
----------------
с помощью, которых
мы находим наибольший общий делитель двух чисел (НОД)
(всем знакомый алгоритм Эвклида).

Полученный результат записать в файл output.txt в формате (НОД=….).
----------------------------------------------------------------------------------
Пример решения:
------------- Файл решения задачи (index.php)
-/
// Решение задачи
include("input_var.php");
include("main_nod.php");
include ("output_var.php");
?>
------------- Файл input_var.php
-/
// Функция чтения файла
$f1=fopen("input.txt","r");
$a=fgets($f1,100);
$b=fgets($f1, 100);
fclose($f1);
settype($a,integer);
settype($b,integer);
?>
-------------- Файл main_nod.php
-/
// Функция НОД
while($a!=$b) { // Пока a неравно b (начало цикла)
if ($a>$b) $a=$a-$b; // Если a>b то a=a-b
else $b=$b-$a; // иначе b=b-a
} // Конец цикла
$nod=$a; // НОД найден.
?>
------------- Файл output_var.php
-/
// Функция записи в файл
$f1=fopen("output.txt","w");
fputs($f1,"НОД=$nod\r\n");
fclose($f1);
?>
----------------------------------
С помощь выбранного вами языка программирования решите любую из предлагаемых задач.
Удачи!
к.п.н. Филиппов В.А.
Решайте задачи


Решайте задачи по программированию

Методические
рекомендации:
1. Найдите своего ученика, который решит все предложенные задачи, а затем отправьте его на олимпиаду по информатике.
2. Если таких учеников нет. Тогда: в папке, где будут файлы решения задачи, создайте файл input.txt.
3. Определите, какие данные из файла input.txt необходимо получить.
4. Напишите функцию input(); и выведите исходные данные на монитор.
5. Напишите главную функцию main(); и выведите на монитор результаты работы этой функции.
6. Разработайте функцию output(); которая сформирует выходной файл output.txt.
7. Подключите все функции в файл решения задачи (программу).
8. Разработайте тестовые примеры и протестируйте разработанную вами программу.
9. Скопируйте все листинги вашего решения в редактор типа «Блокнот» и отправьте на проверку в moodle.


С уважением FVA

Рейтинг@Mail.ru