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

Информатика. Практикум

.pdf
Скачиваний:
1
Добавлен:
24.11.2025
Размер:
5.18 Mб
Скачать

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

А.Н. Чичко О.А. Сачек О.И. Чичко

ИНФОРМАТИКА. ПРАКТИКУМ

Допущено Министерством образования Республики Беларусь в качестве учебного пособия для студентов высших учебных заведений по техническим специальностям

Минск

БНТУ

2011

УДК 002.6(075.8)

ББК 32.818я7 Ч 72

Р ецензенты :

кандидат технических наук, доцент, заведующий кафедрой программного обеспечения интеллектуальных и компьютерных систем, Гродненского государственного университета имени Янки Купалы В.Г. Родченко; кандидат физико-математических наук, профессор кафедры прикладной математики и информатики, Белорусского государственного педагогического университета имени Максима Танка А.И. Павловский

Чичко, А.Н.

Ч 72 Информатика. Практикум: учебное пособие / А.Н. Чичко, О.А. Сачек, О.И. Чичко. – Минск: БНТУ, 2011. – 399 с.

ISBN 978-985-525-566-7.

Настоящее учебное пособие содержит задачи с решениями, рассматриваемые в рамках программы вузовского курса по информационным технологиям. В нем представлены пошаговые алгоритмы, блок-схемы и программы различных по уровню сложности математических задач. Отличительной чертой издания является наличие подробных решений, а также большое количество оригинальных примеров, позволяющих читателю самостоятельно освоить процесс разработки алгоритма и его реализацию в среде программирования Turbo Pascal. Большое количество предлагаемых вариантов задач делает данное издание эффективным инструментом при организации индивидуальной работы со студентами. Будет полезно студентам очной и заочной форм обучения, желающим быстро научиться разрабатывать алгоритмы и программы, а также слушателям, проходящим курс переподготовки по дисциплинам, связанным с информационными технологиями.

УДК 002.6 (075.8) ББК 32.818 я7

ISBN 978-985-525-566-7

© Чичко А.Н.,

Сачек О.А.,

 

Чичко О.И.,

2011

 

© БНТУ, 2010

 

ОГЛАВЛЕНИЕ

 

ВВЕДЕНИЕ .............................................................................................

8

1. ЗАДАЧИ ПО РАЗРАБОТКЕ АЛГОРИТМОВ И ПРОГРАММ....

10

1.1. Линейные вычислительные процессы .....................................

10

1.2. Циклические вычислительные процессы ................................

11

1.3. Вычислительные процессы с использованием процедур ......

16

1.4. Алгоритмы и программы табуляции функции .......................

17

1.5. Алгоритмы и программы для обработки массивов ................

23

1.6. Алгоритмы и программы для нахождения сумм

 

и произведений функциональных выражений...............................

37

1.7. Алгоритм и программа метода пузырьковой сортировки .....

40

1.8. Алгоритмы и программы с использованием

 

элементов теории множеств ............................................................

44

2. ЗАДАЧИ ПОВЫШЕННОЙ СЛОЖНОСТИ

 

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

61

2.1. Задачи с элементами теории множеств ...................................

61

2.2. Задачи табуляции функций нескольких переменных ............

66

2.3. Задачи с использованием массивов

 

различной размерности ....................................................................

74

2.4. Задачи по вычислению функциональных выражений

 

с использованием сложных сумм и произведений........................

95

2.5. Задача по вычислению функции, заданной в интервале .....

103

2.6. Задачи по нахождению суммы конечного

 

и бесконечного функциональных рядов.......................................

105

2.7. Задачи с использованием двойных сумм и произведений...

111

2.8. Задача с использованием процедур и функций

 

для двумерного массива.................................................................

113

2.9. Задача с элементами линейного программирования............

117

3. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ

 

НА ПЕРСОНАЛЬНОМ КОМПЬЮТЕРЕ .........................................

124

3.1. Решение систем линейных уравнений...................................

124

3.1.1. Задача с использованием матричного метода.............

124

3.1.2. Задача с использованием метода Крамера ..................

130

3.1.3. Задача с использованием метода Гаусса .....................

134

3

3.2. Решение нелинейных уравнений ...........................................

138

3.2.1. Задача с использованием метода дихотомии .............

138

3.2.2. Задача с использованием метода хорд ........................

142

3.2.3. Задача с использованием метода касательных...........

144

3.3. Аппроксимация табличных данных методом

 

наименьших квадратов...................................................................

148

3.4. Дифференцирование и интегрирование

 

табулированных функций..............................................................

153

3.5. Решение дифференциальных уравнений...............................

160

3.5.1. Задача с использованием метода Эйлера ....................

160

3.5.2. Задача с использованием метода Рунге-Кутта ...........

163

