- •1.Информация и информационные процессы в природе, обществе, технике. Информационная деятельность человека.
- •2.Информация в повседневной жизни человека.
- •3.Новые информационные технологии.
- •4.История развития информатики как науки.
- •5.Предмет науки информатики.
- •6.Информация, ее характеристики и свойства.
- •7.Элементная база современных компьютеров.
- •8.Логические операции(сложение, умножение, отрицание)
- •9.Аппаратная реализация логических схем
- •10. Архитектура эвм
- •11. Магистрально-модульный принцип построения компьютера
- •12. Информационная магистраль.
- •13. Основные компоненты компьютера
- •14. Процессор
- •15.37.Внутренняя память компьютера
- •16.41. Внешняя память компьютера
- •17. Устройства ввода-вывода информации
- •18. Сканер
- •19. Принтеры
- •20. Мониторы
- •21. Что такое абак
- •22.Счетная машина Блеза Паскаля
- •23. Арифмометр Лейбница
- •24.Идеи Чарльза Бэббиджа
- •25. Вклад в программирование Ады Лавлейс
- •26.История создания эниак
- •27. Рождение персонального компьютера
- •28. Элементарная логика
- •29. Высказывание, логические операции и. Или, не
- •30. Аппаратная реализация логических схем
- •31. Назначение процессора эвм
- •32. Информационная магистраль - общая шина
- •33. Основные характеристики процессора
- •34. Адресное пространство процессора
- •35.Разрядность процессора
- •36. Тактовая частота процессора
- •38.Дискретность памяти
- •38. Кеш память
- •40. Ячейки памяти
- •42. Типы магнитных накопителей информации
- •43. Жесткий магнитный диск
- •44. Гибкие магнитные диски
- •45. Что такое буфер обмена?
- •46.Файлы и каталоги
- •48. Операционная система компьютера
- •49. Основные функции операционных систем
- •50. Понятие алгоритма, свойства и виды алгоритмов
- •51. Функция языка Basic
- •52.Что такое internet?
- •53. База данных Access
28. Элементарная логика
В отличие от естественных наук, компьютерные науки получили большой стимул от широкого и непрерывного взаимодействия с логикой. Особую роль в компьютерных науках играют доказательные методы разработки алгоритмов и программ с доказательствами их правильности.
Тестирование программ может выявить наличие ошибок в программах, но не может гарантировать их отсутствие. Гарантии отсутствия ошибок в алгоритмах и программах могут дать только доказательства их правильности. Алгоритм не содержит ошибок, если он дает правильные решения для всех допустимых данных.
Серьёзнейшей проблемой для компьютерных наук и информатики является наличие ошибок в алгоритмах и программах, публикуемых в учебниках и учебных пособиях, а также неумение преподавателей и учителей информатики выявлять и исправлять ошибки в алгоритмах и программах, составленных учащимися.
Единственный путь для преодоления этих проблем—это изучение систематических методов составления алгоритмов и программ с одновременным анализом их правильности в рамках доказательного программирования с самого начала обучения основам алгоритмизации и программирования.
Сложность для преподавателей и программистов заключается в том, что они должны уметь писать не только алгоритмы и программы, но и доказательства правильности своих алгоритмов и программ. Что сейчас не умеют делать ни математики, ни программисты.
В результате программисты пишут программы с большим числом ошибок, которые они не могут ни выявить, ни исправить. Массированное тестирование программ на ЭВМ приносит программистам несомненную пользу, однако не дает гарантий полного избавления от ошибок.
Практика применения и изучения доказательных методов программирования показала, что эта технология вполне доступна студентам математических факультетов, которым вполне по силам написание доказательств правильности алгоритмов, после проверки и тестирования программ на ЭВМ.
Наибольший эффект в освоении технологий доказательного программирования наблюдается в олимпиадах по информатике и программированию, где победителями и призёрами становятся те студенты, которые освоили технику тестирования программ на ЭВМ и составления алгоритмов и программ без ошибок.
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Первым языком логического программирования был язык Planner (см. обзор Шапиро (Ehud Shapiro) [1989]), в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе поиска с возвратами (backtracking), например, Ether (см. обзор Шапиро [1989])