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

Приемы программирования в среде Visual Basic for Application. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
12. Даны два числа. Вывести на экран первое число, если оно боль-
<
−
(
)
=
−
(
)
ше второго, и оба числа, если это не так.
13. Даны две переменные вещественного типа: A, B. Перераспреде-
лить значения данных переменных так, чтобы в A оказалось мень­шее из значений, а в B - большее. Вывести новые значения пере­менных A и B.
14. Даны четыре числа. Найти разницу между максимальным ц ми-
нимальным числами.
15. Даны две переменные целого типа: A и B. Если их значения не
равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
16. Даны три числа. Меньшее из этих чисел заменить их полусум-
мой, а большее - удвоенным произведением.
17. Даны три числа. Найти сумму двух наибольших из них.
18. Даны три числа. Выяснить, существует ли треугольник с таки-
ми сторонами. (Условие существования треугольника следующее: сумма любых двух сторон треугольника должна быть больше третьей стороны.)
а) 3, 4, 5;
b) 10, 8, 3.
19. При выполнении условия
противном случае проверить условие ется, вычислить
2/yxz +=
, в противном случае z=3.2.
0yx
вычислить
0yx
и если оно выполня-
12/yxz ++=
, в
20. Для данного целого x найти значение следующей функции f,
принимающей значения целого типа:
><⋅
( )
xf
=
⋅−
2 xили -2 хесли ,2xx
случае противном в ,3
Оператор выбора
1. Составить программу, которая и зависимости от порядкового но-
мера дня недели (1. 2. .... 7) выводит на экран его название (поне-
дельник вторник .... воскресенье).
2. Дано целое число K. Вывести строку-описание оценки, соответст-
вующей числу K (1 - «плохо», 2 - «неудовлетворительно», 3 ­«удовлетворительно», 4 - «хорошо», 5 - «отлично»). Если K не ле­жит в диапазоне 1–5, то вывести строку «ошибка».
- 91 -
3. Дан номер месяца - целое число в диапазоне 1–12 (1 - январь, 2 -
февраль и т.д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).
4. В киоске продается газета стоимостью 3 рубля и журнал стоимо-
стью 20 рублей. Составить программу, которая спрашивает, что вы хотите купить, принимает деньги и выдает сдачу.
5. Составить программу, моделирующую работу продавца морожено-
го с выбором сорта мороженого.
6. Арифметические действия над числами пронумерованы следую-
щим образом: 1 - сложение, 2 - вычитание, 3 - умножение, 4 - де­ление. Дан номер действия N (целое число в диапазоне 1–4) и ве­щественные числа A и B (В не равно 0). Выполнить над числами указанное действие и вывести результат.
7. Пусть элементами круга являются радиус (первый элемент), диа-
метр (второй элемент), длина окружности (третий элемент). Соста­вить программу, которая по номеру элемента и по его значению вычисляла бы площадь круга.
8. Дата некоторого дня характеризуется двумя натуральными числа-
ми m (порядковый номер месяца) и n (число). По заданным m и n
определить: а) дату предыдущею дня (принять, что m и n не характеризуют 1 января); б) дату следующего дня (принять, что m и n не характеризуют 31 декабря).
9. Для натурального числа k напечатать фразу "мы нашли k грибов в
лесу", согласовав окончание слова "гриб" с числом k.
10. Работа светофора для водителей запрограммирована следующим
образом: начиная с начала каждого часа, в течение трех минут го-
рит зеленый сигнал, затем в течение одной минуты - желтый, в те-
чение двух минут - красный, в течение трех минут - опять зеленый
и т.д. Дано вещественное число t, означающее время в минутах,
прошедшее с начала очередного часа. Определить, сигнал какого
цвета горит для водителей в этот момент.
Цикл с параметром: группа For
1. Даны два целых числа A и B (A < B). Вывести в порядке убывания
все целые числа, расположенные между A и B (не включая числа A
и B), а также количество N этих чисел.
- 92 -
a
!
13x!
11x!
9x!
7x!
5x!
3
()()()(
)
−−−
−
=+=
=
=+=+===
5
()(
)
!
k
+−−
−
2n
−==
−
1n21
21
 
2. Дана числовая последовательность
12
2Cos
a,
a
 
15
3Sin
a,...,
Найти сумму отрицательных элементов при n=100.
3. Даны два целых числа A и B (A < B). Найти произведение всех це-
лых чисел от A до B включительно.
4. Даны два целых числа A и B (A < B). Найти сумму квадратов всех
целых чисел от A до B включительно.
1
1
1
1
5. Дана числовая последовательность
1
 
