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

Информатика_ЗФ / Лабораторный практикум по программированию / Лабораторный_практикум_по программированию_3

.pdf
Скачиваний:
134
Добавлен:
22.03.2016
Размер:
624.02 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования

«Южно-Российский государственный университет экономики и сервиса» (ГОУ ВПО «ЮРГУЭС»)

Г.Д. Диброва

ЛАБОРАТОРНЫЙ

ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ

для студентов очной и заочной форм обучения специальностей:

260704 «Технология текстильных изделий»;

260901 «Технология швейных изделий»;

260902 «Конструирование швейных изделий»;

260905 «Технология изделий из кожи»;

260906 «Конструирование изделий из кожи»;

200503 «Стандартизация и сертификация»;

260800 «Технология, конструирование изделий и материалы легкой промышленности»

В четырёх частях

Часть 3

ШАХТЫ Издательство ЮРГУЭС

2008

УДК 004.45(076) ББК 32.973-018.2я73

Д442

 

Рецензенты:

 

д.ф.н., профессор, зав. кафедрой «Информатика»

 

Е.Б. Ивушкина

 

к.э.н., доцент кафедры «Информатика»

 

И.Б. Кушнир

 

Рекомендовано к внутривузовскому изданию

 

редакционно-издательским советом ЮРГУЭС

 

Диброва, Г.Д.

Д442

Лабораторный практикум по программированию : в 4 ч.

 

/ Г.Д. Диброва. – Шахты : Изд-во ЮРГУЭС, 2008. – Ч. 3. – 32 с.

В практикуме программирование базовой управляющей структуры «Цикл» оформлено в виде лабораторной работы. Подробно рассмотрены примеры программирования алгоритмической структуры «Цикл» в среде программирования QBasic (для начинающих программистов) и в среде Visual Basic for Applications (VBA). Дано 30 вариантов заданий для выполнения лабораторной работы. Приведены вопросы для самоконтроля, даны образцы тестовых заданий и 15 задач для самостоятельного выполнения, требования к содержанию отчета. Практикум помогает получить начальные навыки работы в интегрированной среде VBA. Использованные материалы отражают опыт проведения занятий по дисциплине «Информатика».

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

Может быть полезен всем начинающим программистам, самостоятельно осваивающим алгоритмизацию и программирование.

УДК 004.45(076) ББК 32.973-018.2я73

©ГОУ ВПО «Южно-Российский государственный университет экономики и сервиса», 2008

2

СОДЕРЖАНИЕ

 

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

4

Лабораторная работа.

 

Программирование алгоритмов циклической структуры (реализация

 

базовой управляющей структуры «Цикл»).....................................................

5

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

5

Задание А...................................................................................................

5

Задание В ...................................................................................................

5

Задание к работе ...........................................................................................

6

Задание А...................................................................................................

6

Задание B ...................................................................................................

7

Методические указания к выполнению задания А.....................................

8

Табулирование функций...........................................................................

8

Пример выполнения задания A лабораторной работы...............................

8

Методические указания к выполнению задания B...................................

16

Вычисление суммы..................................................................................

16

Вычисление произведения......................................................................

16

Примеры выполнения задания B лабораторной работы...........................

16

Задачи для самостоятельного выполнения................................................

20

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

21

Содержание отчета .....................................................................................

23

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

24

ПРИЛОЖЕНИЕ А. Структура «ЦИКЛ» (циклический вычислительный

 

процесс)..........................................................................

25

ПРИЛОЖЕНИЕ Б. Операторы, реализующие структуру «ЦИКЛ»............

27

3

ВВЕДЕНИЕ

Практикум является продолжением пособия «Лабораторный практикум по программированию» часть 1 и 2 [10, 11]. В нем рассматривается реализация базовой управляющей алгоритмической структуры «Цикл» на алгоритмическом языке QBasic и Visual Basic for Applications (VBA).

Практикум разработан в соответствии с требованиями государственного образовательного стандарта высшего профессионального образования (ГОС ВПО) по направлению подготовки дипломированного специалиста 260704 «Технология текстильных изделий»; 260901 «Технология швейных изделий»; 260902 «Конструирование швейных изделий»; 260905 «Технология изделий из кожи»; 260906 «Конструирование изделий из кожи»; 200503 «Стандартизация и сертификация» в соответствии с учебным планом и примерной программой дисциплины «Информатика» для направлений 550000 «Технические науки» от 28.07.2000 г. Данный стандарт предусматривает в рамках дисциплины «Информатика» изучение алгоритмизации и программирования; языков программирования высокого уровня. Причем перечисленные дидактические единицы являются наиболее трудными для усвоения студентами. При их изучении возникает проблема выбора языка программирования, которая не решается однозначно в пользу объектно ориентированных языков.

Преимущества и недостатки преподавания объектно ориентированных языков были подробно рассмотрены в работе [10]. Объектно ориентированное программирование (ООП) не исключает, а охватывает технологию процедурного программирования.

