55
I.
1. Введение. Цели изадачи курса.
В наше время информационного бума успех сопутствует тому, кто владеет информацией. Фундамент информатизации закладывается в сфере образования. Вопросы компьютерной общеобразовательной подготовки вплотную подходят к проблеме освоения новых видов информации и обмена ею, новых технологий и форм общения. Способность человека управлять процессом зависит от его информированности. От этого зависит перестройка системы управления, новые экономические пути решения тех или иных проблем. Качество информационной оснащённости, наличие быстродействующих и общедоступных каналов движения информации сегодня определяют уровень развития стран. Внедрение и использование информационных технологий - материал необходимый всем без исключения пользователям для практической работы, - способствует решению задач интенсификации и индивидуализации обучения, формированию познавательских способностей, улучшению организации учебного процесса. Алгоритмический стиль мышления – одна из важных форм умственной деятельности, - даёт методы построения математической модели реального объекта , позволяет автоматизировать обработку информационного потока. Разработка алгоритмов предшествует их реализации на компьютере, что активизирует познавательные возможности школьника, развивает теоретическое мышление (прикладное изучение численных методов: числовые ряды, законы чисел, - например, чисел Фибоначчи) в изучении реальных закономерностей. Реализация алгоритма на машинном языке научит создавать жизнеспособные и надёжные, предусматривающие обработку меняющихся исходных данных, эффективные программы. Т.о. ведётся подготовка будущих пользователей для работы с системами и подготовка будущих программистов.
Посорбие содержит большое количество примеров и заданий для различных преобразований одно и двумерных массивов, что позволит развить аналитический стиль мвшления и привить практические навыки при работе с большими объёмами числовых данных
2. Алгоритмизация.
Определение, способы написания, этапы решения, свойства.
Алгоритм есть система предписаний, предназначений исполнителю для решения некоторой задачи.
Три способа написания:1)на естественном языке;
2)на языке схем алгоритмов;
3)на алгоритмическом языке программирования.
Этапы решения задач на ЭВМ:
1.Постановка задачи. Условие должно быть корректным.
2.Составление математической модели задачи. Отбрасываем несущественные стороны явления, подбираем объекты и математические формулы.
3.Составление алгоритма решения задачи.
4.Решение задачи и проверка результатов.
Свойства алгоритма:
1. Результативность.
2. Дискретность.
3. Конкретность.
4. Однозначность.
5. Массовость.
Требования к программе:
1. Максимально понятный интерфейс (диалог).
2. Защита от неопытного пользователя.
Под обработкой информации понимают преобразование информации, проведение различных операций над ней:
Дано (исходные данные).
Получить (результаты).
Как связаны исходные данные и результаты ( формулы и преобразования информации).
Могут присутствовать промежуточные данные .
Т.е. задача должна быть чётко сформулирована, значит:
Высказаны те предположения, как в море информации об изучаемом явлении или объекте извлечь исходные данные; что будет результатом;
Всё это называют моделью задачи: предположения, исходные данные, результаты, связи между ними. Если исходные данные и результаты представить числами, а соотношения и связи математическими формулами, то можно говорить о создании математической модели.
Умение программировать определяет некоторые элементы общей культуры (теоретическая база):
Определит общие принципы решения задачи.
Детализировать эти общие принципы (разработать пошаговый алгоритм).
Построить математическую модель.
Знание языков программирования.
Умение работать с ЭВМ и готовыми программными средствами (умение предугадать алгоритм, работать с системами управления и обработки информации-СУБД).
3. Элементы блок-схемы.
Начало б\сх ;
Конец б\сх ;
блок ввода (-вывода) ;
рабочий блок (оператор присваивания; арифметическое выражение) ;
описания ;
_ +
логический блок ;
переходы между блоками .
Примерами могут быть:
_
+
-
-
+
4. ЭЛЕМЕНТЫ ЯЗЫКА BASIC.
Входной набор знаков:
алфавит (русский и английский) ;
цифры ;
спец . символы (! ? # & % . , + - * ^
Константы (тип) :
- 1.целые (746; 577)%;
- 2.веществ.(5.171; 731.1371)!;
- 3.символы (“текст”).
Переменные (тип):
1.целый (D%);
2.веществ. (М!=85.74 (7 знаков после запятой) (Z# = 85.74734568 (16 знаков после запятой);
3.символьный (F =”привет!”).
Массивы (тип):
1.целый DIM F%(N)-например: успеваемость учеников;
2.веществ DIM F!(N)-з/плата;
3.симв. DIM F(N)-список учеников класса.
Описание типа:
Неявное-
DEFINT A,C-F,N-R
DEFSNG B,S-W, Z
DEFSTR F
Явное
DEFINT A,KAT
DEFSNG E,GAME
DEFSTR MI,L ,RES
Операторы ввода-вывода :
INPUT “Введите значение”; N
INPUT “Введите фамилию”; Fam$
PRINT “Получите значение”; Q
PRINT X^2+1; Z-1
PRINT “Его фамилия”; Fam$
Арифметические операции:
^ - в степень
-
+
*-умножить
\-целочисленное деление
SQR-квадратный корень
MOD-остаток (целочисленный) от деления
/-деление
Встроенные функции:
ABS(x)- x по модулю
LOG(x)-натуральный логарифм ln x
exp(x)-экспонента e
sin(x)
cos(x)
TAN(x)-tg x
ATN(x)-arctg x
S
GN(x)-знак числа signum (или sign(x) )
1 , если x
sgn(x) = 0 , если x=0
-1 , если x0
INT(x)-целая часть(меньшее целое):
INT(-4;01)=-5
INT(23;56)=23
FIX(x)-отбрасывает дробную часть:
FIX(-4;01)=-4
FIX(23;56)=23
RND(x)-генерация случайного числа
C=STR(x)-превращает числовое значение в строку.
Z=VAL(x)-превращает строку в число.
Строковые операции:
STR$(X)- перевод числового значения в символьное
VAL(X$)-перевод символа в число
LEN(X$)- число позиций в символьной строке
LEFT$(X$,I)-выборка I символов в символьной переменной слева
RIGHT$(X$,I)-выборка I символов в символьной переменной справа
MID$(X$,M,N)-выборка N символов начиная с M-той позиции в переменной X
INSTR(X$,Y$)-номер позиции, в которой впервые найдена символьная переменная Y$ в переменной X$
INSTR(I,X$,Y$)-номер позиции, в которой впервые найдена символьная переменная Y$ в переменной X$ начиная с I-той позиции
Операции отношений (результатом будет{T,F}{TRUE , FALSE}:
= равно
неравно
меньше
больше
меньше или равно
Логические операции:
NOT X (не x)
X ANDY (x и y)
X OR Y (x или y)
X EQ Y (еквивалентно)
Условный оператор:
IF … THEN …. [ ELSE ..]
Операторы условного и безусловного перехода:
GOTO N (номер строки)
ON PER GOTO N1, N2, N3 (переход на строку N1,если PER=1;N2, если PER=2; N3, если PER=3)
IF … GOTO …. [ ELSE ]
Назначение функциональных клавишей :
F1- загрузка системы
F2- LOAD- загрузка с внешнего устройства или постоянного носителя
F3-EDIT
F4-LIST
F5- загрузка и выполнение из оперативной памяти
F6- CLS- очистка экрана
F7-SAVE-сохранение
F8-AVTO-автонумерация
F9-RENUM-перенумерация
F10-CONTINUE
Цвет :
COLOR N-номер цвета шрифта.
1-синий
2-зеленый
3-серо-голубой
4-красный
5-сереневый
6-оранжевый
7-белый
8-серый
9-голубой
10-светло-зеленый
11-ярко-белый
12-алый
13-светло-сиреневый
14-желтый
15-самый белый
Графические операторы:
Screen 9 *(640x350)-размер экрана;(№ экрана от 0 до 13)
Color c1, c2 *(цвет линий, цвет фона)
Pset (x, y), c
Line (100,150)-(160,180), c, bf
Circle (x, y), r, c, вырезать, оставить, k
*(0kcжатие по вертикали, k1-по горизонт.)
PCLS-очистка графического ЗУ
Оператор выбора:
SELECT CASE N (переменная)
CASE IS… условие (логическое выражение, сравнение)
Операторы
CASE … TO …
Операторы
CASE … TO …(границы)
Операторы
CASE O (значение)
Операторы
END SELECT
Оператор цикла:
Счетчик цикла
FOR I=1 TO N [STEP N]
………………….. Шаг
(тело цикла)
…………………….
NEXT
5. Линейный алгоритм.
Вычислить значение функции.
5.1. Y=sin|x|+tgx
ИЛИ
INPUT “Введите Х”;X INPUT “Введите Х”;X
M=ABS(X) Y=SIN(ABS(X))+TAN(ABS(X))
Y=SIN(M)+TAN(M) PRINT “Вывод Y”;Y
PRINT “Вывод Y”;Y
5.2. Y=SIN|X|*COS²(X-18)
INPUT “Введите Х”;X
Y=SIN(ABS(X)*(COS(X-18))^2
PRINT “Вывод Y”;Y
5.3. Напишите программу, в которой присвоить значение 2-м числовым переменным и вывести на экран их сумму, разность, произведение, частное.
Пусть X,Y-две переменные.
Создадим еще четыре, в которых :
А-+
В- -
С-*
Д-\
Программа примет вид :
INPUT “Введите Х”;X
INPUT “Введите Y”;Y
A=X+Y
B=X-Y
C=X*Y
D=X/Y
PRINT “Искомые результаты”;a;b;c;d
5.4. В магазине продается костюмная ткань. Ее цена 2100 руб. за 1м². Напишите программу, которая подсчитывает и выводит на экран стоимость куска этой ткани длиной 6,5 метров и шириной 80 сантиметров.
X-стоимость 1м².
Y-стоимость погонного метра.
Z-общая стоимость покупки.
Х=2100 руб.

Y=X /100*80

Z=Y*6,5




X=2100
Y=X/100*80
Z=Y*6.5
PRINT “Вывод Z”;Z
5.5. Напишите программу нахождения среднего арифметического 4-х чисел.
Пусть х1,х2,х3,х4,-четыре числа. Sr-среднее арифметическое.
Sr=(X1+X2+X3+X4)/4
PRINT “Результат”; Sr
5.6. Задумайте число от 1 до 100. Напишите операторы , которые будут последовательно выполнять следующие действия:
-присвоить числовой переменной значение, равное произведению этого числа самого на себя;
-сложить эту переменную с удвоенным задуманным числом;
-разделить сумму на задуманное число;
-уменьшить результат на задуманное число;
-вывести ответ.
X-Задуманное число.
Y-
Z- Промежуточные
Q- переменные
W-Результат
INPUT “Введите Х”;X
Y=X^2
Z=Y+2*X
Q=Z/X
W=Q-X
PRINT “Результат=”;W
5.7. Вычислить множество значений функции.
Y=X^ 2+B, где Х10,10 с шагом 2; В -параметр.
INPUT “Введите значение параметра”; B
FOR X=-10 TO 10 STEP 2
Y=X^2+B
PRINT Y;
NEXT
*Задание. Составить схему и написать программу нахождения суммы дробей A/B и C/D.
6.1 Нахождение корней квадратного уравнения.
6.1.1. Пошаговое описание :
шаг 1. Ввод А,В,С
шаг 2. D=B²-4*A*C
шаг 3. D
шаг 4. Если
шаг 5. Если =0, то два корня :
х1=(-В-D)/( 2*А)
x2=(-B+D)/( 2*А)
шаг 6. Вывод результата.
6.1.2. Блок-схема :
+
_
6.1.3. Программа:
INPUT “”;A,B,C
D=B^2-4*A*C
IF D=0 THEN X1=(-B-D)/(2*A):X2=(-B+D)/(2*A):PRINT “Два корня ”;X1;X2
IF DКорней нет. ”
6.2.Составить программу вычисления минимального среди A, B, C, если A=SIN(X), B=COS(X), C=Ln(X). Проверить для X=5.
INPUT “Введите значение Х”;X
PRINT “Для заданного значения Х минимальным значением Y будет ”;
A=SIN(X):B=COS(X):C=LOG(X)
IF A
6.3. Решение системы уравнений :
X*Y ; если X²+Y²=1
2X+Y
2X-Y ; если X²+Y²0
Z=
X+Y
X-Y ; если X²+Y²
INPUT “Введите Х”;X
I
+
NPUT “Введите Y”;YIF (X^2+Y^2)=1 THEN Z=X*Y
IF (X^2+Y^2)0 THEN Z=(2*X+Y)/(2*X-Y)
IF (X^2+Y^2)
PRINT “Результат”; Z
*Задание. Нарисовать блок-схему и написать программу вычисления значений для следующих систем :
1. 2. Функция Дирихле 3.
X+Y, если Х=2 и Y2+X, если Х-2 sin(X+Y), если X2+Y2
X-Y, если Х
Z= X*Y, если Х=2 и Y=5 X2-1/X, если Х2+Y21
X/Y, если Х=5
7. Блок-схема команды повторения.
For … to .. [step …]
…
…
Next
7.1
Input “N”;N
For i=1 to N
S=s+i
Next
Print “S=”;S
7
Счетчик цикла
Определяет сколько раз будет вычисляться тело цикла
Может:
принимать как положительные значения, так и отрицательные;
быть как целого типа, так и вещественного типа;
как увеличиваться, так и уменьшаться.
Счетчик цикла должен пробегать все значения от нижней границы до верхней с определенным шагом.
Верхняя и нижняя граница могут:
принимать как положительные значения, так и отрицательные;
быть как целого типа, так и вещественного типа;
7.2.1
К=0.7
N=17.5
For i=К to N step 0.4
S=S+i
Next
Print “ Сумма искомых величин S=”;S
7.2.2
К=-0.5
N=-14.5
For i=К to N step -0.2
S=S+i
Next
Print “ Сумма искомых величин S=”;S
7.2.3
К=-0.4
N=12.02
For i=К to N step 0.3
S=S+i
Next
Print “ Сумма искомых величин S=”;S
7.2.4
К=-1.7
N=20.5
For i=К to N step 0.4
S=S+i
Next
Print “ Сумма искомых величин S=”;S
7.2.5
Неправильно, такой цикл не сработает ни разу:
К=-1.7
N=20.5
For i=К to N step –0.6
S=S+i
Next
Print “ Сумма искомых величин S=”;S
+
-
INPUT “Введите число N”;N
FOR I=1 TO N
IF I/8=INT(I/8) THEN S=S+I
NEXT
PRINT “Искомый результат”; S
7.4. Написать программу, которая вычислит и выведет все 2- и 3- значные числа, которые делятся без остатка на 15.
IF I/15=INT(I/15) THEN PRINT “Искомый результат”; I
NEXT
8. Натуральный ряд чисел.
8.1.Написать программу, которая вычислит и выведет сумму всех трехзначных чисел.
-
+
I=100

S=S+I
I=I+1

+
FOR I=100 TO 999
S=S+I
NEXT
PRINT “Искомый результат”; S
8.2.Найти среднее арифметическое натурального ряда чисел от 1 до 200.
+
FOR I=100 TO 999
S=S+I
NEXT
PRINT “Искомый результат”; S
8.3.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+N2.
INPUT “Введите число N”;N
S=0
FOR I=1 TO N
S=S+I^2
NEXT
PRINT “Искомый результат”; S
8.4. Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+1/N2.
INPUT “Введите число N”; N
S=0
FOR I=1 TO N
S=S+1/I^2
NEXT
PRINT “Искомый результат”; S
8.5.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . .+1/2N.
INPUT “Введите число N”;N
S=0
FOR I=1 TO N
S=S+1/2^n
NEXT
PRINT “Искомый результат”; S
8.6.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=1+22+. . . +(1/N)*(-1)^N+1 .
INPUT “Введите число N”;N
S=0
FOR I=1 TO N
S=S+(1/N)*(-1)^N+1
NEXT
PRINT “Искомый результат”; S8.7.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен S=(100*1)/(12+1)+(100*2)/(22+1)+(100*3)/(32+1)+. . . +(100*N)/(N2+1) .
+
-
INPUT “Введите число N”;N
S=0
FOR I=1 TO N
S=S+(100*I)/(I^2+1)
NEXT
PRINT “Искомый результат”; S
8.8.Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен
2+… 2+…. 2
INPUT “Введите число N”; N
S=0
K=1
I=2^(1/2)
FOR K=1 TO N
I=(2+I)^(1/2)
S=S+I
NEXT
PRINT “Искомый результат”; S
8.9. Написать программу, которая вычислит и выведет сумму элементов натурального ряда чисел, где каждый элемент представлен
.. .. .. 5
INPUT “Введите число N”;N
S=0
K=1
I=5
FOR K=1 TO N
I=(5)^(1/2)
S=S+I
NEXT
PRINT “Искомый результат”; S
*Задания. Работа с натуральными числами.
Найдите сумму всех чисел от 51 до 99. Равна ли она 3676.
Напишите программу суммирования всех одно и двухзначных чисел, которые делятся на 5.
Найти сумму всех трехзначных нечетных чисел.
Найти произведение всех трехзначных четных чисел.
5. Найдите произведение всех четных чисел от -100 до 1000.
6. Найти сумму всех трехзначных нечетных чисел.
7. Найти сумму удвоенных N первых членов натурального ряда.
8. Найти среднее арифметическое натурального ряда чисел до200.
9. Дана последовательность натуральных чисел (упорядоченная 1,2,3...N). Найти сумму квадратов элементов последовательности. И найти сколько чисел 10
10. Дана последовательность натуральных чисел. Найти сумму квадратов элементов последовательности. Найти количество чисел, кратных 17.
11. Найти среднее арифметическое всех трехзначных чисел.
12. Найти сумму удвоенных N первых членов натурального ряда.
13. Найти сумму всех трехзначных нечетных чисел.
14. Найдите произведение всех четных чисел от –100 до 100.
15. Найти произведение всех трехзначных четных чисел.
16. Найти сумму всех трехзначных нечетных чисел.
17. Найти сумму всех нечетных чисел от –100 до 100.
18. Найти среднее арифметическое натурального ряда чисел до 1000.
19.Напишите программу, формирующую таблицу умножения.
20. Дана формула нахождения элементов числового ряда. Найти каждый элемент и произведение элементов этого ряда:
1/N!
1/(n^2+4)
1
+5 N - 1-5 N
2
5
N!
(N+1)/N!
ex=1+x+x2/2!+x3/3!+x4/4!+. . .+xn/n!
q n, где q=(21/2)/3
(2*k+1)/(4*k3-3)
1/n3
k2/(k2+1)
k(k+1)2
M
!/((N!(M-N)!)
N* N*. .* N
. . .. N
9. Одномерный массив. Описание, создание.
Если элементы последовательности упорядочены (т. е. между элементами последовательности есть какая-то связь, закономерность), то можно обозначить переменной 1-ый элемент последовательности, а остальные задать формулой ,отражающей закономерность и к N-му элементу обращаться по формуле.
Если элементы последовательности набраны хаотично, невзаимосвязано(случайно, например: t воздуха за какой-то период, или отметки по успеваемости, или урожайность в различных колхозах и т.д.),то элемент последовательности нужно обозначить через переменную с индексом (AN),(где I=1,до определенного, заданного N), и адресоваться через имя А с индексом I. Тогда можно (т. к. закономерности между элементами нет, но есть закономерность между индексами, т.е. введя индексацию мы вводим свою закономерность между элементами последовательности) последовательно обращаться к элементам массива или к любому N-му элементу сразу. Массив-это организованный набор однотипных переменных, имеющих в памяти строго определенное место.
A(I)-элемент массива, где А - имя массива, I - индекс (порядковый номер).
9.1. В доме N комнат. Каждая имеет форму прямоугольника. Длина и ширина каждой указаны. Нарисовать блок-схему нахождения площади S каждой комнаты и общую S всех комнат в этом доме.
INPUT “Введите кол-во комнат”; N
FOR I=1 TO N
INPUT “Введите длину комнаты”; D(I)
INPUT “Введите ширину комнаты”; Sh(I)
S(I)=D(I)*Sh(I)
PRINT S(I);
NEXT
9.2. Создать массив генератором случайных чисел.
INPUT “Введите количество элементов массива”; N
FOR I=1 TO N
COLOR I
A(I)=INT(RND(1)*10)
PRINT A(I);
NEXT
PRINT9.3. Создать массив по формуле числового ряда ½n. Найти сумму элементов.
INPUT “Введите число N”;N
S=0
DIM A(N)
FOR I=0 TO N
COLOR I
A(I)=1/2^I
S=S+A(I)
PRINT A(I);
NEXT
9.4. Создать массив по формуле числового ряда1/ N!. Найти сумму элементов.
INPUT “Введите число N”;N
S=0
DIM A(N)
A(0)=1
FOR I=1 TO N
COLOR I
A(I)=A(I-1)*(1/I)
S=S+A(I)
PRINT A(I);
NEXT
PRINT “Сумма элементов массива”; S
9.5. Создать массив по формуле числового ряда 1/(N^2+4). Найти сумму элементов.
INPUT “Введите число N”; N
S=0
DIM A(N)
FOR I=0 TO N
COLOR I
A(I)=1/(N^2+4)
S=S+A(I)
PRINT A(I);
NEXT
PRINT “Сумма элементов массива”; S
9.6. Написать программу, которая вычислит и выведет каждый элементов массива и сумму, где каждый элемент представлен
.. .. ..
5
+
INPUT “Введите число N”;N
S=0
DIM A(N)
A(0)=5
FOR I=1 TO N
COLOR I
A(I)=A(I-1)^(1/2)
S=S+A(I)
PRINT A(I);
NEXT
PRINT “Сумма элементов массива”; S
9.7. Написать программу, которая вычислит элементы массива и сумму, где каждый элемент представлен
2+… 2+… 2
INPUT “Введите число N”;N
S=0
DIM A(N)
A(0)=0
FOR I=1 TO N
COLOR I
A(I)=(2+A(I-1))^(1/2)
S=S+A(I)
PRINT A(I);
NEXT
PRINT “Сумма элементов массива”; S
*Задание. Сформировать массив по формуле до N-го элемента, найти сумму и произведение элементов массива:
Х(k)=(2k+1)/(4k3-3)
Х(n)=qn где q= 4/3
1+1/2+1/3+…1/n
(1+1/28+1/38+…+1/n8)
1+1/22+1/32+…+1/n2
X(k)=k2/(k2+1)
X(n)=(100n)/(n2+1)
S=(1+1/2+1/4+…+1/2n) где ряд представлен формулой 1/2n
A(k)=k(k+1)2
A(n)=(1+/2)n-(1-/2)n
X(n)=(3n+4)/(n+1)
X(n)=1/(n3+0.8)
N!=1*2*3*…n. N-ый член представлен формулой. Т.е.
1!=1
2!=1*2
3!=1*2*3
4!=1*2*3*4
(1+1/1!+1/2!+…+1/n!) где ряд представлен формулой 1/n!
Cnm=m!/n!(m-n)!
Ex=1+x+x2/2!+x3/3!+x4/4!+…xn/n!
Создать массив A(N), где каждый элемент получается арифметической прогрессией, при чем A(1)=2, а шаг прогрессии равен 3.
10.Выборка и преобразование элементов одномерного массива.
10.1. Каждый третий элемент массива заменить нулем.
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P STEP 3
T(I)=0
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
PRINT
10.2. Найти сумму положительных элементов массива T(P).
INPUT “Введите количество элементов массива ”;P
S=0
DIM T(P)
FOR I=1 TO P
INPUT “Введите элемент массива ”;T(I)
NEXT
FOR I=1 TO P
IF T(I)0 THEN S=S+T(I)
NEXT
PRINT “Искомый результат ”; S
10.3. Элементы с 3 по 9 возвести в квадрат.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=3 TO 9
T(I)=T(I)^2
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.4. Из каждого второго извлечь корень.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P STEP 2
T(I)=T(I)^(1/2)
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.5. Значение элементов, имеющих четные индексы, разделить на последний элемент.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P STEP2
T(I)=T(I)/T(P)
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.6. Нечетные элементы разделить на значение второго элемента.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P
IF T(I)=INT(T(I) THEN T(I)=T(I)/T(2)
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.7. Нечетным элементам присвоить значения квадратов индексов.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P
IF T(I)=INT(T(I) THEN T(I)=I^2
NEXT
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.8. Первый и последний элемент массива поменять местами.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
Z=T(1)
T(1)=T(P)
T(P)=ZFOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.9. Выполнить циклический сдвиг элементов массива.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
Z=T(1)
FOR I=1 TO P-1
T(I)=T(I+1)
NEXT
T(P)=Z
FOR I=1 TO P
COLOR I
PRINT T(I);
NEXT
10.10. Найти среднее арифметическое элементов массива.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO P
T(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
FOR I=1 TO P
S=S+T(I)
NEXT
S=S/P
PRINT “Искомое значение”; S
10.11. Нахождение минимального (максимального) элемента массива.
INPUT “Введите количество элементов массива ”;P
DIM T(P)
FOR I=1 TO PT(I)=INT(RND(1)*10)
PRINT T(I);
NEXT
MIN=T(1)
FOR I=2 TO P
IF MINT(I) THEN MIN=T(I)
NEXT
PRINT “Минимальный элемент ”;MIN
*Задания на преобразование одномерного массива:
Четные элементы разделить на значение индекса.
Измерена t воздуха в течение месяца :
Найти среднее арифметическое t воздуха.
Количество дней, когда t была 0.(
Найти max, min.
Нечетным элементам присвоить значения квадратов их индексов.
Сожмите массив, выбросив каждый второй его элемент ( дополнительные массивы использовать не разрешается).
Выполнить циклический сдвиг элементов влево.
Построить алгоритм (и написать программу) подсчета количества элементов массива больших среднего арифметического всех элементов этого массива.
Дан массив. Найти наибольшее и наименьшее и вычислить их разность.
Дан одномерный массив. Все его элементы, не равные нулю, переписать (сохраняя их порядок) в начало массива, а нулевые элементы- в конец массива (новый массив не заводить).
Задан массив С, содержащий M чисел. Сформировать два массива А и В, включая в массив А четные (по номеру ) элементы массива С в порядке их следования, а в массив В нечетные.
Найти средние арифметическое каждого третьего элементы.
Подсчитать количество четных и нечетных элементов массива.
В предложенном одномерном массиве замените все нулевые элементы.
Значения элементов, имеющих нечетные индексы, умножить на второй элемент.
В массиве Т(к) найти сумму всех чисел 2 и подсчитать количество ”0”.
В массиве А(N) найти сумму отрицательных элементов.
Массив создать генератором случайных чисел у каждого второго элемента, изменить знак на противоположный.
В массиве D(M) заменить нулями элементы, имеющие нечетные индексы.
Заменить в массиве A(N) четные элементы на «0».
В массиве T(N) заменить все четные элементы на «0», т. е. Например: если T(I)=(3,6,9,12,15), получить T(I)=(3,0,9,0,15).
В одномерном массиве найти те элементы, которые совпадают с индексами и вывести сообщение о наличии (и количестве) таковых.
Заполнение нулями всех элементов массива.
Каждый третий элемент массива заменить “0” Дан массив К каждому третьему элементу прибавить значение его индекса
Найти произведение массива
В массиве A(N) найти произведение отрицательных чисел
Нечетные элементы разделить второго элемента.
Значения элементов, имеющих четные индексы, разделить на последний элемент.
Элементы с четными и нечетными номерами (индексами) поменять местами.
Найти сумму положительных элементов заданного массива Т, содержащего Р чисел.
Элементы массива с 3-го по 9-ый возвести в квадрат.
Дан массив Д(К).Заменить нулями элементы, имеющие четные индексы.
Дан массив C(Q).Каждый третий элемент разделить на значение второго элемента.
Найти среднее арифметическое элементов массива А(N).
Элементы с 5-го по 10 заменить обратными величинами.
Нахождение минимального элемента массива.
Нахождение максимального элемента массива.
Найти среднее арифметическое четных и среднее арифметическое нечетных элементов массива.
Дана последовательность натуральных чисел. Подсчитать сколько элементов 7.
Все элементы
Обмен:1 и последний элементы массива поменять местами.
Дан массив. Нечетные элементы заменить их обратными величинами.
Написать программу нахождения количества чисел в массиве больших среднего арифметического этой последовательности.
В одномерном массиве сосчитать количество 3 и 7 и вывести на экран сообщение о том, каких цифр и на сколько больше.
Нечетные элементы умножить на последний элемент.
Найдите сумму всех нечетных чисел от –100 до 100.
Подсчитать количество элементов в массиве 3 и сумму элементов 5.
Дан массив. Первые пять элементов возвести в квадрат.
В массиве В(х) подсчитать количество “5” и “3”.
Дан массив. Элементы с 4-го по 8-й разделить на их индекс.
Элементы с 7-го по 13 заменить противоположными значениями.
Информация о количестве осадков, выпавших в течение месяца и о температуре воздуха задана в виде массивов. Определить, какое количество осадков выпало в виде дождя, какое в виде снега. Считать, что идет дождь, если температура воздуха 0.
11. Слияние и разбиение одномерного массива
11.1. Перестановка элементов внутри массива :
Элементы с четными и нечетными номерами поменять местами.
INPUT “ВВЕДИТЕ КОЛ-ВО ЭЛЕМЕНТОВ МАССИВА (четное)”;N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RND(1)*10)
NEXT
FOR I=1 TO N STEP2
C=A(I)
A(I)=A(I+1)
A(I+1)=CNEXT
FOR I=1 TO N
PRINT A(I);
COLOR I
NEXT
11.2. Слияние двух массивов.
11.2.1. Заданы два массива А и В, содержащие по G чисел. Сформировать массив С, включая в него сначала все элементы массива А, затем все элементы массива В.
INPUT “Введите кол-во элементов массива”; G
DIM A(g),S(g),C(2*g)
FOR I=1 TO g
INPUT “Введите элемент массива А”;A(I)
NEXT
FOR I=1 TO G
INPUT “Введите элемент массива B”;B(I)
NEXT
FOR I=1 TO G
C(I)=A(I)
NEXT
FOR I=1 TO G
C(G+I)=B(I)
NEXT
FOR I=1 TO 2*G
PRINT C(I);
COLOR I
NEXT
11.2.2. Сформировать массив C, включая в него попеременно элементы массивов A и B, содержащих по N чисел.
+
INPUT “Введите кол-во элементов массива”; N
DIM A(N),S(N),C(2*N)
FOR I=1 TO N
COLOR 5
A(I)=INT(RND(1)*10)
PRINT A(I);
NEXT
COLOR 6
FOR I=1 TO N
B(I)= INT(RND(1)*10)
PRINT B(I);
NEXT
FOR I=1 TO N
C(I*2-1)=A(I)
C(I*2)=B(I)
NEXT
FOR I=1 TO 2*N
PRINT C(I);
COLOR I
NEXT
11.3. Разбиение массива
11.3.1. Масcив С разделить на два массива А и B.
INPUT “Введите кол-во элементов массива С (четное)”;N
DIM C(N)
COLOR 2FOR I =1 TON
C(I)=INT(RND(1)*10)
PRINT C(I);
NEXT
DIM A (N/2), B (N/2)
FOR I=1 TO N/2
A (I)=C (I)
B (I)= C(N/2+I)
NEXT
COLOR 3
FOR I =1 TO N/2
PRINT A(I);
NEXT
COLOR 4
FOR I =1 TO N/2
PRINT B(I);
NEXT
*Задания на слияние и разбиение одномерного массива.
Из двух упорядоченных массивов A(K) и B(L) сформируйте массив C(K+L), упорядоченный так же, как исходные.
Для заданного массива A(M) сформируйте массив B(M/2) по формуле B(I)=(A(I)+A(M+1-I))/2
Задан массив С, содержащий М чисел. Сформировать два массива А и В, включая в массив А четные (по номеру) элементы массива С в порядке их следования, а в массив В нечетные.
Из двух упорядоченных массивов A(N), B(M) сформировать один, упорядоченный в обратную сторону.
12. Двумерный массив.
12.1. Понятие двумерного массива
12.1.1. Повторение.
Одновременный массив.
Что такое массив. Как описывается массив?
Как обозначается элемент массива?
Как формируется одномерный массив? В цикле I=1,N
Программа создания массива.
В
ывод одномерного массива.
12.1.2. Определение
Двумерный массив.
Как описывается? DIM A(N,M)
Как обозначается элемент массива? A(I,J)
К
ак изменяются индексы? I=1,N; J=1,N
Как формируется двумерный массив? Два цикла (вложенный):
FOR I=1 TO N
FOR J=1 TO N
. . . . . . . . . . . . . .
NEXT
NEXT
Цикл, открывающийся первым, закрывается последним. Для каждого значения счетчика внешнего цикла перебираются все значения счетчика внутреннего цикла.
Программа создания двумерного массива (генератором случайных чисел):
FOR I=1 TO N
FOR J=1 TO N
COLOR J
A(I,J)=INT(RND(1)*10)
PRINT A(I,J);
NEXT
NEXT
Вывод двумерного массива (Смотрите предыдущий пункт).
Создание 2-мерного массива вычислением (по формуле).
Преобразование двумерного массива в одномерный и обратно.
Выборки и преобразование элементов двумерного массива.
АРИФМЕТИЧЕСКИЙ КВАДРАТ
INPUT N a(i,J)=a(i-1,J)+a(i,j-1)
J=0
1 | 1 | 1 | 1 | 1 | 1 |
1 | 2 | 3 | 4 | 5 | |
1 | 3 | 6 | 10 | 15 | |
1 | 4 | 10 | 20 | 35 | |
1 | 5 | 15 | 35 | 70 | |
1 | | | | | |
FOR i=0 TO N
A(i,J)=1
I=0
FOR J=0 TO N
A(i,J)=1
NEXT
FOR J=1 TO N
FOR I=1 TO N
A(i,J)=a(i-1,J)+a(i,J-1)
PRINT A(I,J);
NEXT
NEXT
Паук идет по направлению к солнцу.
Из одной клетки в другую только снизу вверх или справа налево. Сколько возможных путей есть у паука ?
12.1.3. Преобразование двумерного массива в одномерный и обратно.
12.1.3.1. Из массива А(N,N) сформируйте B, развернув по строкам и столбцам.
K=0
DIM B ( N ^2)
REM K=1
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND(1)*10)
PRINT A(I,J);
K=K+1
B(K)=A(I,J)
NEXT
NEXT
FOR I=1 TO N*N
PRINT B(K);
NEXT
12.1.3.2. По условию предыдущей задачи проделайте обратную операцию.
For j=1 to n
FOR I=1 TO N
K=K+1
A(I,J)=B(K)
PRINT A(I,j);
NEXTNEXT
12.1.4. Выборка и преобразование элементов двумерного массива.
12.1.4.1. В заданном массиве K(N,F) найдите сумму элементов в каждой строке. Сформируйте одномерный массив Q(N), содержащий полученные суммы. Элементы K(I,J) сформируйте случайным образом
INPUT “Количество строк”; N
INPUT “Количество столбцов”; F
FOR I=1 TO N
S=0
FOR J=1 TO F
K(i,J)=int(rnd(1)*10)
COLOR J
PRINT K(I,J);
S=S+K(I,J)
NEXT
Q(I)=S
PRINT
NEXT
FOR I=1 TO N
COLOR I
PRINT Q(I);
NEXT
12.1.4.2. Сформируйте двумерную матрицу A(N,N) случайным образом. Элементы равные «3» замените нулем. Подсчитайте количество таких элементов.
Input N
INPUT M
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND(1)*10)
IF A(I,j)=3 THEN A(I,J)=0:K=K+1
PRINT A(I,J);
NEXT
NEXT
PRINT “Таких элементов”; K
12.1.4.3. Сформируйте двумерную матрицу A(N,N) случайным образом. Элементы по диагонали замените «9».
INPUT N
INPUT M
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND(1)*10)
PRINT A(I,J);
IF I=J OR I+J=N+1 THEN A(I,J)=9
NEXT
NEXT
FOR I=1 TO N
FOR J=1 TO N
PRINT A(I,J);
NEXT
PRINTNEXT
12.1.4.4. Сформируйте двумерный массив A(N,N) случайным образом. Элементы первого и последнего столбца замените «1». Элементы первой и последней строки замените «0».
FOR I=1 TO N STEP N-1
FOR J=1 TO M
A(I,J)=1
NEXT
NEXT
FOR J=1 TO M STEP M-1
FOR I=1 TO N
A(I,J)=0
NEXTNEXT
12.1.4.5. Двумерный массив заполнить «0» и «1» в шахматном порядке.
INPUT N
INPUT M
DIN A(N,M)
K=0
FOR I=1 TO N
FOT J=1 TO M
IF K=0 THEN A(I,J)=0:K=1 ELSE A(I,J)=1:K=0
NEXT
NEXT
FOR I=1 TO N
A(I,1)=1
A(I,M)=1
NEXT
FOR J=1 TO M
A(I,J)=0
A(M,J)=0
NEXT
12.1.4.6. Сформируйте массив A(N,N) случайным образом. Подсчитайте количество строк, сумма которых делится на 2 без остатка и количество столбцов, сумма которых 2*N.
INPUT N
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND(1)*10)
NEXT
NEXT
OST=0
FOR I=1 TO N
OST=0
S1=0
K1=0
FOR J=1 TO N
S1=S1+A(I,J)
NEXT
OST=S1 MOD 2
REM S1/2=INT(S1/2)
IF OST=0 THEN K1=K1+1
NEXT
FOR J=1 TO N
S2=0
K2=0
FOR I=1 TO N
S2=S2+A(I,J)
NEXT
IF S2=2*N THEN K2=K2+1
NEXT
PRINT “Кол-во столбцов, удовлетворяющих условию”; K2
Print “Кол-во строк, удовлетворяющих условию”; K1
12.1.4.7. В массиве A(N,M) все числа различны. В каждой строке выбирается минимальный элемент, затем среди этих чисел выбирается максимальный. Напечатайте номер строки K массива Q(N), в которой расположено выбранное число.
INPUT “Введите количество строк ”; N
INPUT “Введите количество столбцов”; M
DIM Q(N)
DIM A(N,M)
FOR I=1 TO N
FOR J=1 TO M
COLOR J
A(I,J)=INT(RND(1)*10)
PRINT A(I,J);
NEXT
NEXT
FOR I=1 TO N
MIN=A(I,1)
FOR I=2 TO N
IF MINA(I,J) THEN MIN=A(I,J):K=J
NEXT
PRINT “В ”; K; “столбце ”; I; ”строки находится минимальный элемент”; MIN
Q(I)=MIN
NEXT
MAX=Q(1)
FOR I=2 TO N
IF MAX
NEXT
PRINT “В ”;K;”строке находится ”;MAX
12.1.4.8. Сформируйте двумерную матрицу А(N,N) случ. образом. Элементы, равные"3", замените нулем. Подсчитайте кол-во таких элементов.
INPUT N
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(KND(1)*10)
IF A(I,J)=3 THEN A(I,J)=0;K=K+1
PRINT A(I,J);
NEXT
NEXT
PRINT "таких элементов";К
12.1.4.9. Сформируйте двумерную матрицу А(N,N) случ. образом. Элементы по диагонали замените «9».
INPUT N
INPUT M
FOR I=1 TO N
FOR J=1 TO N
A(I,J)=INT(RND(1)*10)
PRINT A(I,J)
IF I=J THEN A(I,J)=9
OR I+J=N+1
NEXT
NEXT
FOR I=1 TO N
FOR J=1 TO N
PRINT A(I,J)
NEXT
NEXT
FOR I=1 TO N
A(I,I)=1
A(I,n+1-I)=1
NEXT
12.1.4.10. Сформируйте 2-мерный массив A(N,N) случайным образом. Элементы
1-й и последней строки замените”0”. 1-го и последнего столбца замените
“1”.
FOR I=1 TO N STEP N-1 FOR J=1 TO M STEP M-1
FOR J=1 TO M FOR I=1 TO N
A(I,J)=0 A(I,J)=1
NEXT NEXT
NEXT NEXT
Произвольных столбцов заменить “1”. Произвольных стpок
заменить “0”.
FOR I=1 TO N FOR J=1 TO M
A(I,J)=1 A(I,J)=0:A(M,J)=0
A(I,M)=1 NEXT
NEXT
12.1.4.11. Сформируйте массив A(N,N) образом. Подсчитайте кол-во строк, сумма эл-в которых делится на 2 без остатка и кол-во столбцов, сумма которых 2 * N.
INPUT M
FOR I=1 TO N
COLOR I
FOR J=1 TO N
A(I,J) = INT (RND(1)*10);
NEXT
NEXT
OST=0
FOR I=1 TO N
OST=0:S1=0:K1=0
FOR J=1 TO N
S1=S1+A(I,J)
NEXT
OST=(S1)MOD(2)
IF OST=0 THEN K1=K1+1
NEXT
FOR J=1 TO NS2=0: K2=0
FOR I=1 TO N
S2=S2+A(I,J)
NEXT
IF S22*N THEN K2=K2+1
NEXT
PRINT “кол-во столбцов, удовл. усл ="; К2;"кол-во строк удовл. усл="; К1
*
I=I+1
MAX=Q(I)

K=I
В двумерном массиве каждую вторую строку заменить “0”. Каждый второй столбец заменить “1”.
В двумерном массиве произвольных чисел B(4,7) поменять местами второй и пятый столбцы.
3. В двумерном массиве A(N,N) сумма элементов по строкам равно ли сумме элементов по столбцам?.
4. В двумерном массиве в каждой строке занулите каждый третий элемент. А в каждом втором столбце каждый второй элемент замените 9.
5.В двумерном массиве у каждого второго элемента каждой второй строки извлечь корень. Изменить цвет этих элементов. В нечетных строках каждый третий элемент возвести в степень равную номеру строки.
6.Сформируйте массив C(N,N), где
I!
C(I,S)= S!*(I-S)! , при I S
0 , при I
7.Сформировать двумерный массив и заполнить числами Пифагора
a2+b2=c2
Например 32+42=52
Тогда массив будет иметь вид 3;4;5;*2
6;8;10;*3
9;12;15*4
12;16;15*4
т. е. первую тройку чисел.
8.Создать A(N,N)-двумерный массив, где каждый элемент получается геометрической прогрессией с шагом 2,(самый 1-ый элемент=7). Сформировать массив B, в который войдут все простые числа из первого.
9.В заданном A(N,N) найдите произведение элементов в каждом столбце, сформируйте одномерный массив содержащий полученные произведения по убыванию.
10.В заданном массиве A(N,N) элементов элементов в каждой строке. Сформировать два одномерных массива (содержащих четные и нечетные элементы) расположенные по возрастанию элементов.
11.В массиве X(M,N) все числа различны. В каждой строке выбирается минимальный элемент, затем среди этих чисел выбирается максимальный. Напечатать номер строки массива Х, в котором каждый элемент встречается несколько раз. Развернув его по строкам, удалите все повторяющиеся и сверните обратно по столбцам в массив В.
12.Создать двумерный массив A(N,N), где по строке каждый элемент
получается арифметической прогрессией с шагом 3,( самый первый элемент =2).
13.Сформировать одномерный массив B(N),в который войдут все числа из первого, кратные 2.
14.В двумерном массиве в каждой строке выбирается минимальный,
за тем среди этих чисел выбирается максимальное. Напечатайте номер строки массива A, в котором расположено выбранное.
15.Переформируйте А(N,N) так, чтобы строки нового массива располагались по убыванию их поэлементных сумм.
16.Выясните, является ли предложенный двумерный массив размером N*N магическим квадратом, т .е. массивом , суммы элементов которого по строкам , по столбцам и по обоим диагоналям равны.
17.В двумерном массиве А(N,N) по каждой строке найти количество чисел 5.Сформировать одномерный массив С, содержащий эти числа.
По каждому столбцу найти числа , кратные 9. Сформировать массив В, содержащий эти числа.
Все массивы вывести в разном цвете.
18.Рост студентов группы представлен в виде таблицы (2 * 30). Определить средний рост.
19. Успеваемость студентов группы представлена в виде таблицы(30 *10).Определить среднюю успеваемость по каждому предмету и средний балл каждого студента.
20. Сформируйте массив А(N,N), где каждый элемент формируется геометрической прогрессией по любым двум ее членам, номера которых известны.
21. Сформируйте массив А(N,N),где каждый элемент формируется арифметической прогрессией по любому члену прогрессии (номер которого известен) и разности прогрессии.
22. Сформируйте двумерный массив А(N,N), где каждый элемент формируется геометрической прогрессией по любому члену прогрессии, номер которого известен и равен знаменателю прогрессии.
23.Введите таблицу (10;10). Найдите произведение элементов в каждом столбце. Сформируйте строку, содержащую полученные произведения по убыванию.
24.Двумерный массив заполнить «0» и «1» в шахматном порядке.
25.Транспонируйте произвольный двумерный массив, т.е. поменяйте нумерацию его элементов
А(i, j)=А(j, i).
Дополнительные массивы не использовать.
26.Создать таблицу (20 * 20), у каждого второго элемента каждой второй строки извлечь корень. Изменить цвет этих элементов. В нечетных строках каждый третий элемент возвести в степень, равную номеру строки.
27.Сформеруйте двумерный массив N *N, где N лежит в пределах от 2 до 9,представляющий собой таблицу для N-ричной системы исчисления.
28.Создать таблицу(20*20), где каждый элемент получается геометрической прогрессией с шагом 2,(самый 1-ый элемент=7).
Сформировать строку, в которую войдут все простые числа из таблицы.
29.Сформируйте 2-мерный массив A(N,N) случайным образом.
Элементы 1-го и последнего столбца замените “1”.
Элементы 1-ый и последней строки заменить “0”
30.Создать таблицу(20;20)
По каждой строке найти числа, больше 5.(Ввести эти числа).
По каждому столбцу найти числа, кратные 9. Вывести эти числа .
Все массивы вывести в разном цвете.
31.В двумерном массиве 2 и 5 столбец поменяйте местами, 1 и 4 строку поменяйте местами.
32.Переформируйте A(N,N) так, чтобы столбцы нового массива располагались по возрастанию их поэлементных сумм.
33.Сформируйте массив A(N,M) случайным образом. Подсчитайте количество строк, сумма которых делиться на 2 без остатка и количество столбцов, сумма элементов которых 2*N.
34.Введите таблицу(10;10) элементов. Найдите сумму элементов в N-ой строке. Сформируйте строку, содержащую полученные суммы, расположенные по возрастанию.
35. Сформировать двумерный массив A(N,N) и заполнить цепочкой цифр 1,2,3,4,5,6,7,8,9.
13. Замечательные алгоритмы.
13.1. Куб любого натурального числа равен сумме N нечетных чисел, следующих по порядку за числами , сумма которых составила куб числа N-1.
1³=1 J=1
2³ =3+5 FOR I=1 TO N
3³=7+9+11 PRINT I+”^3”;
4³=13+15+17+19 FOR K=1 TO I
5³=21+23+25+29 PRINT J , “ +”;
J=J+2
NEXT
PRINT “ “
NEXT
9.2.Возведение в квадрат без операции умножения. Т. е. Квадрат любого натурального числа N равен сумме N первых нечетных чисел.
1²=1 FOR I=1 TO N
2²=1+3 PRINT I + “^2”
3²=1+3 +5 FOR K=1 TO I-1
4²=1+3+5+7 PRINT J+2; “+”;
5²=1+3+5+7+9 NEXT
PRINT J+2
NEXT
13.3. Пифагоровы числа. Т. е. умножаем каждое из чисел основной тройки на любое натуральное число, снова получим числа Пифагора.
A²+B²=C² (3²+4²=5²)
3 4 5
6 8 10
9 12 15
12 16 20
15 20 25
Найти все Пифагоровы числа
а=3: в=4: c=5
20 FOR I=2 TO 1000
30 PRINT а;”^2+”:b;”^2=”;c;”^2”
40 a=a*I
b=b*I
60 c=c*I
70 IF C1000 GO TO 90
NEXT
END
Как продолжение темы: “Замечательные свойства чисел” рассмотрим несколько исторических алгоритмов . И на их примере используем условные операторы и операторы перехода.
10 INPUT A
20 INPUT B
30 IF AB THEN C=A mod b:a=c ELSE c=b mod a:b=c
40 IF A=0 THEN PRINT “НОД=”;B:END
50 IF B=0 THEN PRINT “НОД=”;A:END
60 GO TO 30
10 INPUTA
15 INPUTB
20 A1=A
25 B1=B
30 IF AB THEN C=a MOD B:a=c ELSE C=B MOD А:B=С
40 IF A=0 THEN C=A1/B*B1:PRINT C:END
50 IF B=0 THEN C=A1/B*B1:PRINT C:END
60 GO TO 30
13.6. Числа Фибоначчи. Дана последовательность чисел, причем каждый следующий равен сумме предыдущих. Для этой последовательности выполняется A(I)=A(I-1)+A(I-2). Получается последовательность чисел 0,1,1,2,3,5,8,13,21…
INPUT N
DIM A(N)
A(0)=0
A(1)=1
FOR I=2 TO N
A(I)=A(I-1)+A(I-2)
NEXT
FOR I=0 TO N
PRINT A(I);
NEXT
13.7. Алгоритм Горнера. Алгоритм получения N-той последовательности многочлена Ньютона: Y=A0*XN+A1*XN-1+…AN-1*XN.
S1=AI-2-X+AI-1
………………….
SI=S I-1*X+A I
Найти до N-того элемента последовательности.
INPUT NDIM A(N) :INPUT X:DIM S(N)
FOR I=0 TO N
A(I)=INT(RND(1)*10)
NEXT
S(1)=A(0)*X+A(1)
FOR I=2 TO N
S(I)=S(I-1)*X+A(I)
NEXT
FOR I=1 TO N
PRINT S(I);
NEXT