Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Бейсик_2007 (Попов).doc
Скачиваний:
2
Добавлен:
25.11.2018
Размер:
664.06 Кб
Скачать

Input "Введите число вкладчиков и процент ",n,p

DIM x(n,5)

FOR i=1 TO n

FOR j=1 TO 4

?"Введите остаток по вкладу №" i "за" j "квартал ";

Input X(I,j)

NEXT j,i

s=0

?" Счет Остатки по кварталам ВСЕГО"

?" I II III IV"

FOR i=1 TO n

x(i,5)=х(i,4)+(р/100)*(х(i,1)+х(i,2)+х(i,3)+х(i,4))/4

PRINT USING "########"; i,x(i,1),x(i,2),x(i,3),x(i,4),x(i,5)

s=s+x(i,5)

NEXT

? "Сумма всех вкладов =" s;

? "Средняя величина вклада =" s/n

Задача 12. Сортировка чисел в массиве. Пусть имеется вектор чисел Х длиной N. Напечатать массив в порядке убывания значений его элементов. Алгоритм реализуется при помощи двух вложенных циклов (рис. 17). В наружном цикле последовательно перебираются числа X(i) в массиве и во вложенном цикле сравниваются со всеми оставшимися числами справа от данного X(j). Если выясняется, что какое-то из Х(i) меньше сравниваемого, они меняются местами – большее число становится на место меньшего. В программе для упрощения в качестве элементов массива взяты их номера i. Если вектор имеет длину четыре (Х(4)), то будет выполнена следующая последовательность перестановок чисел массива: 1,2,3,4; 2,1,3,4; 3,1,2,4; 4,1,2,3; 4,3,2,1.

Программа к задаче 12

Input n

DIM x(n)

'формирование исходного вектора

FOR i = 1 TO n: x(i) = i: NEXT

FOR i = 1 TO n - 1

FOR j = i + 1 TO n

'если x(i)<x(j), числа меняются местами

IF x(i)<x(j) THEN SWAP x(j), x(i)

NEXT j

NEXT i

'вывод результатов

FOR i = 1 TO n: PRINT x(i): NEXT

Задачи для самостоятельного решения.

1). Напечатать число из массива Х(N), предшествующее минимальному.

2). Переместить элементы массива Х в массив Y таким образом, чтобы в нем сначала оказалась вторая половина исходного массива X, а затем первая.

3). Поменять местами соседние элементы массива Х и заполнить ими массив Y.

4). Массив Х(N) содержит N произвольных чисел (N нечетное). Напечатать эти числа, начиная с центрального, затем число, стоящее рядом слева, затем справа и т.д. до достижения границ массива.

5). Имеются (рис. 18) массивы Х(N) и Y(N) с координатами X, Y точек на плоскости в порядке их обхода. Определить (с помощью теоремы Пифагора) периметр замкнутой фигуры, с вершинами в этих координатах.

6). Построить вложенный цикл для печати таблицы умножения (как в ученической тетради).

Контрольные задания

Составить блок-схемы и программы решения пяти задач контрольной работы. Всего вариантов 33 (от 0 до 32). Вариант определяются числом, образованным из двух последних цифр шифра студента, следующим образом. Если число находится в диапазоне 032, – это и будет нужный вариант. Если оно больше, то из него нужно отнимать число 33 до тех пор, пока не будет получено число менее 33. Так, для шифра 0479, необходимо выполнить 13-ый вариант (79-33-33=13).

ЗАДАЧА 1. Имеется четыре A,B,C,D произвольных числа. ЭВМ должна ответить на вопрос: Правда ли что ...? (вопрос найдете в таблице вариантов). Ответ ЭВМ должна вывести в виде текста – слов ”Правда” или ”Неправда”.

0

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

17

все числа положительны?

1

среди чисел есть четные?

18

точно два из чисел равны?

2

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

19

не все числа положительны?

3

среди чисел есть нечетные?

20

первое число самое большое?

4

хотя бы два из чисел равны?

21

все числа равны между собой?

5

среди этих чисел нет равных?

22

среди этих чисел есть равные?

6

все числа больше 0 и меньше 7?

23

первое число меньше остальных?

7

среди чисел есть кратные трем?

24

среди чисел нет отрицательных?

8

первое число не самое маленькое?

25

среди чисел точно одно больше 6?

9

среди чисел есть кратные трем?

26

ни одно число не превышает 9?

10

последнее число не самое маленькое?

27

среди чисел точно одно <0?

11

сумма первых двух больше суммы

вторых и меньше их произведения?