Практика показывает, что с целью успешного освоения основ алгоритмизации и программирования в запланированное учебным планом время, программированию на объектно ориентированных языках должно предшествовать программирование на языках Рascal или Qbasic, так как они лучше иллюстрируют принципы программирования.

Учитывая необходимость индивидуализации обучения, изложение сначала ведется в рамках процедурного подхода к программированию на примере языка Basic и системы программирования QBasic. Использование языка Basic не является основополагающим, а преследует доступность изложения.

Для студентов, освоивших основы алгоритмизации и программирования в школьном курсе информатики, в качестве языка программирова-

ния предлагается Visual Basic, а точнее – Visual Basic for Applications (VBA). VBA – это версия языка программирования Visual Basic для приложений Microsoft Office. Причины этого выбора объясняются в работе [10].

4

Лабораторная работа ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ (РЕАЛИЗАЦИЯ БАЗОВОЙ УПРАВЛЯЮЩЕЙ СТРУКТУРЫ «ЦИКЛ»)

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

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

Задание А

1.Освоить базовую управляющую структуру «ЦИКЛ». Основные варианты структуры «ЦИКЛ» и операторы, реализующие программное представление данной структуры, представлены в приложении А.

2.Освоить прием программирования: табулирование функции – вычисление и составление таблицы функции при изменении значения аргумента в заданном диапазоне с шагом x.

3.Выяснить возможности алгоритмического языка для организации:

циклов с заданным числом повторений (оператор For-Next);

организации циклов с проверкой в начале цикла, т.е. для организации цикла с предусловием – цикла-ПОКА (оператор

While-Wend);

организации циклов с проверкой условия цикла в начале и/или в конце цикла (оператор Do-Loop).

4.Разработать визуальный алгоритм решения задачи в соответствии

сзаданием и записать его в виде блок-схемы.

5.Составить программу решения задачи.

6.Подготовить тестовые варианты исходных данных для тестирования и отладки программ.

Задание В

1.Освоить приемы программирования – вычисление суммы и вычисление произведения.

2.Разработать визуальный алгоритм решения задачи в соответствии с заданием и записать его в виде блок-схемы.

3.Составить программу решения задачи.

4.Подготовить тестовые варианты исходных данных для тестирования и отладки программ.

5

Задание к работе

Задание А

Вычислить на компьютере значение функции Y(x) при изменении аргумента в указанном диапазоне xn ≤ x xk и с заданным постоянным шагом Δx (табл. 1). Вывести таблицу значений X и Y.

Разработать визуальный алгоритм решения задачи в соответствии со своим вариантом задания (табл. 1) и записать его в виде блок-схемы. Составить программу решения задачи. Произвести ввод, редактирование, тестирование, отладку программы, решение и анализ результатов решения задачи на компьютере.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Варианты заданий А

 

Таблица 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант

 

 

 

 

 

 

 

 

 

 

Функция

 

xn

xk

 

Δx

 

 

Y x

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

x 1

 

 

 

 

 

 

 

 

 

3,0

13,0

 

1,0

 

 

 

 

 

 

 

lnx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Y x

x2

 

sinx

 

 

 

0,0

-6,28

 

0,785

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Y x

 

ex cosx

 

 

 

 

 

 

 

 

 

 

 

 

 

0,0

6,28

 

0,785

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 2

 

 

 

 

 

 

 

 

4

Y x

x2

x 1

 

 

 

0,0

6,28

 

0,785

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sinx 3

 

 

 

 

 

 

 

 

5

Y x

tgx cosx

 

 

 

 

 

 

 

 

 

 

0,0

6,28

 

0,785

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sinx

 

 

 

 

 

 

 

 

 

6

Y x

 

 

 

 

 

 

2x

 

 

 

 

0,785

6,28

 

0,785

 

 

 

 

 

 

 

tgx x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

Y x

 

3x

 

 

 

 

cosx

 

 

 

 

 

 

 

0,785

6,28

 

0,785

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lnx x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

8

Y x ln cos

 

 

 

 

 

 

 

1,0

10,0

 

1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

9

Y x 2sinx

 

1

 

 

 

 

 

 

 

 

 

-1,14

3,14

 

0,785

 

 

 

cosx x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Y x tg

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,0

20,0

 

2,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

11

Y x cosx xsinx

 

 

 

0,0

6,28

 

0,785

 

12

Y x x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,0

1,0

 

0,1

 

 

1 x2cos2x

 

 

 

 

 

4

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

13

Y x

 

 

x

 

 

 

0,785

6,28

 

0,785

 

 

 

 

x2 sinx 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

x

1 e

2x

-5,0

5,0

 

1,0

 

Y x ln e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

Y x e x 2xsin2x

 

-5,0

5,0

 

1,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

Задание B

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

Варианты заданий В.

Вариант 1. Вычислить сумму

20

1

 

 

 

 

1

 

 

 

 

1

 

 

 

 

1

 

 

 

Y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

1 1

2 1

 

 

 

i 1 i 1

 

 

 

 

 

20 1

 

Вариант 2. Вычислить произведение

 

10

 

i

 

 

1

 

 

 

 

1

 

 

 

 

1

 

 

 

