Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcija_1._LPOD.doc
Скачиваний:
9
Добавлен:
07.05.2019
Размер:
385.54 Кб
Скачать

20 Лекция №1. Линейные под. Информатика и программирование

Лекция №1 Линейные под

Новосибирск 13.11.2020

Содержание

Введение 3

Изучаемые темы: 3

Изучаемые вопросы: 3

Линейный процесс обработки данных 3

Процессы обработки данных, вычислительные процессы, алгоритмы. 7

Этапы подготовки и решения задач на ЭВМ 9

Проектирование программ 11

Жизненный цикл программы 11

Содержание этапа «Анализ требований» 12

Спецификация программы 12

Содержание этапа «Проектирование» 13

Содержание этапа «Кодирование» 13

Содержание этапа «Испытание» 15

Содержание этапа «Эксплуатация» 16

Содержание этапа «Моральное старение» 16

Операторы Object Pascal 16

Контрольные вопросы 19

Источники дополнительных сведений 19

Предметный указатель 19

Введение

Изучаемые темы:

  • Характеристика дисциплины. (1 часа).

  • Линейные процессы обработки данных

Изучаемые вопросы:

Жизненный цикл программы.

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

Линейные процессы обработки данных.

Блок-схема программы

Управляющая структура программы.

Тестирование.

Оператор присваивания.

Программы, управляемые событиями.

Линейный процесс обработки данных

Изучение линейных процессов обработки данных начнём со следующего примера.

Требуется спроектировать и реализовать программу для вычисления площади треугольника. Программа должна работать в режиме диалога с пользователем. Данные вводятся с клавиатуры терминала. Результат выводится на монитор.

Использовать для вычисления площади треугольника формулу Герона:

Проанализировав требование к программе, запишем программную спецификацию, используя HIPO – диаграмму: в которой внимание фиксируется на исходных (Вход), результирующих данных (Выход), а также связях между ними (Обработка).

          1. Пример 1. HIPO - диаграмма

Детализируем раздел «Обработка»HIPO-диаграммы с помощью блок-схемы. Обработку данных организуем с помощью линейного (последовательного) процесса.

Пример 1. Блок-схема. Линейный вычислительный процесс

Для анализа программы полезно понятие состояние данных программы или просто состояние данных. Состояние данных – это набор упорядоченных пар: имя переменной – значение переменной. Состояние данных можно анализировать в любой точке программы. Для нашей программы состояние данных S будет характеризоваться множеством из пяти пар: S = {(a, 0),(b, 0),(c, 0),(p, 0),(s, 0)}. Если обозначить через X – исходное состояние данных, а через Y – результирующее состояние данных, то можно определить программную функцию f программы Y = f(X). Для нашей программы программная функция может быть записана так:

Здесь - это переменная s в результирующем состоянии данных Y, - это переменные a, b, c в исходном состоянии X.

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

Для анализа процесса обработки данных, реализуемого программой, используют управляющую структуру программы, которая может быть построена на основе блок-схемы программы.

Управляющая структура программы – это результат абстрагирования от содержимого узлов блок-схемы. Для нашей программы управляющая структура будет иметь вид, представленный ниже:

Управляющая структура такого вида носит название «последовательность» или «следование» (SEQUENCE). Процессы обработки данных с управляющей структурой «SEQUENSE» носят название линейные процессы обработки данных. Их особенностью является то, что они определяют безусловный последовательный порядок действий по обработке данных, который не зависит от исходных данных и промежуточных результатов.

Управляющая структура «следование» состоит из последовательности узлов под названием «процесс» (функциональных узлов). На Object Pascal она может быть реализована посредством применения составного оператора.

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

В текст программы можно помещать комментарии – пояснения к фрагментам текста программы, которые не оказывают влияние на программу. Комментарий может быть однострочный и многострочный. Однострочный комментарий – это строка, которая начинается с двух символов «//». Например

// это комментарий

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

{

Это

многострочный

комментарий

}

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

Приведённая в Пример 1 программа состоит из следующих разделов:

  • Заголовок программы. Этот раздел начинается с зарезервированного слова program, за которым через пробел следует имя программы, в нашем случае Geron. Имя приложению даётся при сохранении его на диске. Оно определяет имя файла с расширением .dpr, в котором будет хранится приложение.

  • Раздел указания используемых модулей (предложение uses). Этот раздел начинается с зарезервированного слова uses, за которым через запятую перечисляются, имена модулей, ресурсы которых используются нашим приложением. Модуль SysUtils, содержит библиотеку времени выполнения, которая подключается автоматически.

  • Раздел описания переменных, который начинается с зарезервированного слова var. В этот раздел помещают описания переменных. Описать переменную - значит связать имя переменной с типом переменной. Каждая переменная программы перед первым её использованием должна быть описана.

  • Раздел операторов. Это последовательность операторов, разделённых точкой с запятой, заключённая в операторные скобки begin … end.

  • За разделом операторов следует точка.

  • Каждый раздел программы, за исключением раздела операторов, должен завершаться точкой с запятой.

Пример 1. Линейный процесс обработки данных.

program Geron;

{$APPTYPE CONSOLE}

// Программа для вычисления площади треугольника

// Пример программы с линейным вычислительным процессом

uses

SysUtils;

var

a: Real = 0;//длина стороны треугольника

b: Real = 0;//длина стороны треугольника

c: Real = 0;//длина стороны треугольника

p: Real = 0;// полупериметр

s: Real = 0;//площадь

begin

//{(a,0),(b,0),(c,0),(p,0),(s,0)}

write('Triangle side a: '); readln(a); //{(a,3),(b,0),(c,0),(p,0),(s,0)}

write('Triangle side b: '); readln(b); //{(a,3),(b,4),(c,0),(p,0),(s,0)}

write('Triangle side c: '); readln(c); //{(a,3),(b,4),(c,5),(p,),(s,)}

p:= (a + b + c)/2; //{(a,3),(b,4),(c,5),(p,6),(s,0)}

s:= SQRT(p*(p - a)*(p - b)*(p - c)); //{(a,3),(b,4),(c,5),(p,6),(s,6)}

writeln('Triangle sides: ','a = ',a:6:2,' b = ',b:6:2,' c = ',c:6:2);

//{(a,3),(b,4),(c,5),(p,6),(s,6)}

writeln('Triangle area: ','s = ',s:6:2);

readln;

end.

Результат работы приложения, если в качестве значений длин сторон взять

a = 3, b = 4, c = 5

представлен ниже.

Triangle side a: 3

Triangle side b: 4

Triangle side c: 5

Triangle sides: a = 3.00 b = 4.00 c = 5.00

Triangle area: s = 6.00

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]