4. ВЫЧИСЛИТЕЛЬНЫЕ ТЕХНОЛОГИИ РЕШЕНИЯ

 

ЗАДАЧ В MS EXCEL.........................................................................

174

4.1. Решение системы линейных уравнений

 

матричным методом .......................................................................

174

4.2. Решение нелинейных уравнений и систем............................

182

4.2.1. Задача решения нелинейного уравнения

 

методом дихотомии ................................................................

182

4.2.2. Задача решения нелинейного уравнения

 

методом хорд ...........................................................................

188

4.2.3. Задача решения нелинейного уравнения

 

методом касательных..............................................................

192

4.2.4. Задача решения нелинейного уравнения

 

методом простых итераций ....................................................

197

4.2.5. Задача решения нелинейного уравнения

 

с помощью надстройки «Поиск решения» ...........................

199

4.3. Аппроксимация полиномами табулированных функций ....

203

4.4. Численное дифференцирование

 

и интегрирование функций............................................................

219

4.5. Решение дифференциальных уравнений...............................

227

4.5.1. Решение дифференциальных уравнений

 

методом Рунге-Кутта ..............................................................

227

4.5.2. Решение дифференциального уравнения

 

методом Эйлера.......................................................................

231

4.5.3. Решение дифференциальных уравнений

 

с частными производными методом конечных разностей ..

233

4

4.6. Решение задач оптимизации с использованием

 

надстройки MS EXCEL «Поиск решения» ..................................

239

5. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ...................

243

5.1. Задачи по разработке алгоритмов и программ

 

с использованием разветвляющихся процессов ..........................

243

5.2. Задачи по разработке алгоритмов и программ

 

с использованием циклических процессов...................................

247

5.3. Задачи по разработке алгоритмов и программ

 

для обработки матриц.....................................................................

248

5.4. Задачи по разработке алгоритмов и программ

 

для вычислений сложных сумм.....................................................

249

5.5. Задачи по разработке алгоритмов и программ

 

для решения нелинейных уравнений ............................................

253

5.6. Задачи по разработке алгоритмов и программ

 

для аппроксимации табулированных функций............................

255

5.7. Задачи по разработке алгоритмов и программ

 

для численного интегрирования и дифференцирования

 

функции ...........................................................................................

259

5.8. Задачи по разработке алгоритмов и программ

 

для численного решения дифференциальных уравнений...........

260

5.9. Задачи по разработке технологии численного решения

 

уравнений в частных производных в MS EXCEL .......................

261

5.10. Задачи по разработке технологии решения

 

системы линейных уравнений в MS EXCEL ...............................

264

5.11. Задачи по разработке технологии решения

 

нелинейных уравнений в MS EXCEL ...........................................

270

5.12. Задачи по разработке технологии аппроксимации

 

полиномов табулированных функций в MS EXCEL...................

272

5.13. Задачи по разработке технологии численного

 

дифференцирования функций в MS EXCEL................................

276

5.14. Задачи по разработке технологии интегрирования

 

функций в MS EXCEL....................................................................

279

5.15. Задачи по разработке технологии решения

 

дифференциальных уравнений методом Рунге-Кутта

 

в MS EXCEL....................................................................................

283

5.16. Задачи по разработке технологии решения задачи

 

оптимизации методом простых итераций в MS EXCEL.............

285

5

РЕКОМЕНДУЕМЫЕ УЧЕБНЫЕ ПОСОБИЯ

 

ДЛЯ СТУДЕНТОВ .............................................................................

290

ПРИЛОЖЕНИЯ ..................................................................................

292

ПРИЛОЖЕНИЕ 1. КРАТКИЕ СВЕДЕНИЯ О ЯЗЫКЕ PASCAL ..

292

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

292

П 1.2. Элементарные конструкции................................................

292

П 1.3 Структура программы на языке Pascal ...............................

295

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

296

П 1.5. Основные операторы языка Pascal .....................................

301

П 1.6. Использование стандартных процедур и функций

 

модулей Crt и Graph в языке Pascal...............................................

309

П 1.7. Процедуры и функции пользователя .................................

317

П 1.8. Интегрированная среда Turbo Pascal .................................

328

П 1.9. Работа в интегрированной среде Turbo Pascal ..................

330

П 1.10. Правила и примеры построения схем алгоритмов .........

334

П 1.11. Представление схем алгоритмов

 

с помощью Microsoft Word ............................................................

342

П 1.12. Представление схем алгоритмов с помощью

 

программы Microsoft Visio.............................................................

350

П 1.13. Пояснения к решению некоторых задач пособия ...........

352

ПРИЛОЖЕНИЕ 2 ...............................................................................

357

П 2.1. Основные теоретические сведения о численных

 

методах решения систем линейных уравнений ...........................

