Технологии решения |
Как нам научиться решать задачи? |
Решение любой вычислительной задачи должно начинаться с четкого изложения как постановки задачи (что задано и что требуется определить), так и метода её решения. В простейших случаях это может быть успешно сделано средствами обычного разговорного языка с привлечением тех средств и понятий, которые уже укоренились в широкой математической литературе. Однако, для решения задач по информатике нам необходимо выбрать тот или иной алгоритмический язык для записи решения задачи, чтобы разработанный нами алгоритм был реализован с помощью языка программирования. Листинги решения будем называть программой. Мы предлагаем вам решить задачи, которые условно распределены по разделам. Первая задача достаточно простая (типовая), а вторая задача радела является первым этапом в подготовке школьников к олимпиаде по программированию. ------------------------------------------------------------------------------- 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); ?> ---------------------------------- С помощь выбранного вами языка программирования решите любую из предлагаемых задач. Удачи! к.п.н. Филиппов В.А. |
