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


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



 

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

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. завершает тело программы; записанные после него операторы игнорируются.

Данные

 

В программировании все данные можно объединить в 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 {ошибка}.

 


Поделиться:



Популярное:

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


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