Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Основные этапы разработки программного обеспечения



 

1. Постановка задачи.

2. Формализация задачи.

3. Разработка алгоритма задачи.

4. Разработка программы.

5. Отладка программы (тестирование).

6. Выпуск документации.

 

1. Постановка задачи – это задание на программирование. Как правило, постановка задачи представляет собой документ определённого вида, где описывается, что должна делать программа (назначение), каковы её входные и выходные данные, а также другие характеристики программы.

2. Формализация задачи – это описание её на языке математики (построение математической модели задачи). С помощью ПК можно решить только те задачи, которые описываются с помощью математических методов.

3. Разработка алгоритма задачи .

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

1. быть законченным – при любых входных данных иметь логическое окончание;

2. быть определенным и однозначным – исполнение одного и того же алгоритма в одних и тех же условиях разными исполнителями должно приводить к одинаковым результатам;

3. быть эффективным – решение задачи должно достигаться самым простым и коротким способом.

Блок-схема – это графический способ записи алгоритма, заключающийся в том, что каждый шаг алгоритма изображается геометрической фигурой; фигуры соединяются между собой линиями со стрелками, указывающими порядок выполнения действий.

 

начало, конец
ввод, вывод
условие (ветвление)
цикл
переход действия алгоритма в другое место (соединитель)
комментарий
межстраничный соединитель

Виды алгоритмов.

Несмотря на всё разнообразие алгоритмов, встречающихся в практике можно выделить 3 основных вида: линейный, разветвляющийся и циклический.

  1. Линейный алгоритм – это такой алгоритм, в котором действия выполняются в том порядке, как они записаны. Пример: нахождение площади треугольника.
  2. Разветвляющийся алгоритм – это алгоритм, в котором порядок выполнения действий зависит от некоторых условий. Пример: алгоритм решения линейного уравнения с анализом.

3. Циклический алгоритм - это алгоритм, в котором некоторая последовательность действий повторяется неоднократно. Пример: программа вычисления факториала n! =1*2*3*…*n, где n> 0. Циклический алгоритм может быть выполнен комбинацией линейного и разветвляющегося алгоритма. Пример: кусок программы вычисления факториала n! =1*2*3*…*n, где n> 0.

 

Разработка программы

Общая структура программы на языке программирования Pascal имеет вид:

Раздел объявлений и соглашений:

Program - заголовок программы

Uses - подключение библиотек;

Label- описание меток

Const- описание констант

Type- описание типов данных

Var - описание переменных

Раздел текстов процедур (функций):

Procedure (Function);

Begin

< телопроцедурыилифункции>

End;

Раздел основного блока программы:

Begin

< Основной блок программы>

End.

Язык программирования Pascal был впервые разработан в 1968 году швейцарским ученым Н. Виртом.

Алфавит языка включает в себя латинские строчные и прописные буквы, арабские цифры и специальные символы: _ + - * / = < > ., ; : @ ' ( ) [ ] { } # $ ^.

Программа на Pascal состоит из последовательности строк, длина которых должна быть не более 127 символов.

Служебные слова (зарезервированные, ключевые) – это группа слов, смысл которых в языке Паскаль строго закреплен (program, uses, var).

Идентификаторы – это произвольные, выбранные пользователем, слова любого размера (однако значащими являются только первые 63 символа), которые должны подчиняться следующим правилам:

1. идентификаторы могут состоять только из латинских букв, арабских цифр и символа подчеркивания: laba2, alfa 1, alfa_1;

2. идентификаторы могут начинаться только с буквы или символа подчеркивания: 1alfa;

3. строчные и прописные буквы в идентификаторах считаются одинаковыми: LineEqu и lineequ одинаковы;

4. при выборе идентификаторов не должны использоваться служебные слова: program.

В Паскале идентификаторами являются имена программ, процедур, функций, констант, переменных и типов данных.

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

 

Задание: Написать блок-схему и программу для вычисления значения y=3a+5b+8c.

programpr_1; {моя первая программа}

uses crt;

var a, b, c, y: integer;

begin

clrscr;

write(‘Введите a, b, c’);

read(a, b, c);

y: =3*a+5*b+8*c;

write(‘y=’, y);

end.

 

Оператор program обозначает начало программы и дает ей имя. Этот оператор не является обязательным (его можно не писать), но по правилам хорошего тона в программировании он все же требуется. Имя программы pr_1 – это идентификатор, поэтому подчиняется определенным правилам.

В конце каждого оператора ставиться ; , которая является разделителем операторов в Паскале.

Оператор uses указывает, какие стандартные библиотеки надо подключить к программе. В стандартных библиотеках описываются операторы, которыми мы пользуемся в нашей программе, например, оператор очистки экранаclrscr описывается в библиотеке crt. Если к программе подключается несколько библиотек, то они записываются в операторе uses через запятую. Например: пишем: usescrt, graph;

Ключевое слово var – это оператор описания типов переменных. В данном случае, с его помощью описываются 4 переменные a, b, c, y, которые имеют одинаковый тип integer (числовой целый тип).