7
,
,
,
13
11
9
,
15
,...
. Найти произве-
дение членов последовательности от пятого до двадцать пятого.
13119753
.
+−+−+−
6. Дано действительное число х. Вычислить
x
x
7. Дано целое число (N > 1) и две вещественные точки на числовой
оси: A, B (A < B). Отрезок [A, B] разбит на N равных отрезков.
Вывести H - длину каждого отрезка, а также набор точек A, A + H,
A + 2·H, A + 3·H, …, B, образующий разбиение отрезка [A, B].
64х8х4х2х
.
63х7х3х1х
−−−−
8. Дано действительное число х. Вычислить
K
( )( )( ) ( )
K
.
9. Пусть
1kk0
−
K,2,1k,k/1kaа;1а
Дано натуральное n. Полу-
чить an .
10. Пусть
ральное n. Найти
11. Пусть
рого
1k1kk1k1kk11
−−−−
n
∑
( )
=
1k 3
x2
−
1k
x;1x
==
k0
5
−
10xx
<−
1nn
−
−
.
k
2
2
2
++
k
=
.
!kba1
k
K
,2,1k,
Найти первый член хn, для кото-
K,3,2k,ba2ba2b3a;1ba
Дано нату-
12. Даны действительные числа а, b, натуральное число n (b>а). По-
1
 
 
 
лучить (f1 + ... + fn)⋅h, где
ab
−
h
=
n
f,
=
i
13. Даны целые числа n, k (n≥k≥0). Вычислить
h
ia
−+
2
2
1
 
