Главная страница

Документ Microsoft Word (3). Решение задач и структурное программирование для разработки прикладных программ и создания сложных систем программного обеспечения


Скачать 14.66 Kb.
НазваниеРешение задач и структурное программирование для разработки прикладных программ и создания сложных систем программного обеспечения
Дата21.11.2021
Размер14.66 Kb.
Формат файлаdocx
Имя файлаДокумент Microsoft Word (3).docx
ТипУчебник
#277752

Логика в информатике

логика в информатике как учебной дисциплине была введена в самых первых учебниках информатики Каймина в 1985 году и в учебник информатики Каймина для средних школ в 1987-89гг. Парадокс в том, что первых школьных учебниках информатики Ершова, Кушниренко и многих действующих учебниках информатики для школ и вузов логика отсутствует.

В 2004 году в России были введены Единые экзамены ЕГЭ по информатике, в содержании которых изучение и знание основ логики стало обязательным. Логика в информатике используется в поиске информации в Интернет, в базах данных, в базах знаний, в алгоритмах, алгоритмизации и во всех языках программирования.

Наибольшее значение логика приобретает в анализе алгоритмов и программ при решении задач на ЭВМ, когда от результатов решения задач зависят оценки на экзаменах или победа на олимпиадах по информатике или программированию.

Отсутствие ошибок в алгоритмах и программах на ЭВМ - ключевой критерий для победы на региональных, российских и международных олимпиадах и чемпионатах по информатике и программированию. Не случайно наши российские школьники и студенты систематически из года в год побеждают на этих компьютерных соревнованиях.

Область применения

Включаются следующие основные применения:

исследования в логике, вызванные развитием компьютерных наук. Например, аппликативные вычислительные системы, теория вычислений и модели вычислений;

формальные методы и логика рассуждения о понятиях. Например, семантическая сеть[2], семантическая Web;

булева логика и алгебра для разработки аппаратного обеспечения компьютеров;

решение задач и структурное программирование для разработки прикладных программ и создания сложных систем программного обеспечения

доказательное программирование — технология разработки алгоритмов и программ с доказательствами правильности алгоритмов;

фундаментальные понятия и представления для компьютерных наук, которые являются естественной областью для формальной логики. Например, семантика языков программирования[3];

логика знания и предположения. Например, искусственный интеллект;

Язык Пролог и логическое программирование для создания баз знаний и экспертных систем и исследований в сфере искусственного интеллекта;

логическое программирование для описания логических моделей баз знаний и логических процедур вывода и принятия решений;

логика для описания пространственного положения и перемещения;

логика в информационных технологиях. Например, реляционная модель данных. реляционные СУБД, реляционная алгебра, реляционное исчисление[4];

логика вычислений с объектами. Например, комбинаторная логика, суперкомбинаторы[5];

логика для компилирования программного кода и его оптимизации. Например, категориальная абстрактная машина;

логика для эквивалентного преобразования объектов. Например, λ-исчисление;

переизложение логики и математики в терминах, понятных специалистам в компьютерных науках[6].

Этот список продолжает пополняться.

Эффективность логики в компьютерных науках

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

Тестирование программ может выявить наличие ошибок в программах, но не может гарантировать их отсутствие. Гарантии отсутствия ошибок в алгоритмах и программах могут дать только доказательства их правильности. Алгоритм не содержит ошибок, если он дает правильные решения для всех допустимых данных.

Серьёзнейшей проблемой для компьютерных наук и информатики является наличие ошибок в алгоритмах и программах, публикуемых в учебниках и учебных пособиях, а также неумение преподавателей и учителей информатики выявлять и исправлять ошибки в алгоритмах и программах, составленных учащимися.

Единственный путь для преодоления этих проблем—это изучение систематических методов составления алгоритмов и программ с одновременным анализом их правильности в рамках доказательного программирования с самого начала обучения основам алгоритмизации и программирования.

Сложность для преподавателей и программистов заключается в том, что они должны уметь писать не только алгоритмы и программы, но и доказательства правильности своих алгоритмов и программ. Что сейчас не умеют делать ни математики, ни программисты.

В результате программисты пишут программы с большим числом ошибок, которые они не могут ни выявить, ни исправить. Массированное тестирование программ на ЭВМ приносит программистам несомненную пользу, однако не дает гарантий полного избавления от ошибок.

Практика применения и изучения доказательных методов программирования показала, что эта технология вполне доступна студентам математических факультетов, которым вполне по силам написание доказательств правильности алгоритмов, после проверки и тестирования программ на ЭВМ.

Наибольший эффект в освоении технологий доказательного программирования наблюдается в олимпиадах по информатике и программированию, где победителями и призёрами становятся те студенты, которые освоили технику тестирования программ на ЭВМ и составления алгоритмов и программ без ошибок.


написать администратору сайта