28

числа расположены в

убывающем порядке?

12

точно два из чисел не равны между собой?

29

имеется хотя бы одно число, кратное пяти?

13

числа расположены в возрастающем порядке?

30

имеется хотя бы одно число не равное другим?

14

среди чисел есть и положительные

и отрицательные?

31

первое число самое большое,

а последнее самое маленькое?

15

первое число самое маленькое,

а последнее самое большое?

32

каждое из первых двух чисел

больше каждого из последних?

16

каждое из первых двух чисел больше каждого из последних двух? 

ЗАДАЧА 2. Составить программу вычисления и выдачи на печать суммы (или произ­ведения) N элементов бесконечного числового ряда.

0

y=1-6+11-16+21-...

11

y=256(-64)16(-4)1...

22

y=32(-16)8(-4)2…

1

y=-2+5-8+11-14+...

12

y=(-3)6(-9)12(-15)...

23

y=(-1)4(-16)64...

2

y=-4+8-16+32-64+...

13

y=4(-6)8(-10)12…

24

y=1(-3)9(-27)81...

3

y=2-6+18-54+162-...

14

y=(-512)256(-128)...

25

y=16(-8)4(-2)1…

4

y=60-57+54-51+48-...

15

y=(-64)32(-16)8(-4)…

26

y=60-55+50-45+...

5

y=-18+20-22+24-...

16

y=1000(-100)10(-1)...

27

y=(-10)8(-6)4(-2)…

6

y=-20+15-10+5-0+...

17

y=3-5+7-9+11-...

28

y=26+25+44+23+…

7

y=48(-24)12(-6)3...

18

y=50-40+30-20+10-...

29

y=85-80+75-70+...

8

y=(-128)64(-32)16…

19

y=3-9+27-81+243...

30

y=-243+81-27+9-...

9

y=-20+18-16+14-...

20

y=70-65+60-55+50-...

31

y=12+23+34+45+…

10

y=20+41+82+163+…

21

y=125(-25)5(-1)0,2...

32

y=42-40+38-36+...

ЗАДАЧА 3. Имеется массив А из N произвольных чисел А(N), среди которых есть положительные, отрицательные и равные нулю. Составить программу, выполняющую задачу в соответствии с вариантом.

0

Вычислить сумму всех четных положительных чисел. Например, если А={2,4,–3,0,5,1,6}, результат: 2+4+6=12.

1

Вычислить количество чисел, квадрат которых меньше 10. Так, если А={2,4,–3,3,5,–2,1}, результат: 5 (это числа 2, –3, 3, –2, 1).

2

Вычислить количество положительных и нулевых чисел и сумму отрицательных. Например, если А={2,4,–3,3,5,–2,1}, результат: положительных чисел 5 (2,4,3,5,1), нулевых – 0 (нет), сумма отрицательных –5 (–3+–2=–5).

3

Ответить на вопрос: правда ли что среди чисел имеются отрицательные (ответ должен быть в виде слов “ДА” или “НЕТ”). Например, если А={2,4,–3,3,5,–2,1}, результат: ДА (–3, –2).

4

Напечатать все числа из очереди, квадрат которых превышает 7, но меньше 50. Например, если А={2,4,–3,3,5,–2,8}, результат: числа 4, –3, 3, 5.

5

Вычислить произведение всех положительных чисел меньших 20. Так, если А={2,24,-3,6,5,-2,33}, результат: 265=60.

6

Суммировать числа до тех пор, пока не встретится число 2. Напечатать получившуюся сумму. Если двойка не встретилась, напечатать текст “Двойки нет”. Например, если А={7,4,–3,2,5,–2,1}, результат: 7+4–3=8.

7

Суммировать числа до тех пор, пока сумма не превысит 15. Напечатать, на котором по счету числе это произошло. Если оно не произошло вообще, напечатать текст “Числа слишком малы”. Так, если А={2,4,3,3,5,2,1}, результат: 5 (сумма превысила 15 на пятом по счету числе).

8

Выяснить, каким по счету в очереди стоит число 3. Если троек несколько, нас интересует только первая из них. Если троек нет совсем, напечатать сообщение “Троек нет”. Например, если А={2,4,–3,3,5,–2,1}, результат: 4.

9

Подсчитать количество положительных и отрицательных чисел и количество нулей. Например, если А={2,4,–3,0,5,–2,5}, результат: 4; 2; 1.

10

Найти сумму и количество всех четных положительных элементов. Например, если А={2,4,–3,0,5,–2,6}, результат: 12 и 4 (2, 4, 0, 6).

