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

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

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

Вариант 3. Вычислить сумму значений функции у=x^2 на отрезке

[1,5] c шагом 1.

Вариант 4. Протабулировать функцию y=sin(x) на отрезке [0, 6.28] с шагом h=0.785. Вывести все положительные значения функции.

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

Вариант 6. Дано натуральное число N. Вычислить: .

Вариант 7. Дано натуральное число N. Вычислить . Вариант 8. Вывести значения функции z=xk/k, которые больше a и

значения k, при которых это условие выполняется. k=1, 2, 3, …, n. Переменные n, x и a вводятся.

Вариант 9. Протабулировать функцию y=sin(x) на отрезке [0, 6.28] с шагом h=0.785. Вывести все отрицательные значения функции.

Вариант 10. Старик поймал в первый год 3 золотые рыбки, а каждый следующий год ловил на одну рыбку больше. Сколько золотых рыбок он поймал за 33 года?

Вариант 11. Вычислить сумму квадратов нечетных чисел из интервала от 1 до 10.

Вариант 12. Вычислить S=22+24+26+28+210.

Вариант 13. Расход бензина на 100 км пути в среднем составляет 9 л. Составить таблицу стоимости бензина для расстояний 200 км, 400 км, 600 км, 800 км и 1000 км, если цена одного литра равна x руб.

Вариант 14. Вычислить таблицу перевода температуры из градусов по шкале Цельсия (C) в градусы по шкале Фаренгейта (F) для значений температуры от 35 до 40 C с шагом 1 C, используя формулу перевода

F=1.8*C+32.

Вариант 15. Вычислить S= (3n+3) + (3n+6) + (3n+9) + ...+ (3n+30),

где n – целое число.

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

1.Назовите базовую управляющую структуру, реализующую циклический вычислительный процесс.

2.Назовите разновидности алгоритмической структуры (базовой управляющей структуры) «ЦИКЛ» и отличительные особенности каждой из них.

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

21

4.Можно ли выйти из цикла For до его завершения и если можно, то как?

5.Можно ли выйти из цикла Do до его полного выполнения по дополнительному условию оператором Goto метка ?

6.Можно ли закончить цикл For до завершения цикла Do, если цикл Do находится внутри цикла For?

7.Сколько конструкций имеет цикл Do в языке Basic?

8.Назначение цикла While...Wend?

9.Определите значение целочисленной переменной S после выполнения фрагмента алгоритма

S=128

I=1,4,1

Вывод S

S=S-3

10.Укажите, какой результат будет выведен на экран при выполнении следуюшего фрагмента программы:

For t=1 To 7

Print t;t+2;

Next t

11.Укажите, какой результат будет выведен на экран при выполнении следуюшего фрагмента программы:

For f=0 To 9 Step 3

Print 2*f;f*f;

Next f

12.Определите, сколько раз будет выполнено тело цикла в приведенном фрагменте

For i = 2 To n Step 1 s = s + i

Next i

при n, равном: а) 2; б) 0; в) 4; г) 5.

13.Определите значение переменной a после выполнения каждого из фрагментов алгоритма:

1) a = 0

2) a = 1: n = 7

3) a = 0

For i =1 To 7

For i = n To 2 Step –1

For i = 2 To 7

a = a + i

a = a + i

a = a + i

Next i

Next i

Next i

22

14.Определите значение переменной с после выполнения каждого из фрагментов программы:

1) c=0

2) c=1

3) c=0

For i=1 To 4

For i=1 To 4 Step 2

For i=2 To 5 Step 2

c=c+(i+2)

c=c*(i+1)

c=c+i^2

Next i

Next i

Next i

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

1.Тема работы.

2.Цель работы.

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

4.Визуальное представление алгоритмов.

5.Экранная форма (при программировании на VBA).

6.Программный код.

7.Результаты выполнения программ.

8.Файлы протестированных и отлаженных программ на электронном носителе.

23

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

Основная литература

1.Информатика: базовый курс [Текст] : учеб. пособие для вузов / под ред. С.В. Симоновича. – 2-е изд. – СПб. : Питер, 2005. – 640 с. : ил.

2. Информатика [Текст] : учебник для вузов / Н.В. Макарова, Л.А. Матвеев, В.Л. Бройдо [и др.] ; под ред. Н.В. Макаровой. – Изд. 3-е, перераб. – М. : Финансы и статистика, 2006. – 768 с. : ил.

3.Каймин, В.А. Информатика [Текст] : учебник для вузов / В.А. Каймин. – 4-е изд., перераб. и доп. – М. : ИНФРА-М, 2005. – 285 с.

Дополнительная литература

4.Назаров, С.В. Программирование на MS Visual Basic [Текст] : Рек. УМО по образованию в обл. экономики, статистики, информ. систем и математ. методов в экономике в качестве учеб. пособия для студ. экон. вузов, обучающихся по спец. «Финансы и кредит» / С.В. Назаров, П.П. Мельников ; под ред. С.В. Назарова. – М. : Финансы и ста-

тистика, 2003, 2002. – 320 с.

