Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






На языке Паскаль






АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

3-е издание, стереотипное

Рекомендуется Учебно-методическим объединением вузов РФ
по образованию в области автоматики, электроники, микроэлектроники и радиотехники для межвузовского использования

Белгород 2004

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ……………………………………………………………………6

1. ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ……………………………………6

2. АЛГОРИТМЫ………………………………………………………………7

2.1. Свойства алгоритмов…………………………………………………...7

2.2. Способы записи алгоритмов…………………………………………...7

3. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ……………………………..11

3.1. Принципы структурного программирования………………………...12

4. ЯЗЫКИ ПРОГРАММИРОВАНИЯ….…………………………………...15

4.1. Свойства языков программирования, характеризующие качество

программ……………………………………………………………………16

5. ЯЗЫК ПАСКАЛЬ…………………………………………………………16

5.1. Алфавит языка Паскаль………………………………………………17

5.2. Способы описания синтаксиса……………………………………….17

5.3. Идентификаторы………………………………………………………19

5.4. Структура программы на Паскале……………………………………19

6. ДАННЫЕ…………………………………………………………………..20

6.1. Тип данных…………………………………………………………….20

6.2. Типы данных языка Паскаль…………………………………………21

6.3. Константы ……………………………………………………………..21

6.4. Переменные……………………………………………………………23

7. ЧИСЛОВЫЕ ТИПЫ И АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ………..23

7.1. Целые типы ТP………………………………………………………..23

7.2. Вещественные типы ТР……………………………………………….23

7.3. Арифметические операции, определенные над числовыми типами 24

8. ОПЕРАТОР ПРИСВАИВАНИЯ………………………………………….26

9. СИМВОЛЬНЫЙ ТИП…………………………………………………….27

10. ЛОГИЧЕСКИЙ ТИП…………………………………………………….28

10.1. Логические операции………………………………………………...28

11 ПРОСТЫЕ ТИПЫ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ…………29

11.1. Интервальный тип (тип диапазон)………………………………….29

11.2 Перечисляемый тип…………………………………………………..30

12. СТАНДАРТНЫЙ ВВОД………………………………………………...31

12.1 Ввод числовых данных……………………………………………….31

12.2. Ввод символьных данных…………………………………………...32

12.3. Процедура readLn…………………………………………………….32

13. СТАНДАРТНЫЙ ВЫВОД………………………………………………34

13.1 Форматный вывод…………………………………………………….34

13.2. Вывод значений типа real……………………………………………35

13.3. Пример программы на Паскале……………………………………..35

14. ОПЕРАТОР БЕЗУСЛОВНОГО ПЕРЕХОДА…………………………..36

15. ПУСТОЙ ОПЕРАТОР…………………………………………………...37

16 СТРУКТУРИРОВАННЫЕ ОПЕРАТОРЫ………………………………37

16.1. Составной оператор………………………………………………….37

16.2 Выбирающий оператор……………………………………………….37

16.3. Оператор цикла………………………………………………………40

17. СТИЛЬ ЗАПИСИ ПРОГРАММЫ………………………………………43

17.1 Комментарии………………………………………………………….43

18. ОТЛАДКА ПРОГРАММ………………………………………………...44

18.1.Виды ошибок и способы их устранения……………………………..44

18.2. Ручная проверка……………………………………………………...45

18.3. Машинное тестирование…………………………………………….45

18.4. Проверка правильности данных…………………………………….46

18.5. Исправление ошибок………………………………………………...46

19 РЕГУЛЯРНЫЙ ТИП (МАССИВ)……………………………………….47

19.1. Одномерные массивы………………………………………………..47

19.2. Упакованные массивы……………………………………………….49

19.3. Многомерные массивы………………………………………………49

19.4. Еще один способ получения многомерных массивов……………...50

19.5. Строковый тип в стандартном Паскале…………………………….51

19.6. Строковый тип в ТР………………………………………………….52

20. ПОДПРОГРАММЫ……………………………………………………...55

20.1. Область действия описаний…………………………………………55

20.2. Параметры подпрограмм……………………………………………55

20.3. Процедуры……………………………………………………………57

20.4. Обращение к процедурам (вызов процедур)……………………….58

20.5. Функции………………………………………………………………59

20.6. Обращение к функциям (вызов функций)………………………….60

20.7. Побочный эффект функций………………………………………….61

20.8. Рекурсивные подпрограммы………………………………………..61

20.9. Взаимно рекурсивные подпрограммы………………………………62

21. КОМБИНИРОВАННЫЙ ТИП (ЗАПИСЬ)……………………………..63

21.1 Оператор присоединения……………………………………………..64

21.2. Записи с вариантами…………………………………………………65