h
ia1
−++
2
K
1kn1nn
.
n,,2,1i,
K=
.
Цикл с условием: группа While
1. Даны положительные числа A и B (A > B). На отрезке длины A
размещено максимально возможное количество отрезков длины B
(без наложений). Не используя операции умножения и деления,
найти длину незанятой части отрезка A.
- 93 -
2. Дано целое число m> 1. Получить наибольшее целое k, при кото-
3
ром 4⋅k< m.
3. Дано натуральное число n. Получить наименьшее число вида 2⋅r,
превосходящее n.
4. Спортсмен в первый день пробежал 10 км. Каждый следующий
день он увеличивал дневную норму на 10% от результата преды­дущего дня. Найти какой путь пробежит спортсмен в 7-й день.
5. Сколько чисел нужно взять в последовательности 1+2+3+4+ … ,
чтобы получить число, большее чем N.
6. Вычислить наибольшее целое положительное число а удовлетво-
ряющее условию 3⋅a2-127⋅a<0.
7. Дано целое число (N > 0). Найти наименьшее целое положитель-
ное число K, квадрат которого превосходит N: K2 > N. Функцию извлечения квадратного корня не использовать.
∞
1
=
)x(S
8. Дана числовая последовательность
∑
.Подсчитать сумму с
2
n
=
1n
точностью 0,00000001.
9. Начальный вклад в банке равен 1000 руб. Через каждый месяц
размер вклада увеличивается на P процентов от имеющейся сум­мы (P - вещественное число, 0 < P < 25). По данному P опреде­лить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итого­вый размер вклада S (вещественное число).
10. Спортсмен-лыжник начал тренировки, пробежав в первый день
10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P - вещественное, 0< P <50). По данному P определить, после какого дня суммар-
ный пробег лыжника за все дни превысит 200 км, и вывести най­денное количество дней K (целое) и суммарный пробег S (веще­ственное число).
11. Дано число a (1 <а≤ 1.5) Из чисел 1 + ½,
1
1+
, … напечатать те,
которые не меньше а.
12. Среди чисел 1, 4, 9, 16, 25, ... найти первое число, большее n.
Массивы
1. Заполнить массив х нулями. (Это означает, что нужно составить
фрагмент программы, после выполнения которого все значения х[1] - х[n] равнялись бы нулю, независимо от начального значе-
- 94 -
ния переменной х.
=<≤
−==
2. Найти максимальное число, встречающееся в заданном векторе
х[1] … х[n].
3. Ввести и напечатать значения элементов массива целого типа с
заданной размерностью. Вычислить и напечатать сумму элемен­тов массива, расположенных до минимального элемента.
4. Ввести и напечатать значения элементов массива вещественного
типа с заданной размерностью. Упорядочить массив по возраста­нию значений элементов. Отсортированный массив напечатать.
5. Ввести и напечатать значения элементов массива вещественного
типа с заданной размерностью. Преобразовать массив таким обра­зом, чтобы в первой половине располагались элементы, стоящие в четных позициях, а во второй половине - элементы, стоящие в не­четных позициях. Модифицированный массив напечатать.
6. Ввести и напечатать значения элементов массива целого типа с за-
данной размерностью. Преобразовать массив таким образом, чтобы нулевые элементы располагались в конце массива. Модифициро­ванный массив напечатать.
7. Для заданной квадратной матрицы найти минимум среди сумм
модулей элементов диагоналей, параллельных побочной диаго­нали.
8. Составить программу нахождения максимального значения эле-
мента вектора среди отрицательных и минимального значения – среди положительных элементов.
9. Составить программу печати значений элементов той строки
матрицы, сумма элементов которой минимальна.
10. Подсчитать в одномерном массиве целого типа размером 100
элементов индекс и значение последнего из положительных эле­ментов.
11. Сформировать одномерный массив с элементами
20),0(][
NNiiz
y[i] по правилу:
из двух заданных массивов целого типа х[i],
1,...,1,0]},[],[min{][
Niiyixiz
12. Получить одномерный массив z из двух заданных массивов ве-
- 95 -
щественного типа х, y по правилу
=+=
−
−
()(
)
+
+
iiyixiz
29...,,1,0,2/])[][(][
13. Найти величину и номер первого отрицательного и последнего
положительного элемента в массиве вещественного типа задан­ного размера.
14. Поменять местами первый и последний элемент, второй и пред-
последний и т.д. в одномерном массиве вещественного типа за­данного размера.
15. Найти количество нулевых элементов в одномерном массиве це-
лого типа заданного размера, и сформировать новый массив из ненулевых элементов исходного массива.
16. В одномерном массиве вещественного типа заданного размера
найти сумму элементов, расположенных между максимальным и минимальным элементами.
Функции и процедуры
1. Даны действительные числа S, t. Получить f (t, -2s, 1.17) + f (2.2,
( )
c,b,af
t, s-t), где
=
+
2. Дано действительное число y. Получить
+
10
∑
=
0k
=
)x(t
10
∑
1k2
x
+
)!1k2(
.
k2
x
)!k2(
=
0k
csinba2
.
c5
y1t225.0t7.1
2
( )
1yt6
−−
, где
3. Даны действительные числа а, b, Получить u=min(a, b),
v=min(ab, a+b), min(u+v2, 3.14).
4. Определить значение z = max(a, 2b) ⋅ maх(2f - b,b), где min(х, у)
максимальное из чисел х, у. Задачу решить, не используя функ­цию mах;
<−
0а при 1
=
0а при 0
.
>
0а при 1
5. Определить значение z=Sign(X)+ Sign(Y) где
 
=
aSign
 
6. Даны основания и высоты двух равнобедренных трапеций. Найти
сумму их периметров. (Определить функцию для расчета периметра равнобедренной трапеции по ее основаниям и высоте).
- 96 -
7. Даны две последовательности целых чисел: а1, а2,..., а8 и b1, b2, ..., b8.
!4!
6
⋅+⋅
Найти количество четных чисел в первой из них и количество не­четных во второй. (Определить функцию, позволяющую распозна­вать четные числа).
8. Найти значение выражения
!83!52
+
, где n! означает факториал
числа n (n!= 1⋅2⋅... ⋅n). (Определить функцию для расчета факториала натурального числа).
9. Даны два натуральных числа. Выяснить, в каком из них сумма цифр
больше. (Определить функцию для расчета суммы цифр натураль­ного числа).
10. Даны шесть различных чисел. Определить максимальное из них.
(Определить функцию, находящую максимум из двух различных чисел).
11. Составить программу, в результате которой величина а меняется
значением с величиной b, а величина с - с величиной d. (Определить процедуру, осуществляющую обмен значениями двух переменных величин).
12. Даны стороны двух треугольников. Найти сумму их периметров и
сумму их площадей. (Определить процедуру для расчета периметра и площади треугольника по его сторонам).
13. Даны основания и высоты двух равнобедренных трапеций. Найти
сумму их периметров и сумму их площадей. (Определить процедуру для расчета периметра и площади равнобедренной трапеции по ее основаниям и высоте).
Контрольные вопросы Целочисленное программирование
1. Какие операции можно выполнять над величинами целого типа? Укажите приоритет их выполнения при расчете значения арифме­тического выражения.
2. Как определить остаток от деления одной величины целого типа на другую?
3. Можно ли при делении одной величины целого типа на другую ис­пользовать знак "/"?
Ввод и вывод данных, оператор присваивания
- 97 -
1. Как оформляется оператор вывода на экран?
2. Что можно указывать в качестве элементов списка вывода? Какой символ используется для разделения элементов списка вывода?
3. Что будет выведено на экран, если в списке вывода записано:
а) число? б) имя величины? в) текст в кавычках? г) арифметическое выражение?
4. Как оформляется оператор ввода? Что можно указывать в качестве элементов списка ввода? Как работает оператор ввода (что проис­ходит при его выполнении)?
5. Как оформляется арифметическое выражение?
6. Какие знаки арифметических операций используются в арифмети-
ческих выражениях? Укажите приоритет выполнения арифметиче­ских операций при расчете значения выражения.
7. Можно ли в арифметическом выражении использовать круглые скобки? С какой целью? А квадратные?
8. Как оформляется оператор присваивания? Как он работает (что происходит при его выполнении)?
Логические выражения: группа Boolean
1. Что такое простое условие? Какие операции отношения использу­ются в нем?
2 Что является результатом выполнения операции отношения?
3. Что такое составное условие? Какие логические операции исполь-
зуются в нем? Каков приоритет их выполнения? Как изменить этот приоритет?
4. В логическом выражении (составном условии) используются две величины логического типа (два простых условия) А и В. Сколько возможно различных вариантов сочетаний значений А и В?
5. В логическом выражении (составном условии) используются три величины логического типа (три простых условия) - А, В и С. Сколько возможно различных вариантов сочетаний значений А, В и С?
Условный оператор: группа If
1. Какие виды условных операторов вы знаете?
2. В каких случаях в программе используется полный условный опе-
ратор? Как он оформляется? Как он работает (что происходит при его выполнении)? Нарисуйте алгоритмическую схему выполнения.
- 98 -
3. В каких случаях в программе используется неполный условный
оператор? Как он оформляется? Как он работает (что происходит при его выполнении)? Нарисуйте алгоритмическую схему выпол­нения.
4. В каких случаях в программе используется вложенный условный оператор? Как он оформляется?
5. В каких случаях в программе используется оператор выбора? Как он оформляется? Как он работает (что происходит при его выпол­нении)? Нарисуйте алгоритмическую схему выполнения.
Цикл с параметром: группа For
1. В каких случаях используется оператор цикла с параметром? Как он оформляется? Как он работает (что происходит при его выпол­нении)? Нарисуйте алгоритмическую схему выполнения.
2. Что такое "тело оператора цикла"?
3. Может ли тело оператора цикла с параметром не выполниться ни разу?
4. Как должен быть оформлен оператор цикла с параметром, чтобы
тело цикла выполнялось при уменьшающихся значениях парамет­ра цикла? Как он будет работать (что будет происходить при его выполнении)? Нарисуйте алгоритмическую схему выполнения.
5. Чему равно количество повторений тела оператора цикла с пара­метром, если параметр цикла принимает:
а) все целые значения от 1 до 10? б) все целые значения от а до b? в) все нечетные значения от 1 до 20? г) все нечетные значения от 1 до n? д) все значения от 10 до 100 с шагом 7? е) все значения от 1,5 до 10,3 с шагом 0,4? ж) все значения от а до b с шагом stер?
6. Можно ли в теле оператора цикла использовать условный опера­тор?
7. Какие вы знаете операторы для принудительного (преждевремен­ного) выхода из оператора цикла? Можно ли вместо такой конст­рукции использовать оператор цикла с постусловием? А оператор цикла с предусловием?
8. Дан фрагмент программы:
For a=1 to 10 MsgBox а
- 99 -
If a=10 then a=a-1 Next a
Что произойдет при выполнении программы?
Вложенные циклы
1. В каких случаях используются вложенные операторы цикла?
2. Как оформляются вложенные операторы цикла? Как они работают (что происходит при их выполнении)? Нарисуйте алгоритмиче­скую схему выполнения.
3. Внешний цикл образован оператором цикла с параметром i, ме­няющимся от 1 до 5, внутренний - с параметром j, меняющимся от 3 до 7. Опишите последовательность изменения значений i и j.
4. Вложенный цикл образован двумя операторами цикла с парамет-
ром. Что является телом внешнего цикла? Что является телом внутреннего цикла?
5. Вложенный цикл образован двумя операторами цикла с парамет­ром. Можно ли во внешнем и внутреннем циклах использовать один и тот же параметр цикла (переменную цикла)?
6. Может ли внешний оператор вложенного цикла
а) не выполниться ни разу? б) выполняться бесконечное число раз (или до того момента, ко-
гда пользователь прервет его выполнение)?
Операторы цикла с условием
1. В каких случаях используются операторы цикла с условием?
2. В каких случаях используется оператор цикла с предусловием? Как
он оформляется? Как он работает (что происходит при его выпол­нении)? Нарисовать алгоритмическую схему выполнения.
3. Что такое "тело оператора цикла с предусловием"?
4. Может ли тело оператора цикла с предусловием:
а) не выполниться ни разу? б) выполняться бесконечное число раз (или до тех пор, когда
пользователь прервет его выполнение)?
5. В каких случаях используется оператор цикла с постусловием? Как он оформляется? Как он работает (что происходит при его выпол­нении)? Нарисовать алгоритмическую схему выполнения.
6. Что такое "тело оператора цикла с постусловием"?
- 100 -
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]