11

Найти номер последнего отрицательного элемента в последовательности. Например, если А={2,4,–3,0,5,–2,5}, результат: 6 (число –2).

12

Напечатать числа из массива, которые образуют растущую последователь­ность. Например, если А={2,4,–3,4,2,–2,5}, результат: 2,4 и –3, 4 и –2, 5.

13

Суммировать числа до достижения значения 15. Напечатать сумму и сделать ее =0. Опять суммировать до 15. Снова напечатать сумму и т.д. до конца массива. Если сумма оказалась меньше, печатать фразу “Сумма <15”. Так, если А={8,4,6,3,5,12,5}, результат: 8+4+6=18 и 3+5+12=20 и 5.

14

Напечатать те числа из массива, которые больше предыдущего числа. Так, если А={2,4,–3,0,5,7,5}, результат: 4 (4>2) и 0 (0>–3) и 5 (5>0) и 7 (7>5).

15

Напечатать те числа из массива, которые образуют убывающие последовательности. Например, если А={2,4,3,0,2,5,–2,5}, результат: 4, 3, 0 и 5, –2.

16

Складывать числа до встречи 0. Напечатать сумму. Снова суммировать до 0, напечатать новую сумму и т.д. до конца массива. Например, если А={2,4,0,–6,5,–2,0,7}, результат: 2+4=6 и –6+5–2=–3 и 7.

17

Найти сумму и количество всех нечетных положительных чисел. Так, если А={9,4,–3,0,5,1,–7}, результат: сумма =9+5+1=15, количество =3.

18

Найти максимальное и минимальное числа. Напечатать те элементы массива, которые в массиве находятся между ними. Так, если А={2,4,–3,0,2,5,–2}, результат: –3,0,2,5 (max=5, min=–3).

19

Найти номер последнего положительного элемента в массиве.

Например, если А={2,4,–3,0,2,5,–2}, результат: 6 (последнее число 5).

20

Найти номера первых двух рядом стоящих одинаковых элементов в массиве. Так, если А={2,6,4,4,2,5,5,4}, результат: 3 и 4 (равные значения 4 и 4).

21

Выяснить, есть ли одинаковые элементы в массиве. Ответ ДА/НЕТ. Так, если А={2,4,3,0,2,5,4}, результат: ДА (одинаковые значения 2 и 2).

22

Найти максимальный четный элемент в массиве из всех положительных элементов. Например, если А={2,4,–3,6,2,9,–2}, результат: 6.

23

Найти произведение четных элементов, находящиеся в диапазоне от 3 до 13. Так, если А={2,4,5,2,6,–2,20,8}, результат: 468.

24

Найти максимальное и минимальное нечетные числа и их среднее арифметическое. Так, если А={8,4,–2,6,2, 7, –5}, результат: 7 и –5 и (7–5)/2=1.

25

Найти сумму элементов кратных трем. Например, если А={2,4,9,2,6,–12,0}, результат: 9+6–12=3.

26

Напечатать сумму элементов предшествующих максимальному числу. Так, если А={3,4,9,2,11,–12,3}, результат: 3+4+9+2=18.

27

Найти номер максимального четного элемента в массиве. Например, если А={2,4,–3,6,2,9,–2}, результат: 4.

28

Напечатать номера элементов кратных одновременно двум и трем. Так, если А={3,6,9,2,12, 2,24}, результат: 6,12,24.

29

Напечатать произведение элементов следующих за минимальным числом. Так, при А={3,4,9,2,–5,2,3}, результат: 23.

30

Найти произведение элементов кратных трем. Например, если А={2,4,9,2,6,–3,0}, результат: 96 (–3)=–162.

31

Напечатать в обратном порядке все положительные элементы. Так, если А={2,4,–9,5,6,–3,2}, результат: 2,6,5,4,2.

32

Напечатать сумму элементов предшествующих минимальному числу. Так, если А={3,4,9,2,–5, 2,3}, результат: 3+4+9+2=18.

ЗАДАЧА 4. Составить программу вычисления числового ряда для известного числа членов ряда N. Перед программированием следует выявить и написать аналитические соотношения, описывающие все имеющиеся зависимости.

0

Y=(7+35/1)(8-3-4/2)(9+33/3)(10+3-2/3)...

17

Y=(2+1/81)-(4-2/27)+(8+4/9)-(16-8/3)+

1

Y=(1+2-1/2)(-2+22/3)(3+2-3/4)(-3+24/4)...

18

Y=(8+35)-(4+3-4)+(2+33)-(1+3-2)+...