22. ПОБИТОВЫЕ ОПЕРАЦИИ.……………………………………………67

23. ТИПИЗОВАННЫЕ КОНСТАНТЫ В ТP……………………………….69

24. МНОЖЕСТВО…………………………………………………………...70

24.1. Машинное представление множества………………………………71

24.2. Операции над множествами…………………………………………71

25. ФАЙЛЫ…………………………………………………………………..72

25.1. Файлы в Паскале……………………………………………………..73

25.2. Текстовые файлы………………………………………………...…..74

25.3. Типизованные файлы………………………………………………..76

25.4. Нетипизованные файлы……………………………………………...77

25.5. Прямой доступ к нетекстовым файлам ТР…………………………77

26. ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ…………………………………...79

26.1. Ссылочный тип данных……………………………………………...79

26.2. Подпрограммы динамического распределения памяти……………80

26.3. Операции над указателями…………………………………………..81

26.4. Работа с динамическими переменными…………………………….81

26.5. Создание структур большого размера………………………………82

26.6. Длинные строки в ТР………………………………………………...83

26.7. Динамические структуры данных…………………………………..83

27. ПРЕОБРАЗОВАНИЕ ТИПОВ…………………………………………..85

27.1. Приведение типов выражений………………………………………86

27.2. Приведение типов переменных……………………………………..86

27.3. Обработка одномерных массивов разных размеров с фиксированным базовым типом………………………………………………….87

27.4. Нетипизованные параметры подпрограмм…………………………87

28. ПРОЦЕДУРНЫЕ И ФУНКЦИОНАЛЬНЫЕ ТИПЫ…………………..88

29. МОДУЛИ В TP…………………………………………………………..90

29.1. Основные модули TP………………………………………………..91

29.2. Создание собственных модулей……………………………………..91

СПИСОК ЛИТЕРАТУРЫ…………………………………………………...94


ВВЕДЕНИЕ

 

Со времени возникновения ЭВМ технология программирования претерпела существенные изменения. Первоначально программы составлялись в машинных кодах. И создание даже сравнительно простых программ требовало больших затрат времени и усилий. Затем появились алгоритмические языки, значительно повысившие производительность труда программиста. Расширение масштабов решаемых задач потребовало создания особой технологии программирования, которую назвали структурным программированием. Основой этой технологии являются структурированные алгоритмические языки, такие, как Паскаль, Си.

Настоящее пособие посвящено основам алгоритмизации и программирования на языке Паскаль и охватывает программу курса программирования для специальностей 220400 и 071900.

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

 

1. ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ

 

1. Постановка задачи. Если задача поставлена в общем виде, не сформулирована точно, то необходимо понять сущность задачи, правильно ее сформулировать, выделить объект исследования.

2. Разработка математической модели. Разработка математической модели заключается в формализации исследуемого объекта. Математическая модель - приближенное описание некоторого класса явлений внешнего мира, выраженное с помощью математической символики, то есть конкретное явление переводится на язык математических формул и дальше рассматривается как математическая проблема.

3. Выбор способа решения задачи и спецификация алгоритма. Должны быть установлены выходные и входные данные алгоритма, выделены основные отношения между ними. Необходимо определить, может ли задача быть решена и при каких исходных данных. Результат этапа - спецификация алгоритма, то есть формулировка в общем виде того, что должен делать алгоритм, чтобы переработать входные данные в выходные. Причем должен быть описан класс входных данных со всеми ограничениями.

4. Разработка алгоритма и его запись. При разработке алгоритма нужно ориентироваться на конкретную ЭВМ, учитывать ее возможности. Нужно проанализировать: достаточен ли объём памяти и точность вычислений, хватит ли быстродействия для получения результата в приемлемые сроки. От разработки алгоритма зависит качество программы.

5. Кодирование. Кодирование - запись алгоритма на языке программирования. При тщательной разработке алгоритма кодирование, как правило, не вызывает затруднений.

6. Отладка. Отладка заключается в поиске и исправлении ошибок. Существует два метода отладки: ручная проверка, не требующая применения ЭВМ, и тестирование. Тестирование заключается в прогонах полностью или частично завершенной программы на ЭВМ. Оба метода требуют тестовых данных. Тестовые данные - наборы исходных данных и ожидаемых результатов. Подбор тестовых данных - важная часть работы программиста. Тесты рекомендуется готовить параллельно с разработкой алгоритма.

7. Получение и анализ результатов. Организация прогона программы на ЭВМ зависит от конкретного типа ЭВМ.

 

2. АЛГОРИТМЫ

 

Алгоритм является центральным понятием программирования. Алгоритм - это конечный набор команд, который определяет последовательность действий для переработки входных данных в выходные.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.