Введение
Тема моего проекта: «На ошибках учатся» была выбрана не случайно. Обучаясь на уроках колледже, я наблюдала одну и ту же проблему, когда мои сверстники, делая ошибки, не хотят сами осмыслить их природу, делать анализ, а затем их исправить. Они по любому поводу зовут преподавателя, что бы он выявил их ошибки. Поэтому целью своей работы я поставила разработку некоторых алгоритмов, которые помогли бы снизить степень возникновения ошибок и облегчить поиск и исправление их в различных электронных документах. Совершение ошибок – процесс естественный и как я поняла из своей исследовательской работы, все великие люди делали ошибки, которые иногда приводили к великим открытиям.
Проектным продуктом работы будет – программа, написанная мною на языке C++, которая указывает на ошибки в программном коде. Она анализирует текст на наличие фактических синтаксических ошибок и указывает, в какой строке они были совершены. Для разработки я выбрала тему из курса программирования, которая представляет собой работу в графическом режиме. Продукт рассчитан на новичков в среде C++, он поможет им обнаружить свои ошибки, но и разобрать прилагающийся программный код и научится чему-то новому. Обнаружив ошибку, студент постарается исправить ее, что приблизит его к решению задачи, приобретению опыта в изучении и исправлении возникших ошибок.
План моей работы:
Выбор темы моего проекта появился на занятиях в колледже. При изучение чего-то нового всегда возникают ошибки в расчетах, в написании программ, которые нужно исправлять. Так возникла и тема проекта, как идея, воплотившая в дальнейшем мое исследование.
При анализе выбранной темы, мною были детально изучены пакет программ Microsoft Office, и его возможностей по исправлению ошибок, материалы интернет-ресурсов и справочники по языку C++.
Продукт проекта – программа, которая в некотором роде является аналогом компилятора. В ходе анализа будущей программы разработался нужный алгоритм, появились варианты по тому, как она должна работать. При написании программы, в поиске подходящих команд для своего алгоритма, я обращалась за помощью к справочникам по языку и к своему преподавателю. В итоге была построена блок-схема, по которой в дальнейшем был реализован программный продукт (см. приложение - блок-схема).
В результате исследования выбранной темы, сформировались итоги по методам исправления и нахождения ошибок. После изучения пакета программ MSOffice происходила обработка способов возникновения разного типа ошибок. Найденная информация и весь полученный опыт систематизировался и обобщился, что бы в итоге получился письменный отчет о проделанной работе.
Основная часть
1. Ошибки знаменитых людей
Еще древние утверждали, что человеку свойственно ошибаться. Причем совершают ошибки все без исключения, даже знаменитые ученые.
В 1611 году Галилео Галилей объявил, что он видел спутники Юпитера. http://www.infoniac.ruПо словам Сицци, спутники "невидимы невооруженным глазом и поэтому не могут влиять на Землю, и поэтому они бесполезны, и поэтому они не существуют".
Тогда Галилео убедил всех в своей правоте, но затем совершил ошибку. Через двадцать лет, намереваясь доказать, что Земля вращается вокруг солнца, он разработал математический доклад для папы Урбана VIII. За основу своей работы он взял приливы. Согласно математическим расчетам, высокий прилив должен был происходить один раз в день вместо двух, но Галилео отказался признать свою ошибку и высмеял тех, кто утверждал, что на приливы влияет Луна.
Медик Уилсон Грейтбатч работал над созданием устройства, которое должно было записывать сердечный ритм. Однажды он по ошибке вставил в устройство неподходящий резистор и заметил, что в электрической цепи возникли колебания, напоминающие ритм работы человеческого сердца. Через два года Грейтбатч создал первый вживляемый кардиостимулятор, подающий искусственные импульсы для стимуляции работы сердца.
Через сто лет в Италии ошибку совершил Луиджи Гальвани, первооткрыватель электричества. Свои опыты ученый проводил на лягушках. Он обнаружил, что при прикосновении к лапкам лягушек железной проволокой на медном крючке, они начинают сокращаться, несмотря на то, что земноводные были мертвы. Гальвани явил миру новую теорию, согласно которой биологическая ткань генерирует свое собственное электричество. Через некоторое время Алессандро Вольта указал на ошибку Гальвани: он доказал, что не в лягушках появляется электрический ток, а от взаимодействия меди с железом. Каковой бы ни была его ошибка, он все равно стал первооткрывателем электричества.
В 1917 году перед публикацией своей теории относительности, Альберт Эйнштейн спросил у астрономов, расширяется вселенная или, наоборот, сжимается. Ему необходимо было это знать для составления правильных уравнений. Астрономы ответили, что вселенная не меняет своих размеров. Эйнштейн подогнал свои уравнения, включив в них "космологическую константу". Примерно через десять лет Эдвин Хаббл обнаружил, что вселенная все-таки расширяется, и "подгонка" уравнений оказалась ненужной. Эйнштейн назвал включение константы своим "самым большим промахом", но опять оказался неправ. Недавние исследования природы космоса показали, что константа необходима для соответствия теорий с наблюдениями.
2. Основные ошибки, которые допускаются при разработке электронного документа.
В работе на предприятии, учебе, бизнесе и сфере обслуживания используется пакет программ MSOffice. Рассмотрим ошибки, которые возникают при создании электронного документа.
В целом, все ошибки офиса, можно разделить на словарные и не словарные.
Словарные ошибки
Словарные ошибки связаны со знанием языка, и которые нам исправляют встроенные в программу словари.
Такие ошибки разбиваются на две группы: грамматические и синтаксические.
Грамматические ошибки.
Модуль «Правописание» в пакете офиса дает возможность, набирая текст, не следить за появлением ошибок. Закончив с набором, проверяется правописание. И в большинстве случаев после этого документ становится почти идеальным.
Синтаксические ошибки.
Синтаксические ошибки заключаются в неправильном построении словосочетаний, в нарушении структуры предложений. Например, при написании какой-либо статьи не всегда получается верно выразить мысли. Здесь помогает встроенный словарь. Он анализирует документ на существование в нем синтаксической ошибки, сравнивает со своим набором в словаре. В результате программа предлагает нам перестроить предложение или же выдает альтернативу исходному.
Не словарные ошибки
Это ошибки, возникающие при невнимательном наборе. Например, пропуск букв, замена ее другой буквой, расстановка ненужных знаков.
Когда требуется внимательность набора, а вся внимательность утрачивается на ввод второстепенных данных, то имеет место быть понятие шаблон.
Шаблон применяется для быстрого и правильного форматирования документа. Он есть в каждом пакете MSOffice.
Например, в MS Office Excel есть готовые бланки, отчеты, планы, расписания и так далее.
Но в электронных таблицах есть возможность проверки правильности ввода данных. Для этого создается шаблон данных, то есть в столбец или строку вводятся правильные данные, которые и будут эталоном введения и проверки информации в таблицах, например, наименование городов (см. Приложение 1 Рис.1 и Рис.2).
3. Основные ошибки программирования
Программирование – область, где ошибки такая же важная часть, как и сам программный код. При исправлении возникающих при написании ошибок, студент набирается практического опыта.
1. Ошибки при построении алгоритма решения задачи
Что бы в них разобраться, рассмотрим простой план решения задачи. Написание программы начинается с постановки конкретных задач, рассмотрения возможных вариантов ее решения, выбора одного из них, построения блок-схемы и построения плана на бумаге, а потом открытие среды и реализация программы. То есть ошибки заключаются в том, что либо составляется неверный алгоритм, либо алгоритм как таковой отсутствует при написании программы. Ошибки при построении алгоритма являются самыми сложными, так как синтаксически все правильно, а возникает проблема со смыслом написанного. Решение данной проблемы требует довольно длительного времени, которое затрачивается на поиск этой ошибки и ее исправления. Данная ошибка считается самой важной, так как в ходе выполнения программы появляются сбои и серьезные изменения в системе, а также потеря данных.
2. Синтаксические ошибки
Синтаксические ошибки в программном коде – это опечатки, которые приводят к неправильному написанию команды или функции. Такие ошибки учат студента быть внимательным к набору кода, к их поиску и исправлению с помощью встроенного в среду компилятора. Данные ошибки встречаются в программе при наборе команды, ее имении при работе с входными параметрами (см. Приложение 1 – Рис.3).
4.Методы борьбы с ошибками
Ошибки – одна из основополагающих частей и движущих сил всего исследования. Но есть такие ошибки, которые стоит реже допускать. Я выделила два наиболее простых способа их избежать как в электронном документе, так и в программном коде.
Макросы
Ограничивают от ошибок форматирования и ошибок, возникающих при дальнейшем редактировании документа. Макрос – это набор инструкций, которые сообщают программе пакета MSOffice (такой как Word или Excel), какие действия следует выполнить, чтобы достичь определенной цели. Они создаются при помощи функции «Записать макрос». Выполняется ряд операций (действий), который необходим для нужного форматирования, а потом запись останавливается и сохраняется как макрос. После сохранения его можно использовать, и при этом вероятность ошибиться при форматировании документа уменьшается.
Шаблоны
Шаблон может создаваться подручными средствами с целью удобства использования его в дальнейшей работе. При написании программы, если это даже сложение двух чисел, всегда обнаруживаются ошибки. В программировании существует три вида алгоритма: линейный, разветвленный и циклический. Для каждого вида алгоритма можно составить шаблон со своими предпочтениями или же составить комплексный шаблон, который будет включать в себя все три вида алгоритма, и будет содержать структуру с последовательной записью нужных команд, часто применимых в написании программы(см. приложение Шаблон).
Описание приложения «Finding errors»
Приложение рассчитано на нахождение ошибок в программном коде только из области «Работа в графическом режиме».
На вход программе поступает текстовый файл, содержащий код приложения, в котором будут искаться ошибки.
Программа считывает этот файл построчно, что бы в результате выполнения указывать на номер строки, в которой была совершена ошибка. Как только происходит считывание первой строки из файла, приложение начинает ее обработку. Ведется поиск открывающейся скобки, что означает, что выражение, стоящее до нее может быть потенциальной функцией.
Если перед скобкой стоит буква, или пробел, а затем буква, то это – функция, и тогда происходит отделение самой команды от скобок и дальнейший анализ. Если нет, то это может быть операция, выражение или какой-либо другой элемент программного кода, а потому программа его не рассматривает.
Отделив лексему от скобок путем записи символов до них в новую строку, приложение сравнивает ее с перечнем функций, прописанных в заранее созданной библиотеке. Если результатом сравнения является совпадение отделенной лексемы с одной из команд, то в написании данной команды ошибок нет. В обратном случае, в данной команде была допущена ошибка, и программа сохраняет номер строки с этой лексемой.
Так происходит исследование лексем построчно, пока не закончится исходный текстовый файл. По завершению работы, программа выдает количество ошибок со списком, состоящим из номера строки программного кода, где она была допущена.
Примечание: Пользовательские функции программа будет считать ошибкой. Что бы этого не происходило нужно прописать эту функцию в библиотеку library.txt.
Заключение
Я думаю, что я решила проблему своего проекта и достигла поставленной цели, так как в ходе проведения своей работы и исследования нашла практичные алгоритмы и методы по решению проблемы. Благодаря им мне и самой стало гораздо проще не допускать большое число ошибок, искать и исправлять их, а потому я считаю, что предложенные мной варианты решения данной проблемы помогут и тем, кто стремится к достижению своих целей и хочет научиться предотвращать ошибки и возможность их появления.
Ведь благодаря совершенным ошибкам мы приобретаем обратную связь, которая указывает на путь к успеху. Только ошибочные решения подталкивают нас сделать более удачную попытку. В конце концов, находится ценное созидательное решение. Натолкнуться на ошибку – не значит потерпеть провал, это означает сделать еще один шаг на пути к успеху.
Проектный продукт представлен в приложении (Приложение 2).
Литература:
- Липпман С.Б. Основы программирования на С++
- Бьерн Страуструп - Язык программирования C++
- Меженный О.А. Microsoft Office 2010. Краткое руководство
- kodges.ru
- infoniac.ru
- press.try.md
- office.microsoft.com
- nosorogka.ru
- codenet.ru
- ru.wikipedia.org
- scritube.com
- gtsoftware18rus.3dn.ru
- office.microsoft.com
- leo-arek.narod.ru