5.Иванова, Г.С. Основы программирования [Текст] : допущено МО РФ в качестве учебника для студ. вузов, обучающихся по напр. «Информатика и вычислительная техника» спец. «Вычислительные машины, комплексы, системы и сети», «Автоматизированные системы обработки информации и управления», «Программное обеспечение вычислительной техники и информационных систем» / Г.С. Иванова. – 2-е изд., перераб. и доп. – М. : Изд-во МГТУ им. Н.Э. Баумана, 2002. – 416 с.

6.Экономическая информатика и вычислительная техника [Текст] : учебник для вузов / под ред. В.П. Косарева и Л.В. Еремина. – М. : Финансы и статистика, 2002. – 592 с.

7.Данова, Н.С. Электронный учебник по информатике / Н.С. Данова,

В.А. Лихачев. – URL: http://bsu.edu.ru:8801/projects/inf/default.htm.

8.Новиков, Ф.А. Microsoft Office XP в целом [Текст] / Ф.А. Новиков, А.Д. Яценко. – СПБ. : БХВ-Петербург, 2002. – 928 с.

9.Каммингс, С. VBA для «чайников» [Текст] : учеб. пособие / пер. с англ. С. Каммингса. – М. : Вильямс, 2000. – 384 с.

Методические разработки ЮРГУЭС

10.Диброва, Г.Д. Лабораторный практикум по программированию : в 4 ч. [Текст] : практическое пособие / Г.Д. Диброва. – Шахты : Изд-во ЮРГУЭС, 2007. – Ч. 1. – 32 с.

11.Диброва, Г.Д. Лабораторный практикум по программированию [Текст] : в 4 ч. / Г.Д. Диброва. – Шахты : Изд-во ЮРГУЭС, 2008. –

Ч. 2. – 35 с.

24

ПРИЛОЖЕНИЕ А (обязательное)

Структура «ЦИКЛ» (циклический вычислительный процесс)

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

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

Алгоритмическая структура (базовая управляющая структура) «ЦИКЛ» имеет несколько разновидностей. Они представлены на рисунках А.1, А.2 и А.3. Примем следующие обозначения: B – выражение, которое может быть оценено как истинное (не ноль) или ложное (ноль). S – операции, группы операций или алгоритмические структуры.

На рисунке А.2 показан цикл типа «ПОКА» с предусловием. Действия внутри этого цикла повторяются, пока выражение B в блоке ветвления истинно, причем сначала проверяется условие, а затем выполняется действие S.

Вцикле с постусловием типа «ДО» (рис. А.1) проверка условия выхода из цикла выполняется после очередного действия. Цикл «ДО» выполняется до тех пор, пока условие не станет истинным.

Обязательными блоками в этих структурах являются: установка начального значения параметра; проверка условия достижения конечного значения параметра; изменение параметра. Отличаются они способом проверки окончания цикла.

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

водин, в котором указывается начальное, конечное значение параметра и шаг изменения. Запись в блоке заголовка цикла на рисунке А.3 показывает пример описания заголовка цикла, в котором действия повторяются столько раз, сколько целых значений приобретает параметр цикла i от своего начального значения iн до конечного iк с шагом iш. Шаг не указывается, если он равен 1.

25

 

Do S while B

While S do B

 

 

 

 

 

Вход

 

 

 

 

 

 

 

 

Вход

 

 

 

 

 

 

 

Вход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

No

 

i=i

н,iк,i

ш

 

Yes

 

 

 

 

S

 

 

 

 

 

 

 

 

B

No

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y es

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

Yes

 

 

 

 

 

 

 

 

 

 

 

 

 

Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выход

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

No

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выход

 

 

 

 

 

 

 

Рис. А.3. Использование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. А.1. Структура

Рис. А.2. Структура

символа «модификация»

 

«ЦИКЛ-ДО»

«ЦИКЛ-ПОКА»

 

 

 

 

 

 

 

 

 

 

 

 

26

ПРИЛОЖЕНИЕ Б (обязательное)

Операторы, реализующие структуру «ЦИКЛ»

При реализации структуры «ЦИКЛ» многократно выполняются отдельные группы операторов определенное число раз. Поэтому при организации циклических операций необходимы средства, позволяющие выделять повторяемые группы операторов, считать число повторений и в нужный момент прекратить выполняемые операции. При этом должно быть обеспечено изменение значений определенных переменных при повторении операций. Циклический алгоритм можно реализовать с помощью условного перехода IF. Однако в языке Basic существуют операторы, специально предназначенные для составления программ циклических алгоритмов. Это операторы цикла:

оператор For-Next;

оператор While-Wend;

оператор Do-Loop.

Оператор For-Next

Оператор цикла For-Next определяет цикл с автоматическим увеличением (или уменьшением) счетчика цикла.

Используется для организации циклов с заданным числом повторений, т.е. для организации цикла – ДЛЯ.

Синтаксис:

FOR переменная = x TO y [STEP z] [блок_операторов] – тело цикла NEXT [переменная [,переменная]...]

