Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие_Алгоритмизация

.pdf
Скачиваний:
43
Добавлен:
23.02.2015
Размер:
1.26 Mб
Скачать

В. М. Паклина

Е. М. Паклина

Основы алгоритмизации

и программирования

Министерство образования и науки Российской Федерации Уральский федеральный университет

имени первого Президента России Б. Н. Ельцина

В. М. Паклина, Е. М. Паклина

Основы алгоритмизации и программирования

Учебное пособие

Научный редактор – кандидат технических наук И. Н. Обабков

Екатеринбург

УрФУ

2010

УДК 004.4(075.8)

ББК 32.973-018я73

П13

Рецензенты: кафедра математики и информатики Урал. гуманит. ин-та

(завкафедрой канд. техн. наук, доц. С. В. Федулов); А. А. Поморцева – замдиректора по учеб. работе, канд. техн. наук, доц. (ФГОУ ДПО «КПК ТЭК)

Паклина В. М.

П13 Основы алгоритмизации и программирования : учебное пособие /

В. М. Паклина, Е. М. Паклина. Екатеринбург : УрФУ, 2010. 92 с.

ISBN 978-5-321-01811-8

Учебное пособие предназначено для студентов, изучающих базовый курс

«Информатика», и отражает раздел «Основы алгоритмизации и технологии программирования».

В учебном пособии рассматривается понятие алгоритма, его свойства,

основные алгоритмические конструкции. Большое внимание уделяется изучению среды программирования Turbo Pascal 7.0. Учебное пособие содержит указания по выполнению расчетно-графической работы и индивидуальные задания к ней.

Библиогр.: 5 назв. Рис. 28. Табл. 9. Прил. 1.

УДК 004.4(075.8)

ББК 32.973-018я73

ISBN 978-5-321-01811-8

© УрФУ, 2010

 

© Паклина В. М., Паклина Е. М., 2010

Оглавление

 

ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА ..............................................

6

Понятие алгоритма и его свойства ............................................................................

6

Способы описания алгоритмов ..................................................................................

7

ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ...............................

11

Линейная алгоритмическая конструкция ...............................................................

11

Разветвляющаяся алгоритмическая конструкция ..................................................

12

Алгоритмическая структура «выбор» .....................................................................

15

Циклическая алгоритмическая конструкция..........................................................

17

Цикл с параметром .......................................................................................................................

17

Цикл с предусловием....................................................................................................................

18

Цикл с постусловием....................................................................................................................

20

ОБРАБОТКА МАССИВОВ .........................................................................

23

Одномерный массив..................................................................................................

23

Двумерный массив ....................................................................................................

24

Задания для самостоятельной работы .....................................................................

27

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL ..........................................

30

Приемы работы в интегрированной среде Турбо Паскаль ...................................

30

Алфавит языка ...........................................................................................................

32

Данные в языке Турбо Паскаль ...............................................................................

33

Константы и переменные.............................................................................................................

33

Типы данных .................................................................................................................................

33

Операции и функции в языке Турбо Паскаль ........................................................

36

Структура программы...............................................................................................

39

Простейшие операторы языка Паскаль...................................................................

39

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

39

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

40

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

41

Задания для самостоятельной работы .....................................................................

42

Структурные операторы языка Паскаль .................................................................

43

Условный оператор ......................................................................................................................

43

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

44

Оператор цикла с параметром .....................................................................................................

45

Оператор цикла с предусловием .................................................................................................

47

Оператор цикла с постусловием .................................................................................................

48

Задания для самостоятельной работы .....................................................................

51

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

52

Двумерные массивы ..................................................................................................

54

Задания для самостоятельной работы .....................................................................

56

Строки.........................................................................................................................

57

Подпрограммы в Турбо Паскале .............................................................................

58

Процедуры.....................................................................................................................................

58

Функции.........................................................................................................................................

60

Задания для самостоятельной работы .....................................................................

62

ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ РАСЧЕТНО-ГРАФИЧЕСКОЙ

 

РАБОТЫ .....................................................................................................

63

ПРИМЕР ОФОРМЛЕНИЯ ЗАДАНИЙ РАСЧЕТНО-ГРАФИЧЕСКОЙ

 

РАБОТЫ .....................................................................................................

66

Линейная алгоритмическая конструкция ...............................................................

66

Разветвляющаяся алгоритмическая конструкция ..................................................

68

Цикл с параметром ....................................................................................................

70

Цикл с предусловием ................................................................................................

72

Цикл с постусловием.................................................................................................

74

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

76

