Как решать задачи по информатике?
Вопросы Лимит по процентам для займа сотруднику организации
Вопросы Спортивная гимнастика и акробатика для детей: развитие тела и духа
Вопросы ДПК для забора и террасы: преимущества использования и особенности
Вопросы Топ-10 популярных групповых программ: отбор, контроль, мотивация
Вопросы Использование различных снарядов и оборудования в тренировках
Вопросы Приморская таможня конфисковала крупную партию гель-лаков, ввезенных под видом бытовой техники
Вопросы Что такое страх?
Вопросы Окна ПВХ от VEKA: преимущества
Ну задачи разные ведь бывают, где то логическое мышление применить, где-то математические знания нужны, а в некоторых и знание программ нужно. Вопрос требует уточнения.
Смотря что именно вас интересует. Есть задачи на алгоритмизацию: постоение блоков, последовательность действией. Есть задачи с использованием языков программирования (это также входит в курс «нформатика»). Есть рекламная информатика. Там задачи идут обычно на составление текстов, листовок. Пишите задачу — постараемся решить и расскажем, как решать.
На практике при решении задач по информатике чаще всего используется комбинированный с упомянутых методов.
Часто случается, что на некоторых входных данных алгоритм работает долго. В таких случаях, если это возможно, необходимо запустить программу, чтобы она просчитала результат и сохранила его в текстовом файле. Из полученного результата создать массив констант в программе-решении. В то время, пока программа по неэффективным алгоритмом ищет решения, можно заняться другой задачей..
После того, как программа откомпилирована, необходимо проверить на правильность ее работы. Часто бывает, во время набора кода программы что перепутаны определенные переменные, знак в формуле, неправильно расставлены дужки, и т.п.. Сначала необходимо проверить» правильно ли она работает на тестах, которые дано в условии задачи.
«После того, как исправлены все механические ошибки и решение задачи по информатике проходит тест из условия задачи, необходимо придумать несколько небольших тестов, которые предусматривают разные моменты данной задачи. Предыдущие придуманные тесты не нужно уничтожать, ведь возможно придется обратиться к ним после исправления ошибок. Случается, что после исправления ошибок, или усовершенствования программы она выдает правильный результат при новых тестах, а на предыдущих — ошибочных. Поэтому необходимо внимательно проверять правильность результата, который выдает программа-решение,» просчитывать тесты вручную для проверки.
Иногда есть потребность вставлять в программу проверяющие блоки: проверку правильности введения входных данных, сортировка массива, правильность работы даже элементарных алгоритмов: алгоритм Евклида, поиск в ширину, бинарный поиск и т.п..
Перед сдачей решения задачи по информатике необходимо протестовать его на предельных тестах. Кроме «малых» тестов иногда есть потребность проверить на «больших» тестах. Для этого необходимо сгенерировать тесты с большим количеством элементов, проверить, как быстро работает данный алгоритм. Не всегда можно проверить правильность работы данного алгоритма, но иногда можно за ответом выяснить,» правильно ли работает алгоритм.
Сдача решения( 6-и этап)
Перед сдачей решения задачи по информатике преподавателю рекомендуется еще раз перечитать условие задачи, обратить внимание на форматы вывода и ограничение на переменные. Возможно, при полученном алгоритме переменные выходят за их пределы, данные выходят за пределы массива, и т.п.. Это не всегда можно предусмотреть при разработке алгоритма.
Перед сдачей программы-решения» необходимо проверить правильность формата исходных данных,» возможность выхода за границы массива, удалить (или закомментировать) все элементы информации.
Итак, во время решения задач по информатике необходимо не только знать методы решения задач и основные алгоритмы.» Нужно уметь разбивать процесс решения задачи на этапы, выделять определенные этапы и их выполнять. Со временем данные этапы будут выполняться, не задумываясь над каждым из них. Нужно подготовиться теоретически, практически и психологически.
После решения задачи необходимо сделать детальный анализ решения задачи по информатике и процесса его получения. Решение нужно анализировать на оптимальность (скорость выполнения, затраты памяти, простоту реализации).
Построение математической модели и схемы решения задачи по информатике ( 3-и этап). Математическая модель — система математических соотношений, которые описывают исследуемый процесс или явление. Построить математическую модель — это описать математически процессы, факты, условия задачи.
Прежде всего нужно формально и математически понять условие задачи. Необходимо с помощью ручки и бумаги просчитать вопрос из условия задачи. Проверить как получить исходящие данные по входным данным условия задачи. Придумать несколько тестов, контртестов и также математически их просчитать. Таким образом для простых тестов необходимо разобраться, как понимается условие задачи. Придумывая тесты к задаче, можно найти правильные решения, которые отличаются от тех, которые приходят на мысль сразу же после прочтения условия задачи, откроются «подводные камни» задачи.
После построения математической модели необходимо составить схему решения поставленной задачи по информатике. Схема решения задачи должна состоять из известных элементов, алгоритмов. На данном этапе не нужно вникать во всю тонкость реализации алгоритма — все моменты реализации и подгона данного алгоритма под конкретную задачу «придут»» во время написания самого алгоритма. Нужно знать, что данный алгоритм работает с определенной эффективностью, и для этой задачи и определенных ограничений он будет работать быстро и использовать необходимый объем оперативной памяти.
На данном этапе решения задачи по информатике можно столкнуться со следующими проблемами:
— плохая стыковка блоков. Определенные блоки плохо стыкуются, возможно нужно переделывать алгоритм, изменять исходные данные блока;
— эффективность. Случается, что для одних данных данный алгоритм будет работать быстро, а для других, даже небольших, сложность работы алгоритма большая;
— другой тип задачи;
— наличие нескольких решений. При наличии нескольких решений нужно выбрать самый эффективный и тот который реализовывается проще и быстрее.
Реализация алгоритма ( 4-и этап).
Прежде чем» ученики получают задачу, они имеют несколько минут адаптации с компьютером, средой программирования. В это время нужно запустить среду программирования, написать простую программу- шаблон, которая вводит данные, делает простые вычисления, выводит данные (согласно условиям задачи). Откомпилировать эту программу и проверить ее выполнение. После этого сделать несколько заготовок программ для будущих решений, которые содержат введение и вывод (из файла, клавиатуры, на экран, или в файл в зависимости от задачи).
Во время реализации конкретной программы используют несколько методов написания программы: сверху вниз, снизу вверх, комбинированный метод.
Первый способ применяется, когда общая картина программы известна. В данном случае пишется основная часть программы, а функции реализовываются потом. Реализация происходит быстро, если разбивка на этапы удачная. В таком случае проще проводить настройку программы.
Подход снизу в верх при решении задачи по информатике реализовывается, когда не видно общей схемы решения, а время идет. Тогда можно написать сначала введение, и вывод данных, определенные алгоритмы: функции для работы с геометрическими объектами, сортировка, поиск, длинную арифметику, и т.п., а потом делать стыковку данных алгоритмов для получения окончательного решения. В таком случае не помешает написать небольшой комментарий, какие данные находятся в каких переменных, что возвращает та или другая функция и т.п.. Во время написания вспомогательных алгоритмов может «прийти» и само решение.
Построение математической модели и схемы решения задачи по информатике ( 3-и этап). Математическая модель — система математических соотношений, которые описывают исследуемый процесс или явление. Построить математическую модель — это описать математически процессы, факты, условия задачи.
Прежде всего нужно формально и математически понять условие задачи. Необходимо с помощью ручки и бумаги просчитать вопрос из условия задачи. Проверить как получить исходящие данные по входным данным условия задачи. Придумать несколько тестов, контртестов и также математически их просчитать. Таким образом для простых тестов необходимо разобраться, как понимается условие задачи. Придумывая тесты к задаче, можно найти правильные решения, которые отличаются от тех, которые приходят на мысль сразу же после прочтения условия задачи, откроются «подводные камни» задачи.
После построения математической модели необходимо составить схему решения поставленной задачи по информатике. Схема решения задачи должна состоять из известных элементов, алгоритмов. На данном этапе не нужно вникать во всю тонкость реализации алгоритма — все моменты реализации и подгона данного алгоритма под конкретную задачу «придут»» во время написания самого алгоритма. Нужно знать, что данный алгоритм работает с определенной эффективностью, и для этой задачи и определенных ограничений он будет работать быстро и использовать необходимый объем оперативной памяти.
На данном этапе решения задачи по информатике можно столкнуться со следующими проблемами:
— плохая стыковка блоков. Определенные блоки плохо стыкуются, возможно нужно переделывать алгоритм, изменять исходные данные блока;
— эффективность. Случается, что для одних данных данный алгоритм будет работать быстро, а для других, даже небольших, сложность работы алгоритма большая;
— другой тип задачи;
— наличие нескольких решений. При наличии нескольких решений нужно выбрать самый эффективный и тот который реализовывается проще и быстрее.
Реализация алгоритма ( 4-и этап).
Прежде чем» ученики получают задачу, они имеют несколько минут адаптации с компьютером, средой программирования. В это время нужно запустить среду программирования, написать простую программу- шаблон, которая вводит данные, делает простые вычисления, выводит данные (согласно условиям задачи). Откомпилировать эту программу и проверить ее выполнение. После этого сделать несколько заготовок программ для будущих решений, которые содержат введение и вывод (из файла, клавиатуры, на экран, или в файл в зависимости от задачи).
Во время реализации конкретной программы используют несколько методов написания программы: сверху вниз, снизу вверх, комбинированный метод.
Первый способ применяется, когда общая картина программы известна. В данном случае пишется основная часть программы, а функции реализовываются потом. Реализация происходит быстро, если разбивка на этапы удачная. В таком случае проще проводить настройку программы.
Подход снизу в верх при решении задачи по информатике реализовывается, когда не видно общей схемы решения, а время идет. Тогда можно написать сначала введение, и вывод данных, определенные алгоритмы: функции для работы с геометрическими объектами, сортировка, поиск, длинную арифметику, и т.п., а потом делать стыковку данных алгоритмов для получения окончательного решения. В таком случае не помешает написать небольшой комментарий, какие данные находятся в каких переменных, что возвращает та или другая функция и т.п.. Во время написания вспомогательных алгоритмов может «прийти» и само решение.
Пожелание для усвоения содержания задачи. Нельзя» приступать к решению задачи по информатике, не выяснив четко, в чем заключается задача, т.е. не установив, что дано и что необходимо найти. Первый совет учителя: не спешить начинать решать задачу. Этот совет не означает, что задачу нужно решать по возможности медленнее. Это означает, что решению задачи должна предшествовать подготовка, которая заключается в следующем:
а) сначала ознакомтесь с задачей, внимательно прочитав ее содержание. При этом открывается всеобщая ситуация, изложенная в задаче;
б) ознакомившись с задачей по информатике, необходимо вникнуть в ее содержание. При этом следуйте следующему совету: выделите входные и исходящие данные, форматы введения и вывода;
в) если задача по информатике геометрическая, на теорию графиков» и т.п., полезно сделать рисунок к ней и обозначить на рисунке входные и исходящие данные. Нарисовать рисунок, который отвечает примеру входных данных условия задачи, придумать несколько примеров входных данных и нарисовать соответствующие рисунки;
г) уже на первой стадии решения задачи — стадии анализа задачи — рекомендуется» ответить на вопрос: «возможно ли решить задачу при данных условиях?», «всегда ли будет решение данной задачи?», «возможно ли несколько правильных решений данной задачи?», «Которое из решений необходимо вывести при неоднозначном решении?», «В каком порядке выводить данные, если необходимо вывести все неоднозначные данные?».
Отвечая на эти вопросы, нужно установить, хватает ли данных для решения задачи, нет ли лишних данных, нет ли данных, которые противоречат между собой.
Составление плана решения задачи по информатике ( 2-и этап). Составление плана решения задачи, наверное, есть главным шагом на пути ее решения. Но составление плана может оказаться сложным и продолжительным процессом. Поэтому крайне необходимо научиться ученикам задавать преподавателю вопрос к задаче, который поможет» определить метод ее решения:
«а)» известна ли какая-то подобная задача? Аналогичная задача? Если такая» задача известна, то составить плану решения задачи не будет сложным. Другими словами,» можно ли применить метод прежде решённой задачи. Но такая задача известна далеко не всегда;
б)» известна ли вам задача по информатике, к которой можно свести данную задачу. Если такая задача известна, то процесс составления плана решения данной задачи очевидный: свести задачу к задаче, которая решалась раньше. Может оказаться, что родственная задача неизвестна» и ученик не может свести данную задачу к какой-нибудь известной. План сразу составить не удается;
в) составляя план решения задачи, всегда нужно ставить себе вопрос: «все ли данные задачи использованы?». Выявление неучтенных данных задачи облегчает составление плана ее решения;
г) при составлении плана решения задачи по информатике иногда бывает полезно изменить входные данные, просчитать результат для других входных данных. Измененные входные данные могут подсказать непредвиденные моменты вашего решения;
д) довольно часто для решения задачи по информатике приходится рассмотреть некоторые частные случаи, просчитать вручную без компьютера результаты для упрощенных данных (для 1, 2, 3…). Просчитав для нескольких небольших решений, можно увидеть определенную закономерность, последовательность.
Во время решения задачи по информатике быть внимательным и спокойным очень тяжело. Для прочтения условия задачи необходимо выделить много времени. Не нужно спешить на данном этапе. Задачу необходимо читать не спеша, не пропуская лирические отступления, не рекомендуется читать задачу обзорно. Авторы задач довольно часто любят украсить условие задачи лирическим отступлением. И нередко в таких лирических отступлениях может быть скрыты важные моменты, которые касаются входных данных условия задачи. Неправильное понимание условия задачи может привести к тому, что будет решаться совсем другая задача, а не та, что сформулирована в условии.
Ключ к условию задачи по информатике может быть скрыт также в формате входных или исходящих данных. Без него иногда задача может нести совсем другое содержание.» Поэтому, важно определиться с форматом введения и вывода данных, ограничением на входные, исходные и промежуточные данные.
Нужно попробовать решить задачу, а если решение совсем не приходит, то прочитать решение, изложенное в учебнике, но не раньше чем через 3 дня после прочтения задачи. Ученики должны учиться искать решение. Даже, когда решение к этой задаче по информатике придет не сразу, а через день, два, неделю, ученик за это время переберет много вариантов решения задачи, решит десяток других задач, которые подобны этой, но их решение возможно не связано с данной задачей.
При обучении решению задач по информатике нужно научиться ученикам» выделять главные элементы в условии задачи, не пропускать, на первый взгляд неважных, деталей. Если прочитать условие любой задачи, то можно выделить некоторый вопрос, другими словами требование, на которое необходимо получить ответ, опираясь на условие. Если же внимательно выучить условие задачи, то можно увидеть в ней определенные утверждения (что дано), они еще называются условиями, и определенные вопросы (то, что нужно найти).
Задача по информатике — это задача, в которой требует написать программу, которая должна считать из консоли (файла) определенные данные, в зависимости от входных данных решить задачу и вывести в консоль (файл) определенные данные (результат), ответ на поставленную задачу. В отличие от математических задач, в которых в большинстве случаев задаются конкретные данные, задача по информатике требует предусмотреть разнообразные входные данные, ограниченные условием задачи, и в зависимости от входных данных решить поставленную задачу. Часто случается, что решая задачу по информатике приходится рассматривать несколько случаев в зависимости от входных данных, а иногда и несколько разных задач.
Научиться решать задачи по информатике — работа кое-что необыкновенная, а именно умственная, аналитическая. Для того, чтобы научиться какому-нибудь делу, нужно предварительно хорошо выучить тот материал, с которым придется работать, те инструменты, которые придется использовать во время решения задачи.
Известна многим крылатая фраза: «Я не знаю, как» решать задачи. Я знаю лишь, что после того, как» решить их много, то начинаешь это делать лучше»
Ответ на вопрос «Как решить задачу?»,» не всегда лежит на поверхности — потому, что поиск его есть творческий процесс. И единого подхода к таким задачам найти невозможно, но, как показывает практика, есть ряд методов и приемов, используя которые, можно научиться решать задачи по информатике. Во многом» в таких случаях не обойтись без интуиции.
Итак, чтобы решать задачи по информатике, нужно разобраться в том, что такое задача, как она построена, из каких частей составляется условие, которые инструменты можно использовать для ее решения.
Если присмотреться к любой задаче, то можно увидеть вопрос, на который необходимо найти ответ, исходя из тех данных, ограничений, которые находятся в условии задачи. Поэтому, начиная решать любую задачу, нужно внимательно выучить условие задачи. Это все называется проанализировать условие задачи.
Чтобы научиться решать задачу по информатике нужно уметь сначала построить ее математическую модель, аналитически исследовать эту модель, разработать алгоритм решения математической задачи, а уже потом написать программу, которая будет решать задачу для произвольных входных данных.
Следует выделить следующие этапы, во время решения задач по информатике: анализ условия задачи, построение математической модели, реализация алгоритма решения языком программирования, тестирование и настройка решения, сдача решения на проверку.
Анализ условия задачи по информатике( 1-и этап). Условие задачи программирования состоит из таких элементов: сюжета, задачи, технических условий, примера входных и исходящих данных.
Сюжет содержит описание ситуации, которая рассматривается в данной задаче. Бывают сюжеты, которые украшают условие задачи и те, которые содержат ценную информацию. Поэтому нужно внимательно прочитать сюжет условия задачи, вникая в каждое слово.
Получив задачу необходимо внимательно ее прочитать. В любом задании мы увидим задачу, которую мы должны выполнить, чтобы получить нужный результат.