Ключевое слово begin означает начало раздела описания действий (тело программы). Ключевое слово end. завершает тело программы; записанные после него операторы игнорируются.

Операторы вывода.

 

Операторы write и writeln – операторы вывода данных на экран.

Общий вид операторов:

Write(параметры);

Writeln(параметры);

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

Например:

year: =2003;

massa: =400;

write(‘В ’, year, ’было собрано’, massa, ’тонн урожая’);

На экране:

В 2003 было собрано 400 тонн урожая

 

Отличие оператора write от оператора writeln состоит в том, что write начинает вывод с текущего положения курсора и после окончания вывода оставляет курсор за последним выведенным символом, а writeln после вывода устанавливает курсор на начало следующей строки.

Например: write(‘Я люблю’); write(‘ информатику’); На экране: Я люблю информатику Например: writeln(‘ информатику’); writeln(‘Я люблю’); На экране: Я люблю информатику

 

Форматированный вывод

Pascal дает возможность устанавливать необходимый формат вывода данных.

Например:

y: =36.5634

writeln(‘y=’, y);

writeln(‘y=’, y: 5: 2); {указывает, что число занимает 5 позиций с 2 знаками после запятой}

writeln(‘y=’, y: 5: 0) {указывает, что число занимает 5 позиций без дробной части}

В результате:

y=3.6563400000E+01

y= 36.56

y= 37

 

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

Общий вид:

имя переменной: = выражение;

Действие оператора: вычисляет значение выражения, стоящего справа от оператора присваивания, и присваивает его переменной, стоящей слева от оператора присваивания.

Оператор ввода

Операторы read и readln - предназначены для ввода значений переменных.

Общий вид:

read(параметры);

read(параметры);

Параметрами этих операторов могут быть только имена переменных через запятую.

Например: read(a, h, v);

Отличие операторов, как в операторах вывода, заключается в том, что у readln курсор после завершения ввода значения переменной должен перейти к началу следующей строки на экране.

Также оператор readln часто используют последним оператором в программе для задержки экрана вывода результатов программы. В этом случае записывают readln;.

Данные

 

В программировании все данные можно объединить в 4 группы:

1. Константы – фиксированные одиночные числовые или текстовые значения, которые не могут изменяться в ходе выполнения программы.

2. Переменные – величины, значения которых могут изменяться в процессе выполнения программы.

3. Массивы – упорядоченные множества значений одного типа.

4. Файлы – последовательности значений (записей) различных типов, размещенных во внешней памяти.

Типыданных.

Тип данных определяет:

1. область значений - какое множество значений могут принимать данные указанного типа;

2. структуру данных и размер в памяти компьютера;

3. какие действия могут осуществляться над данными указанного типа.

 

Тип данных Ключевое слово Область значений Размер в памяти
Числовой Целый integer -32768¸ 32767 2 байта
Длинный целый logint -2*109¸ 2*109 4 байта
Вещественный с одинарной точностью real 2.9*10-39¸ 1.7*1038 6 байт
Логический boolean TRUE и FALSE 1 байт
Символьный char все символы 1 байт

 

В Паскале вещественные числа могут быть представлены в двух формах:

1. с фиксированной точкой – число состоит из целой и дробной частей, разделенных десятичной точкой (например: -2.7 0.36 +2.524):

2. с плавающей точкой – число состоит из мантиссы и порядка (например, 2.5731237873E-02=2.5731237873*10-2 =0.025731237873).

Преобразование типов данных.

В Паскале существует иерархия числовых типов данных. Иерархия типов в порядке возрастания сложности выглядит так: integer, longint, real. В Паскале допустимо следующее присвоение:

< сложный тип>: =< простой тип>

Обратное присвоение недопустимо.

Пример:

var i, j: integer; s: real;

i: =5; {допустимо}

j: =35000; {не допустимо, так как 35000 не входит в интервал integer}

s: =0.5; {допустимо}

s: =i+j; {допустимо, идет преобразование типов}

Арифметические выражения.

 

Арифметическим выражением называется последовательность констант, переменных и функций, соединенных знаками арифметических операций и скобками.

Для составления арифметического выражения существуют следующие правила:

1. В программировании арифметическое выражение должно быть записано в одну строку.

2. Арифметические операции имеют различные приоритеты; сначала выполняются операции возведения в степень, потом умножения и деления, затем сложения вычитания.

3. Для изменения существующего порядка используются скобки.

Пример:

=(3*a+8*b)/(2*c+5*d)+5

 

Тип арифметических выражений:

Арифметическое выражение всегда имеет тип. Тип выражения определяется самым сложным типом, входящим в это выражение.

Пример:

var i, j: integer; k: longint; S: real;

1+i { тип integer}

i +k { типlongint (поболеесложному)}

i +2+S {real (т.к. самая сложная величина real)}

1+i+4/2 { real (т.к. есть операция деления)}

k: = i + j {допустимо}

i: = j + k {ошибка}.

 


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 329; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.043 с.)
Главная | Случайная страница | Обратная связь