- •1.Предмет и задачи информатики
- •1) Теоретическая информатика:
- •2) Средства информатизации:
- •3) Информационные технологии
- •4) Социальная информатика:
- •2. Истоки и предпосылки информатики.
- •3. Структура современной информатики
- •4. Понятие информации. Носители информации. Сигналы
- •5. Количество информации. Измерение информации. Единицы измерения
- •6. Кодирование информации различных видов
- •7. Свойства информации
- •8. Устройство персонального компьютера
- •9. Основные принципы построения и работы компьютера
- •10. Понятие файла и файловой системы
- •11. Понятие информационной технологии
- •13. Основы интернета. Основные протоколы
- •14. Службы Интернета
- •15. Этапы решения задачи на эвм
- •16. Алгоритм. Свойства алгоритма
- •17. Методы проектирования алгоритмов
- •18. Способы описания алгоритмов. Основы графического способа.
- •19. Структуры алгоритмов. Основные виды вычислительных процессов. Примеры.
- •20. Алгоритмы вычисления суммы функционального ряда. Использование рекуррентных формул. Пример
- •Примеры
- •21. Поиск минимального и максимального элементов массива.
- •22. Сортировка одномерных массивов
- •23. Системы программирования и их состав.
- •24. Понятие о программировании
- •25. Понятие программного обеспечения. Классификация программного обеспечения.
- •26. Назначение операционной системы
- •27. Основные функции операционных систем
- •28. Прикладное по
- •29. Язык программирования Паскаль. Общая характеристика. Основные правила записи программ на языке Паскаль. Структура программы. Пример программы
- •6.Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Символьные выражения
- •Составной оператор
- •30. Основные элементы языка Pascal
- •31. Понятие типа данных в Турбо Паскаль
- •Простые типы данных
- •Численные (арифметические) выражения
- •Логические выражения
- •Составной оператор
- •34. Ввод и вывод данных в Паскале.
- •Рассмотрим, для начала, Вывод данных в Паскале.
- •Рассмотрим, теперь, Ввод данных в Паскале.
- •35. Условные операторы Pascal-Паскаль
- •36. Оператор выбора Паскаля
- •37. Оператор безусловного перехода
- •38. Счетный оператор цикла или оператор цикла с параметром
- •39. Цикл с предпроверкой условия
- •40. Цикл с постпроверкой условия
- •42. Процедуры и функции
- •Описание и вызов процедур и функций
- •43. Процедуры.
- •44. Численное решение систем нелинейных уравнений
- •Методы численного решения уравнений и систем нелинейных уравнений
- •3.1. Решение нелинейных уравнений
- •3.1.2. Методы уточнения корней нелинейных уравнений
- •Тогда .
- •С погрешностью
- •Откуда при
- •Пусть тогда и
- •45. Метод половинного деления.
- •Тогда .
- •С погрешностью
- •46. Метод хорд
- •47. 52. Метод Ньютона (метод касательных)
- •48. Комбинированный метод хорд и касательных для уточнения корней нелинейных уравнений
- •49. 51. Метод простых итераций
- •50. Решение систем линейных алгебраических уравнений методом Гаусса
- •53. Метод прямоугольников
- •Составные квадратурные формулы
- •Составные формулы для равномерных сеток
- •Погрешность метода
- •Пример реализации
- •54. Метод трапеций
- •Составная формула
- •59. Интерполяцио́нный многочле́н Лагра́нжа
- •Определение
- •Применения
- •Случай равномерного распределения узлов интерполяции
- •60. Разделё́нная ра́зность
- •Определение
- •Применение
- •История
23. Системы программирования и их состав.
Системой программирования называется комплекс программ, предназначенный для автоматизации программирования задач на ЭВМ. Система программирования освобождает проблемного пользователя или прикладного программиста от необходимости написания программ решения своих задач на неудобном для него языке машинных команд и предоставляют им возможность использовать специальные языки более высокого уровня. Для каждого из таких языков, называемых входными или исходными, система программирования имеет программу, осуществляющую автоматический перевод (трансляцию) текстов программы с входного языка на язык машины. Обычно система программирования содержит описания применяемых языков программирования, программы-трансляторы с этих языков, а также развитую библиотеку стандартных подпрограмм. Важно различать язык программирования и реализацию языка.
Язык – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций.
Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд. Имеется два основных вида средств реализации языка: компиляторы и интерпретаторы.
Компилятор транслирует весь текст программы, написанной на языке высокого уровня, в ходе непрерывного процесса. При этом создается полная программа в машинных кодах, которую затем ЭВМ выполняет без участия компилятора. Интерпретатор последовательно анализирует по одному оператору программы, превращая при этом каждую синтаксическую конструкцию, записанную на языке высокого уровня, в машинные коды и выполняя их одна за другой. Интерпретатор должен постоянно присутствовать в зоне основной памяти вместе с интерпретируемой программой, что требует значительных объемов памяти.
24. Понятие о программировании
Программа – это упорядоченная последовательность команд компьютера, составленных для решения задачи.
Процесс создания программ:
Постановка задачи – Алгоритм – Программирование – Отладка – Программа-приложение
Алгоритм - система команд, определяющая процесс преобразования исходных данных в результат решения поставленной задачи
Свойства алгоритма:
Дискретность – возможность разбиения процесса обработки информации на более простые этапы
Определенность – однозначность выполнения отдельного шага преобразования информации
Выполнимость – возможность получения желаемого результата за конкретное число шагов
Универсальность – пригодность алгоритма для решения определенного класса задач
Программирование – это теоретическая и практическая деятельность, связанная с описанием алгоритма решения задачи средствами конкретного ЯП и оформления полученных результатов в виде программы
Программный продукт –комплекс взаимосвязанных программ для решения определенной проблемы, подготовленный к реализации
Логическое программирование Логика и программирование долгое время были непересекающимися областями исследований. Только в 1973 впервые было опубликовано описание языка PROLOG (PROgramming in LOGic- программирование в терминах логики) Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. В логическом программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Логические программы отличаются принципиально низким быстродействием. Так как вычисления осуществляются методом проб и ошибок (посредством поиска с возвратами). В настоящее время для ПК существует около двух десятков реализации PROLOG’а, некоторые из которых оформлены в виде интегрированных сред.
Объектно-ориентированное программирование. Корни ООП уходят в одну из ветвей логики, в которой первичной является не отношение, а объект. Прототипом объектно-ориентированного программирования явился язык SIMULA-67. Но оформилось оно в самостоятельный стиль программ ирония с появлением языка (SMALLTALK-1972 г.), первоначально предназначенного для реализаций функций машинной графики. Этот стиль программирования характеризуется богатыми графическими возможностями и средой программирования, развитой модульной структурой программ. Именно модульность упрощает разработку сложных программных продуктов. Как пример объектно-ориентированного языка можно назвать Visual Basic и Delfi.
Сейчас уже невозможно представить себе жизнь в мире ПК без Интернета. Язык гипертекстовой разметки-HTML (Hyper Text Markur Language) позволяет создавать программы, с помощью которых можно блуждать по Сети.
Языки программирования
Программирование - это искусство создавать программные продукты, которые написаны на языке программирования. Язык программирования – это формальная знаковая система, которая предназначена для написания программ, понятной для исполнителя (в нашем рассмотрении – это компьютер). Данный сайт предназначен для начинающих программистов, для чайников, для новичков, для детей, а также для профессионалов.
Язык программирования ( англ. Programming language ) - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель ( компьютер ) под ее управлением.
Со времени создания первых программируемых машин было создано более двух с половиной тысяч языков программирования. Ежегодно их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты обычно применяют в своей работе несколько языков программирования.
Языки программирования низкого уровня
Первым компьютерам приходилось программировать двоичными машинными кодами. Однако программировать таким образом - достаточно трудоемкая и сложная задача. Для упрощения этой задачи стали появляться языки программирования низкого уровня, которые позволяли задавать машинные команды в более понятном для человека виде. Для преобразования их в двоичный код были созданы специальные программы - трансляторы.
Пример машинного кода и представления его на ассемблере
Трансляторы делятся на:
компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).
интерпретаторы - превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.
Примером языка низкого уровня является ассемблер. Языки низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности, поэтому для переноса программы на ассемблере на другую аппаратную платформу ее нужно почти полностью переписать. Определенные различия имеются и в синтаксисе программ под разные компиляторы. Правда, центральные процессоры для компьютеров фирм AMD и Intel практически совместимы и отличаются лишь некоторыми специфическими командами. А вот специализированные процессоры для других устройств, например, видеокарт, телефонов содержат существенные различия.
Преимущества
С помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.
Недостатки
Программист, работающий с языками низкого уровня, должен быть высокой квалификации, хорошо понимать устройство микропроцессорной системы, для которой создается программа. Так, если программа создается для компьютера, нужно знать устройство компьютера и, особенно, устройство и особенности работы его процессора.
результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.
значительное время разработки больших и сложных программ.
Языки низкого уровня, как правило, используют для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирование специализированных микропроцессоров, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Ассемблер - язык низкого уровня, что широко применяется до сих пор.
Языки программирования высокого уровня
Можно сказать более понятными человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданные программы легко переносятся с компьютера на компьютер. В основном достаточно просто перекомпилировать программу под определенную компьютерную архитектурную и операционную систему. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше. Значительно сокращается время разработки программы, что особенно важно при работе над большими программными проектами.
К языкам программирования высокого уровня относятся:
Фортран
Кобол
Алгол
Pascal
Java
C
C++
C#
Objective C
Smalltalk
Delphi
Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.