Z П

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

10 1

i 1 i 1

 

 

1 1

2 1

 

 

Вариант 3. Вычислить сумму первых десяти натуральных чисел. Вариант 4. Вычислить сумму квадратов первых десяти натуральных

чисел.

5

Вариант 5. Вычислить сумму S 2i.

i 1

Вариант 6. Дано натуральное число n. Вычислить Y=xn по формуле

n

xn x x˙˙ x Пx .

i 1

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

Вариант 8. Вычислить сумму всех четных чисел из интервала (0,20). Вариант 9. Вычислить сумму всех нечетных чисел из интервала

(0,20).

Вариант 10. Вычислить сумму

6

 

1

 

S

 

 

.

 

i3

i 2 i5

 

Вариант 11. Вычислить факториал натурального числа n по формуле

n

Y n! 1 2 3 … n Пi.

i 1

Вариант 12. Вычислить первые десять членов последовательности,

если n-й ее член:

1

an n2 3 .

7

Вариант 13. Найти наибольшее значение функции y 3Sinx . Аргумент X изменяется от 0 до 6.28 с шагом 0.785. Найти значение аргумента, при котором достигается наибольшее значение функции.

Вариант 14. Определить наибольшее значение функции

(x 6)

Y 3 x2 13 на отрезке (-5;5), если x изменяется с шагом h=1. Найти зна-

чение аргумента, при котором достигается наибольшее значение функции. Вариант 15. Вычислить наименьшее значение функции Y(x) sin(x)

при изменении аргумента x от 0 до 3.14 с шагом 0.39. Найти значение аргумента, при котором достигается наименьшее значение функции.

Методические указания к выполнению задания А

Табулирование функций

Классическим примером использования структуры «ЦИКЛ» является задача табулирования функции. Задача табулирования (получение таблицы) некоторой функции y=f(x) сводится к вычислению значений этой функции при параметре цикла х, изменяющемся с постоянным шагом – Dx в заданном диапазоне от начального значения аргумента – Xn до конечного значения Xk. На экран выводится ](Xk – Xn)/Dx[+ 1 пар значений аргумента X с помощью оператора вывода, расположенного внутри тела цикла. Скобки ][ означают, что берется целая часть от деления.

Пример выполнения задания A лабораторной работы

Задание A

Вычислить значение функции Y(x)=x2+ 1,5 при изменении аргумента x в диапазоне Xn ≤ X ≤ Xk с шагом Dx. Вывести таблицу значений X и Y.

Базовая управляющая структура «ЦИКЛ» и её разновидности представлены в приложении А. Для визуального представления алгоритма используем блоки, представленные в работе [10], в приложении Б, в котором указаны обозначение и функциональное назначение некоторых блочных символов графического описания алгоритмов (визуальных алгоритмов).

Визуальное представление алгоритма решения задачи в виде циклаПОКА с предусловием дано на рисунке 1.

Это цикл с заданным числом повторений ](Xk – Xn)/Dx[ + 1. Перед первым выполнением цикла необходимо задать начальное значение аргумента X, равное Xn, а затем ](Xk – Xn)/Dx[ + 1 раз выполнить вычисление и вывод значений функции Y. При каждом новом выполнении цикла необходимо изменять аргумент на величину шага, равного Dx. Чтобы процесс не был бесконечным, необходимо задать условие повторения или окончания цикла.

8

Всхеме циклического алгоритма присутствуют обязательные блоки

вэтих структурах: установка начального значения параметра (блок 4), проверка условия достижения конечного значения параметра (блок 5), изменение параметра (блок 8).

Телом данного циклического процесса являются блоки: 5, 6, 7 и 8. Параметром данного цикла является переменная x.

Представим данную схему циклического алгоритма с помощью цикла типа «ДЛЯ» или цикла с параметром, который является модификацией цикла «ПОКА» для ситуации, когда заранее известно количество повторений некоторых действий (рис. 2). Все три необходимых блока – блок 4, блок 5 и блок 8 собираются в один – блок 4, в котором указывается начальное, конечное значение параметра и шаг изменения.

Рис. 1. Визуальное представление алгоритма табулирования функции в виде цикла типа «ПОКА»

9

На рисунке 2 блок 4 для большей наглядности изображен в «развернутом» виде. Общепринятым является компактное изображение такого блока (рис. 3). Именно такое представление мы будем использовать в дальнейшем.

Рис. 2. Визуальное представление алгоритма табулирования функции в виде цикла типа «ДЛЯ» или цикла с параметром

Рис. 3. Компактное представление цикла с параметром

Программа на языке QBasic

REM ЦИКЛ С ИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ В ЦИКЛЕ INPUT “введите начальное, конечное знач. X и шаг”; XN, XK, DX PRINT “XN =”; XN ; XK=”; XK ;”DX=”; DX

PRINT “ ФУHКЦИЯ Y(X) »

 

PRINT “-------------------------------

 

 

PRINT “:

X :

Y

:”

PRINT “-------------------------------

 

 

FOR X=XN TO XK STEP DX

Y=X^2+1.5

10