Двумерные массивы ..................................................................................................

78

ВАРИАНТЫ ЗАДАНИЙ РАСЧЕТНО-ГРАФИЧЕСКОЙ РАБОТЫ ..............

82

Линейная алгоритмическая структура ....................................................................

82

Разветвляющаяся алгоритмическая конструкция ..................................................

83

Циклы..........................................................................................................................

85

4

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

87

Двумерные массивы ..................................................................................................

89

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ...........................................................

91

ПРИЛОЖЕНИЕ. ОБРАЗЕЦ ОФОРМЛЕНИЯ ТИТУЛЬНОГО ЛИСТА

 

РАСЧЕТНО-ГРАФИЧЕСКОЙ РАБОТЫ .....................................................

92

5

ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА

Понятие алгоритма и его свойства

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

Слово «алгоритм» появилось в IX веке, когда европейцы познакомились с работами выдающегося узбекского математика Муххамеда бен аль-Хорезми

(«algorithmi» – латинская форма записи имени аль-Хорезми). В своей книге «Об индийском счете» он сформулировал правила выполнения арифметических действий над десятичными числами. В дальнейшем понятие «алгоритм» стали использовать для обозначения любой последовательности действий,

приводящей к решению поставленной задачи.

При всем разнообразии алгоритмов можно выделить общие для них

свойства: дискретность, массовость, определенность и результативность.

Дискретность (разрывность) – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий

[4, с. 292].

Массовость – применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных [4, с. 292].

Определенность – свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов [4, с. 292].

Результативность конечность действий алгоритма решения задач,

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

6

Способы описания алгоритмов

Разработанный алгоритм можно записать несколькими способами:

на естественном языке (словесное описание);

с помощью псевдокода;

в виде блок-схемы;

в виде программы.

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

Словесная форма имеет ряд недостатков:

строго не формализуема;

страдает многословностью записей;

допускает неоднозначность толкования отдельных предписаний.

Эта форма обычно используется на начальных стадиях разработки алгоритма.

Псевдокод – пошагово-словесная запись алгоритма по определенным правилам или соглашениям. В псевдокоде используется общепринятая математическая символика и конструкции. Он занимает промежуточное место между естественным и формальным языками.

Рассмотрим алгоритм умножения двух чисел, записанный с помощью псевдокода:

1.Ввод a, b.

2.P=a b.

3.Вывод P.

4.Конец.

Примером псевдокода является школьный алгоритмический язык (АЯ).

Основные служебные слова этого языка представлены в табл. 1.

7

Таблица 1

Служебные слова школьного алгоритмического языка

алг (алгоритм)

сим

цел (целый)

для

вывод

ввод

(символьный)

 

 

 

 

 

 

 

 

 

 

 

арг (аргумент)

лит (литерный)

кц (конец

от

нет

или

цикла)

 

 

 

 

 

 

 

 

 

 

 

рез (результат)

лог

дано

до

при

пока

(логический)

 

 

 

 

 

 

 

 

 

 

 

нач (начало)

вещ

надо

и

выбор

иначе

(вещественный)

 

 

 

 

 

 

кон (конец)

нц (начало

все

если

то

знач

цикла)

 

 

 

 

 

 

 

 

 

 

 

Пример записи алгоритма на школьном АЯ:

алг Сумма квадратов (арг цел n, рез цел S)

дано | n > 0

надо | S = 1*1 + 2*2 + 3*3 + ... + n*n

нач цел i

ввод n; S:=0

нц для i от 1 до n S:=S + i*i

кц

вывод "S = ", S

кон

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

показывающими порядок выполнения инструкций.

Рассмотрим основные фигуры, которые используются для построения блок-схем (табл. 2).

8

Таблица 2

Графические объекты блок-схем

Вид графического объекта

Название блока. Комментарии

 

 

Начало

Начало алгоритма

 

Конец

Конец алгоритма

 

Процесс. Внутри блока записывается

<Действие>

действие, вычислительная операция или группа

Ввод/вывод данных с неопределенного

Ввод /

Вывод носителя. Надпись внутри блока: ввод

(вывод) и список вводимых (выводимых)

переменных

Ручной ввод (ввод с клавиатуры)

 

 

 

Дисплей (вывод на монитор)

 

 

 

Документ (вывод на печатающее

 

 

 

устройство)

 

 

 

Решение (условный блок). Условие

Нет

 

Да

записывается внутри блока. В результате

Условие

 

 

 

проверки условия осуществляется выбор

 

 

 

 

 

 

одного из возможных путей

 

 

 

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

9