2

Y= 2+2 2-3 2+4 2-5 ...

2-1+8 22+4 2-3+2 24+1

19

Y= 25+2 20-2 15+2 10-2

1+2 2-4 3+6 4-8

3

Y=(1/24+1)(2/23-2)(3/22+4)(3/21-8)...

20

Y=(7+35/1)(8-3-4/2)(9+33/3)(10+3-2/4)...

4

Y=(33-1)(3-2+2)(31-4)(3-0+8)...

21

Y=(2-1/2)(22/-5)(2-4/8)(28/-11)...

5

Y=-8/(25-2)4/(24+4)-2/(23-5)1/(21+6)...

22

Y=(3-1/2)(42/-5)(5-3/8)(64/-11)...

6

Y=(2/16+8)(2/8-10)(2/4+12)(2/2-14)...

23

Y=(1+24-8)(2-2-3-4)(4+22-2)(8+2-1-1)...

7

Y=(1+2-1/2)(3+22/3)(5+2-3/4)(7+24/5)...

24

Y=(7+2/2)-(6-3/4)+(5+4/8)-(4-5/16)+...

8

Y=(2-4-8+1)(23-4+3)(2-2-2+5)(21+1+7)...

25

Y=(1-2/5)+(2+4/10)+(3-8/15)+(4+16/20)...

9

Y=-(3/16+1)+(3/8-2)-(3/4+3)+(3/2-4)...

26

Y=(2-1/27+4)(22/9-8)(2-3/3+16)(24/1-32)...

10

Y= 125-1 25+2 5-3 1+4

6+2 6-4 6+6 6-8

27

Y= 25-7 20+5 15-3 10+1

1+1 2-3 3+9 4-27

11

Y=(3+1-1/81)(5-2+1/27)(7+3-1/9)(9-4+1/3)...

28

Y=(7+34+1)(8-3-3+2)(9+32+3)(10-3-1+4)...

12

Y=(2-1/81)(4+1/27)(8-1/9)(16+1/3)...

29

Y=2/(2+16)12/(-3+8)22/(4+4)42/(-5+2)6...

13

Y=28/(3-16)2-4/(4+8)22/(5-4)...

30

Y= -1/(18+2)2/(2-4+4)-3/(32+6)...

14

Y=(-2+1/80)+(4-2/40)+(-8+3/20)+...

31

Y=(1+25/1)(10+2-4/2)(100+23/3)...

15

Y= -(20+1/1)+(18+2/3)-(16+3/5)+(14+4/7)-...

32

Y= -(1/21+1) + (2/22-2)-(4/24+3)+(8/28-4)-...

16

Y=25+1 23-2 21+3 19-4

1+2 2-3 4+4 8-5

Указания к решению задачи. Пусть: Y= 2-1 22 2-3 24 

-5+16 5-8 -5+4 5-2

Сначала необходимо выписать все, наблюдаемые в ряду, соотношения. Для этого введем такие переменные. Степень двойки обозначим буквой А, знак при ней и знак при числе 5 буквой Z (так как они совпадают), второе слагаемое в знаменателе 16 – буквой В, а знак при нем -Z (этот знак противоположен остальным), т.е.:

2–1  2ZA    

–5+16 Z5–ZB

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

Y =Y(2ZA/(Z5–ZB)) Y = 1

Z = –Z Z = –1

A = A+1 A = 1

B = –B/2 B = 16

Алгоритм решения (для заданного числа членов N):

1. Ввести значение N.

2. Задать исходные значения переменных (Y=1, Z=–1, A=1, B=16)

3. Вычислить очередное значение Y.

4. Вычислить новые значения А, В, Z.

5. Сделать приращение счетчика циклов (I=I+1).

6. Если I<=N – возврат к пункту 3, иначе, завершение цикла и печать Y.

При программировании лучше воспользоваться оператором цикла FOR, тогда счетчик циклов формируется и анализируется автоматически.

ЗАДАЧА 5. Выполнить действия над массивами. В таблице при формулировании задания для разъяснения его сути справа отображены примеры исходных Х и результирующих Y массивов с конкретными числами. Программа, естественно, должна обрабатывать любые числа для векторов размерностью N. Программа должна предъявлять исходные и новые массивы.

0

Заполнить Y таким образом, чтобы в нем сначала оказалась вторая половина исходного X, а затем первая.

1

2

3

4

5

6

Х

4

5

6

1

2

3

Y

1

Переписать все элементы Х для 3<X(i)<10 в начало Y, подсчитать их количество и среднее арифметическое. В примере таких чисел 3. Среднее 18/3=6.

