- Преподавателю
- Информатика
- Изучаем язык BASIC. Занятие 15. Вложенные циклы
Изучаем язык BASIC. Занятие 15. Вложенные циклы
Раздел | Информатика |
Класс | - |
Тип | Конспекты |
Автор | Гегелашвили Т.П. |
Дата | 18.08.2015 |
Формат | doc |
Изображения | Нет |
Занятие 15
Вложенные циклы.
С помощью вложенных циклов можно организовать весьма сложные повторения, используя цикл в цикле.
FOR I=…
FOR J=...
… - тело цикла
NEXT J
NEXT I
Написать таблицы до 9 в виде
1*2=2
2*2=4 и т.д.
FOR I=2 TO 9
FOR J=1 TO 9
? J;"*";I;"=";J*I
NEXT J
NEXT I
Написать Пифагорову таблицы умножения до 5
FOR I=1 TO 5
FOR J=1 TO 5
? J*I;
NEXT J
?
NEXT I
Напечатать четырехзначные натуральные числа, у которых нет одинаковых цифр.
FOR T=1 TO 9
FOR S=0 TO 9
FOR D=0 TO 9
FOR E=0 TO 9
IF T<>S AND T<>D AND T<>E AND S<>D AND S<>E AND D<>E THEN M=T*1000+S*100+D*10+E : ?M
NEXT E,D,S,T
Задан массив, заполненный в диапазоне [-18,24] отсортировать массив: расположить сначала все положительные, а затем отрицательные.
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*50-25)
PRINT A(I);
NEXT
FOR I=1 TO N
FOR J=I TO N
IF A(J) >0 THEN SWAP A(I), A(J) : EXIT FOR
NEXT J
NEXT I
FOR I=1 TO N
PRINT A(I);
NEXT
Дано натуральное число N, A(N) заполнить в диапазоне [-9,12] упорядочить элементы массива следующим образом сначала все элементы кратные 5, затем все элементы кратные 4, потом все остальные. Новый массив не создавать.
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*21-9)
PRINT A(I);
NEXT
K=0
FOR I=1 TO N
FOR J=I TO N
IF A(J)/5=A(J)\5 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=K TO N
FOR J=I TO N
IF A(J)/5=A(J)\5 THEN SWAP A(I), A(J) : EXIT FOR
NEXT J
NEXT I
FOR I=1 TO N
PRINT A(I);
NEXT
Второй вариант
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*21-9)
PRINT A(I);
NEXT
K=1
FOR I=1 TO N
IF A(I)/5=A(I)\5 THEN SWAP A(I), A(K) :K=K+1
NEXT I
FOR I=K+1 TO N
IF A(I)/4=A(I)\4 THEN SWAP A(I), A(K)
NEXT I
FOR I=1 TO N
PRINT A(I);
NEXT
Дано натуральное число N, A(N) заполнить в диапазоне [-25,25] упорядочить элементы массива следующим образом сначала все элементы кратные 2, затем все элементы кратные 3, потом все остальные. Новый массив не создавать.
Написать самостоятельно.
Домашнее задание.
Дано натуральное число N, A(N) заполнить в диапазоне [-9,10] упорядочить элементы массива следующим образом сначала все элементы четные отрицательные, затем все элементы четные положительные, все элементы нечетные отрицательные, затем все элементы нечетные положительные, потом все равные нулю. Новый массив не создавать.
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*19-9)
PRINT A(I);
NEXT
K=0
FOR I=1 TO N
FOR J=I TO N
IF A(J)/2=A(J)\2 AND A(J)<0 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=k + 1 TO N
FOR J=I TO N
IF A(J)/2=A(J)\2 AND A(J)>0 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=k + 1 TO N
FOR J=I TO N
IF A(J)/2<>A(J)\2 AND A(J)<0 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=k + 1 TO N
FOR J=I TO N
IF A(J)/2<>A(J)\2 AND A(J)>0 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=K+1 TO N
FOR J=I TO N
IF A(J)=0 THEN SWAP A(I), A(J) : EXIT FOR
NEXT J
NEXT I
FOR I=1 TO N
PRINT A(I);
NEXT
Дано натуральное число N, A(N) заполнить в диапазоне [-5,25] удалить из массива все элементы, по абсолютной величине меньше 2. Среди оставшихся найти среднее арифметическое элементов кратных 3.
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*30-25)
PRINT A(I);
NEXT
K=0
FOR I=1 TO N
FOR J=I TO N
IF ABS(A(J))>=2 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
S=0 : L=0
FOR I=1 TO K
IF A(I)/3=A(I)\3 THEN S=S +A(I): L=L+1
NEXT I
SR=S/L
FOR I=1 TO K
PRINT A(I);
NEXT
PRINT "SR=";SR
Дано натуральное число N, A(N) заполнить в диапазоне [-15,22] удалить из массива все элементы, по абсолютной величине меньше 5.
CLS
RANDOMIZE TIMER
INPUT "N=";N
DIM A(N)
FOR I=1 TO N
A(I)=INT(RDN*37-15)
PRINT A(I);
NEXT
K=0
FOR I=1 TO N
FOR J=I TO N
IF ABS(A(J))>=5 THEN SWAP A(I), A(J) :K=K+1 : EXIT FOR
NEXT J
NEXT I
FOR I=1 TO K
PRINT A(I);
NEXT