Параметр «переменная» – числовая переменная, используемая как счетчик цикла. X, y и z – числовые выражения. X задает начальное значение счетчика, y задает конечное значение счетчика, z задает величину приращения счетчика после каждого цикла.

Блок_операторов – один или несколько операторов языка BASIC, которые будут циклически выполняться.

Строки программы, следующие за оператором For (тело цикла), исполняются до тех пор, пока не встретится оператор Next. Тогда заданная переменная цикла увеличивается на z. Если z опущено, то приращение равно 1. Каждый раз выполняется проверка, не превышает ли счетчик заданного конечного значения y (или для отрицательных z меньше или равен y), после чего цикл заканчивается.

Циклы For-Next выполняются быстрее при целочисленных значениях счетчика и констант x, y и z.

27

‘ next n будет работать также, но не Next m

Тело цикла обходится, если начальное значение x превышает его конечное значение y или если z – отрицательное и x меньше, чем y.

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

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

1) вложенные 2) последовательные 3) пересекающиеся – запрещены

Следующая программа имеет пересекающиеся циклы и не будет компилироваться:

For j = 1 To 10

For i = 1 To 20

.

.

.

Next j

Next i

Если несколько циклов оканчиваются в одной и той же точке, достаточно одного оператора Next, содержащего переменные всех счетчиков.

For j = 1 To 10

For i = 1 To 2 0

.

.

.

next i, j

Переменная счетчика в операторе Next может быть опущена, но если она включена, то она должна быть переменной, соответствующей нужному счетчику.

Например:

For n = 1 to 10

.

.

.

Next

28

В программировании операторы, находящиеся между For и Next, рекомендуется располагать с отступом на два или три пробела от края, выделяя таким образом структуру цикла. Хотя компилятору это безразлично.

Если необходимо выйти из цикла до его завершения, используется оператор Еxit For.

Оператор While-Wend

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

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

Синтаксис:

While условие

[блок_операторов] – тело цикла

Wend

Если значение условие – ИСТИНА (т.е. оно не равно нулю), выполняются все операторы, заключенные между While и завершающим Wend – тело цикла. Затем Basic выполняет переход на оператор While и повторяет проверку. Если результат все еще ненулевой, снова выполняются операторы тела цикла. Этот процесс повторяется до тех пор, пока проверяемое выражение не дает в результате ноль (ЛОЖЬ), после чего управление передается оператору, следующему за Wend.

Если значение «условие» является ЛОЖЬ (нуль) при первой проверке, то не выполняется ни один из операторов тела цикла.

Циклы, построенные с помощью операторов While/Wend, могут быть вложенными (заключены один в другой). Каждому Wend соответствует ближайший оператор While. Чтобы сделать более наглядной структуру построенного цикла, рекомендуется сдвигать операторы, заключенные между While и Wend, на два или три пробела вправо (для компилятора это значения не имеет).

Чтобы выйти из цикла While/Wend до его завершения, используется оператор Exit While.

Оператор Do-Loop

Оператор Do/Loop позволяет создать одну из наиболее современных конструкций программирования.

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

Синтаксис:

DO [{WHILE } условие | UNTIL} условие] [блок_операторов]

LOOP [{WHILE условие | UNTIL} условие]

29

Повторяет блок операторов, пока условие верно, или до тех пор, пока условие не станет верным.

Аргумент «условие» задает числовое выражение, ненулевое значение которого воспринимается как ИСТИНА, а нулевое – как ЛОЖЬ.

Зарезервированные слова Do и Loop используются для построения цикла во всех случаях. Они позволяют создавать циклы с проверкой условия его окончания в начале цикла, в конце, с обеих сторон или нигде. Оператор Do должен всегда иметь парный оператор Loop в конце цикла.

Конструкция «While условие» заставляет повторять тело цикла до тех пор, пока значение выражения ИСТИНА и заканчивать при значении ЛОЖЬ.

Конструкция «Until условие» дает противоположный эффект, т.е. приводит к повтору цикла, если значение выражения ЛОЖЬ до тех пор, пока значение выражения не станет ИСТИНА.

Общий синтаксис оператора Do...Loop можно представить в виде следующих форм записи:

Do While условие

Тело цикла выполняется до тех пор,

[блок_операторов]

пока условие – ИСТИНА (может не

Loop

выполниться ни разу).

Do Until условие

Тело цикла выполняется до тех пор,

[блок_операторов]

пока условие – ЛОЖЬ (может не

Loop

выполниться ни разу).

Do

Тело цикла выполняется до тех пор,

[блок_операторов]

пока условие – ИСТИНА (выпол-

Loop While условие

нится хотя бы один раз).

Do

Тело цикла выполняется до тех пор,

[блок_операторов]

пока условие – ЛОЖЬ (выполнится

Loop Until условие

хотя бы один раз).

Например, оператор:

Do While a =13

.. операторы

.Loop

выполняет операторы между Do и Loop до тех пор, пока а равно 13. Этот цикл дает тот же эффект, что и следующий оператор While-Wend.

While a =13

.

.

.

Wend

30