1

4

2

8

6

11

Х

4

8

6

Y

2

Найти в Х все стоящие рядом элементы с одинако­выми значениями и напечатать их номера. В примере номера равных смежных элементов: 2, 3 и 5, 6.

2

5

5

8

4

4

Х

3

Найти максимальный и минимальный элементы Х и поменять их местами в массиве Y. В примере Xmax=8, Xmin=1.

1

4

2

8

6

3

Х

8

4

2

1

6

3

Y

4

Взять из Х и расположить в массиве Y сначала все положительные, а затем отрицательные элементы.

-3

2

8

-4

5

-1

Х

2

8

5

-3

-4

-1

Y

5

Изменить порядок элементов массива Х на обратный и заполнить ими массив Y.

1

2

3

4

5

6

Х

6

5

4

3

2

1

Y

6

Занести из Х в Y сначала элементы, находившиеся на четных местах в Х, а затем – на нечетных.

2

3

1

2

5

4

Х

3

2

4

2

1

5

Y

7

Заполнить Y нарастающими суммами элементов Х.

4

2

0

1

-2

2

Х

4

6

6

7

5

7

Y

8

Найти максимальный элемент Х и заполнить им Y.

2

5

3

7

1

0

Х

7

7

7

7

7

7

Y

9

Заполнить массив Y четными элементами массива Х.

5

2

8

4

7

4

Х

2

8

4

4

Y

10

Заполнить массив Y нарастающими произведениями элементов массива Х.

3

2

3

1

2

2

Х

3

6

18

18

36

72

Y

11

Заполнить Y нечетными элементами массива Х.

5

2

7

4

3

4

Х

5

7

3

Y

12

Найти минимальный элемент Х и заполнить им Y.

2

5

3

7

1

1

Х

1

1

1

1

1

1

Y

13

Сдвинуть вправо на К позиций содержимое Х и заполнить им массив Y. Выталкиваемые элементы становятся в начало Х. В примере К=2.

1

2

3

4

5

6

Х

5

6

1

2

3

4

Y

14

Сдвинуть влево на К позиций содержимое Х и заполнить им массив Y. Выталкиваемые элементы становятся в конец Х. В примере К=2.

1

2

3

4

5

6

Х

3

4

5

6

1

2

Y

15

Взять из Х и расположить в массиве Y сначала все, отрицательные, а затем положительные элементы.

-3

2

8

-4

5

-1

Х

-3

-4

-1

2

8

5

Y

16

Напечатать все элементы, которые встречаются более одного раза. В примере это 5 и 3.

5

2

3

4

5

3

Х

17

Напечатать все элементы, которые не повторяются. Здесь это 2 и 4.

5

2

3

4

5

3

Х

18

Скопировать в Y те элементы массива Х, которые делятся на 3 без остатка.

-8

5

-3

7

6

9

Х

-3

6

9

Y

19

Напечатать произведения всех положительных пар элементов из массивов Х и Y. В примере 52,73,92.

-8

5

-3

7

6

9

Х

3

2

-6

3

-1

2

Y

20

Заполнить массив Y произведениями соседних двух элементов Х.

-2

4

3

2

6

3

Х

-8

6

18

Y

21

Заполнить массив Y произведениями соседних трех элементов Х. N может быть не кратным 3.

2

4

3

2

1

3

Х

24

6

Y

22

Заполнить Y элементами Х, находящимися между его максимальным и минимальным значениями.

7

1

3

2

9

3

Х

3

2

Y

23

Заполнить массив Y номерами всех четных элементов массива Х.

4

1

6

2

9

8

Х

1

3

4

6

Y

24

Заполнить массив Y элементами массива Х, находящимися прежде его максимального значения в Х.

4

1

6

2

9

4

Х

4

1

6

2

Y

25

Заполнить массив Y элементами массива Х, находящимися после его максимального значения в Х.

4

1

8

2

7

3

Х

2

7

3

Y

26

Найти максимальный и минимальный элементы Х. Подсчитать число элементов, находящихся между ними. Здесь это 2 и 7, число элементов между ними: 2.

3

2

5

4

7

6

Х

27

Подсчитать, сколько раз встретилось каждое из чисел X. Здесь число 3 встретилось 2 раза, 7 – 3, 4 – 1 раз.

3

7

3

7

4

7

Х

28

Изменить порядок элементов левой и правой половин массива Х на обратный и заполнить ими массив Y.

1

2

3

4

5

6

Х

3

2

1

6

5

4

Y