- •Конспект лекций по информатике
- •Организация данных в эвм и основы программирования
- •1. Основные понятия языка программирования паскаль
- •1.1. Структурное программирование
- •1.2. Основные символы языка
- •1.3. Элементы языка
- •1.4. Интегрированная среда turbo pascal
- •1.5. Структура программы в turbo pascal
- •1.6. Определение типов
- •1.7. Операторы в программе
- •1.7.1. Операторные скобки
- •1.7.2. Операторы ввода
- •1.7.3. Оператор присваивания
- •1.7.4. Условный оператор
- •1.7.5. Пример простой программы
- •1.7.6. Оперетор безусловного перехода
- •1.8. Организация циклов
- •1.8.1. Использование операторов условного и безусловного перехода
- •1.8.2. Цикл с параметром
- •1.8.3. Цикл с предусловием - цикл while
- •1.8.4. Цикл с постусловием - цикл repeat
- •1.9. Оператор выбора варианта
- •1.10. Расположение операторов в программе
- •1.11. Концепция типов данных
- •2. Стандартные простые типы
- •2.1 Целый тип
- •2.1.1. Операции над данными целого типа:
- •2.2. Действительный тип
- •2.2.1. Операции над данными действительного типа:
- •2.3. Логический тип
- •Var p, q, r : Boolean;
- •2.3.1. Алгебра логики в Паскале
- •2.3.2. Законы алгебры логики в Паскале
- •2.4. Символьный тип
- •2.4.1. Символьные строковые константы
- •3. Нестандартные простые типы (определяемые пользователем)
- •3.1. Перечисляемый тип
- •3.2. Ограниченный тип (диапазон, интервал)
- •4. Процедуры и функции
- •4.1. Описание процедур
- •4.2. Стандартные процедуры
- •4.3. Описание функций
- •4.4. Стандартные функции
- •4.5. Итерация и рекурсия
- •4.6. Побочный эффект рекурсии
- •4.7. Предварительное описание (ссылки вперед)
- •5. Регулярные типы
- •5.1. Одномерный массив, или переменные с индексами
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •2. Сортировка выбором
- •3. Метод Шелла
- •4. Метод Хoopа
- •5.2. Многомерные массивы
- •5.3. Упакованные массивы
- •5.4. Строки
- •6. Множественные типы
- •6.1. Свойства множеств
- •6.2. Операции над множествами
- •7. Комбинированные типы
- •7.1. Описание записей и действия с ними
- •7.2. Оператор присоединения.
- •7.3. Записи с вариантами
- •8. Типизированная константа
- •8.1. Простая типизированная константа
- •8.2. Структурированная (сложная) типизированная константа
- •8.2.1. Типизированная константа массива
- •8.2.2. Типизированная константа записи
- •8.2.3. Типизированная константа множества.
- •9. Преобразование типов
- •9.1. Неявные преобразования типов
- •9.2. Использование стандартных функций для преобразования
- •9.3. Явные преобразования типов
- •9.5. Совместимость типов
- •10. Файловые типы
- •10.1. Определение файлового типа
- •10.2. Структура файла
- •10.3. Имя файла
- •10.4. Описание файлового типа
- •10.5. Файловая переменная
- •10.6. Операции над файлами
- •10.7. Типизированные файлы
- •10.8. Текстовые файлы
- •10.9. Нетипизированные файлы
- •10.10. Стандартные файлы inpuTиOutput
Министерство образования Российской Федерации
Московская Государственная академия приборостроения и информатики
Конспект лекций по информатике
для специальностей 2102, 0718
Автор доц., к.т.н. Каширская Е.Н.
Москва, 2003
Организация данных в эвм и основы программирования
1. Основные понятия языка программирования паскаль
Любая программа, выполняемая на ЭВМ, обрабатывает данные с целью получения требуемого результата. В современных языках программирования имеются базовые типы данных и средств построения структурных типов данных из базовых; они облегчают составление программ для решения сложных задач,однако не избавляют программиста от проблем разработки алгоритмов и выбора подходящей структуры данных. При разработке алгоритма выбирается некоторая удобная абстрактная структура данных и алгоритм разрабатывается в терминах операций над этим абстрактным типом данных. После разработки алгоритма выбирается представление абстрактной структуры данных с помощью структуры данных языка программирования.
1.1. Структурное программирование
В последнее время замечено, что разработка структур данных является не менее важной частью решения задачи, чем разработка алгоритма. Часто хороший выбор структур данных позволяет формулировать более простые и эффективные алгоритмы. Однако большинство языков программирования предоставляет пользователю лишь ограниченный набор структур данных: простые переменные и массивы.
Ограниченный набор структур данных во многих случаях не позволяет использовать адекватное представление абстрактных понятий, а вынуждает программиста прибегать к их моделированию, что порой приводит к неэффективной работе программиста.
Язык программирования Паскаль содержит полный набор структурных типов данных:
простые переменные,
массивы,
последовательные файлы,
множества,
записи,
записи с вариантами,
указатели, а также развитые средства построения из них новых типов данных.
Язык программирования Паскаль был разработан для обучения программированию как систематической дисциплине, в частности структурному программированию. Структурное программирование - способ программирования с широким использованием подпрограмм.
Усилия по повышению качества программ, эффективности труда программистов, сокращению продолжительности и трудоемкости процесса программирования сосредоточены в двух направлениях: создание научно обоснованной методологии разработки программ ручным способом и создание соответствующих автоматизированных систем программирования.
Наибольшую известность получил структурный метод программирования, базирующийся на использовании лучших элементов технологии составлении программ классными программистами и методов теории программирования. Основой метода является использование принципа модульности построения сложных программ, причем каждый программный модуль должен иметь ограниченный объем, выполнять одну функцию по обработке данных и использовать композицию только трех базовых элементов - линейной, ветвящейся и циклической структур, для описания которых разработаны специальные языковые конструкции.
Основная цель структурного программирования - создать программу с минимальными взаимосвязями между ее модулями. В ИДЕАЛЕкаждый модуль должен иметьодин вход и один выход.
Опыт использования методов структурного программирования позволяет сделать следующие выводы:
1) структурное программирование упрощает процесс создания сложных программ и способствует значительному уменьшению количества ошибок в них;
2) использование модулей небольших размеров позволяет упростить и ускорить процессы их отладки;
3) при использовании структурного программирования значительно сокращается трудоемкость разработки технической документации, т.е. в качестве документации на каждый модуль используется только описание его функций;
4) структурное программирование является хорошей базой автоматизации разработки модульных программ.
Язык Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ. Эти методы имеют фундаментальное значение в современном программировании. Это пока единственный язык, для которого созданы программные системы, позволяющие доказывать правильность программ. Так как программы, используемые на практике, являются чрезвычайно сложными и имеют тенденцию к дальнейшему усложнению, ошибки при программировании всегда будут появляться. Вместо того чтобы доверяться устаревшим методам отладки программ, лучше ориентироваться на появляющиеся системы автоматической проверки правильности программ.
Еще одно огромное достоинство языка Паскаль - это краткость языка. Созданный первоначально для обучения программированию, язык Паскаль стал очень распространенным языком.