357

П 2.1.1. Матричный метод ..................................................

357

П 2.1.2. Метод Крамера .......................................................

361

П 2.1.3. Метод Гаусса ..........................................................

366

П 2.2. Основные теоретические сведения

 

о численных методах решения нелинейных уравнений .............

372

П 2.2.1. Метод дихотомии...................................................

373

П 2.2.2. Методы Ньютона

 

(метод хорд и метод касательных) .....................................

375

П 2.2.3. Метод простых итераций ......................................

379

П 2.3. Основные теоретические сведения

 

о численных методах аппроксимации ..........................................

380

6

П 2.4. Основные теоретические сведения

 

о численных методах дифференцирования

 

табулированных функций ..............................................................

382

П 2.5. Основные теоретические сведения о численных

 

методах интегрирования табулированных функций ...................

384

П 2.6. Основные теоретические сведения о численных

 

методах решения обыкновенных дифференциальных

 

уравнений ........................................................................................

387

П 2.6.1. Метод Эйлера .........................................................

388

П 2.6.2. Метод Рунге-Кутта ................................................

390

П 2.7. Основные теоретические сведения о численных

 

методах решения дифференциальных уравнений в частных

 

производных....................................................................................

394

7

ВВЕДЕНИЕ

Современный уровень требований к инженерам технического профиля предполагает хорошее знание ими методов алгоритмизации и решения сложных математических задач. Современный инженер должен уметь перевести техническую задачу в алгоритмическое представление, на основе которого ее можно решить. Составление алгоритма – самый сложный этап творчества, часто вызывающий трудности у студентов, изучающих курс информационных технологий. Поэтому в данном учебном пособии рассмотрена целая группа алгоритмов, начиная от простых и заканчивая сложными, которые связаны с компьютерными методами и технологиями. В качестве инструментария для реализации рассматриваемых алгоритмов использованы MS Excel и Turbo Pascal. Несмотря на то, что по дисциплине «Информационные технологии» имеется большое количество учебной литературы, практикумы с подробными решениями задач по информационным технологиям являются скорее исключением, чем правилом. Опыт работы авторов со студентами показывает необходимость таких учебных пособий, которые позволяют без помощи преподавателя научиться разрабатывать алгоритмы и решать задачи хотя бы на одном языке программирования. Приобретя основные навыки по этим вопросам, обучающийся способен сложнейшие задачи осваивать самостоятельно.

Отличительной чертой пособия является множество упражнений и задач с решениями, что позволяет студентам самостоятельно освоить многие вопросы информационных технологий. В пособии представлено около 50 вариантов различного класса математических задач, что будет полезным для преподавателя, так как позволяет наиболее эффективно организовать индивидуальную работу со студентами. Многие задачи рассмотрены настолько подробно, что становятся полезными для слушателей как дневного, так и заочной форм обучения. Учебное пособие может быть использовано для студентов, занимающихся в учреждениях, использующих дистанционную форму обучения по дисциплинам, связанным с информационными технологиями.

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

8

грамм, которые являются введением в процесс алгоритмизации. Во втором разделе представлены сложные математические задачи по составлению алгоритмов и программ, которые являются оригинальными. В третьем и четвертом разделах рассмотрены численные методы решения задач на персональном компьютере (ПК) с использованием языка программирования Pascal и возможностей MS Excel, причем подробные решения позволяют неподготовленному читателю освоить основные методы вычислений, используемые в прикладной математике. В пятом разделе представлены индивидуальные задания, которые могут быть использованы преподавателем в курсовом и дипломном проектировании.

В приложениях пособия приведены краткие сведения, необходимые для освоения численных методов, разработки алгоритмов (правила и примеры построения, алгоритм процесса построения алгоритмов с помощью MS Word и MS Visio) и программ (операторы, процедуры и функции языка Pascal, приемы работы в среде Turbo Pascal), дающие читателю математические основы для решения задач курса по информационным технологиям.

9

1. ЗАДАЧИ ПО РАЗРАБОТКЕ АЛГОРИТМОВ И ПРОГРАММ

1.1. Линейные вычислительные процессы

Задача 1.1. Разработать схему алгоритма и программу для вычисления площади треугольника S по заданным с клавиатуры значениям стороны a и высоты h, проведенной к этой стороне. Значение площади вывести на экран.

Решение задачи

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

формуле S a2h .

Разработанная схема алгоритма представлена на рис. 1.1. Изображенные на рисунке символы пронумерованы.

1

Начало

 

2

 

 

 

Ввод

Ввод данных

 

a, h

 

 

3

 

 

 

S=ah/2

 

4

 

 

 

Вывод

Вывод данных

 

S

в удобном виде

5

Конец

 

 

 

Рис. 1.1

10