Всё очень просто. Какой из вариантов использовать решать вам.
Пример: Вывести количество отрицательных элементов массива.
REM Вывести количество отрицательных элементов
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
FOR I=0 TO n-1
IF mas(I)<0 THEN k=k+1
NEXT
PRINT
PRINT "Число отрицательных элементов: ",k
END
Подсчет количества отрицательных элементов массива происходит в цикле:
FOR I=0 TO n-1
IF mas(I)<0 THEN k=k+1
NEXT
Пример: Составить программу для вычисления наибольшего элемента массива и его номера.
REM вычисления наибольшего элемента массива и его номера
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
INPUT "Введите элемент массива", mas(I)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
max=mas(0)
nomer=1
FOR I=0 TO n-1
IF mas(I)>max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
PRINT
PRINT "Максимальный элемент: ", max, " с номером ", nomer
END
Задание выполняется в строчках:
max=mas(0)
nomer=1
FOR I=0 TO n-1
IF mas(I)>max THEN
max=mas(I)
nomer=I+1
END IF
NEXT
Вначале примем за наибольший элемент - первый элемент массива mas(0). Затем перебирая все элементы по очереди сравниваем их со значение max и если mas(I)>max, то принимаем этот элемент за наибольший.
Пример: составить программу сортировки массива по возрастанию.
REM сортировка массива
INPUT "Введите число элементов массива", n
DIM mas(n) AS INTEGER
FOR I=0 TO n-1
mas(I)=1+INT(RND*10)
NEXT
CLS
PRINT "Вывод массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
REM сортировка массива
FOR I=0 TO n-2
FOR J=I+1 TO n-1
IF mas(I)>mas(J) THEN
REM если нашли меньший элемент, то обменяем их местами
a=mas(I)
mas(I)=mas(J)
mas(J)=a
END IF
NEXT J
NEXT I
REM конец сортировки массива
PRINT
PRINT "Вывод отсортированного массива"
FOR I=0 TO n-1
PRINT mas(I);
NEXT
END
Иногда для ввода данных удобно использовать операторы DATA и READ.
DATA указывает значения для чтения последующими операторами READ. READ считывает эти значения и присваивает их переменным. RESTORE позволяет READ заново считать значения в указанном операторе DATA.
DATA константы
READ переменные
Пример: ввод массива с использование оператора DATA.
REM Вводданныхиз DATA
DIM mas(5) AS INTEGER
DATA 2, -4, 1, 5, 9
REM вводмассива
FOR I=0 TO 4
READ mas(I);
NEXT
REM выводмассива
FOR I=0 TO 4
PRINT mas(I);
NEXT
END
Учимся программировать!
Конспекты школьника.
Массивы. Двумерные массивы.
Двумерные массивы можно представить себе как таблицы, в ячейках которых хранятся значения элементов массива, а индексы элементов массива являются номерами строк и столбцов.
Объявляются двумерные массивы так же, как переменные и одномерные массивы. Например, целочисленный числовой массив, содержащий 3 строк и 4 столбца объявляется следующим образом:
DIM tabl(3 ,4)
DIM tabl(3 ,4) AS INTEGER
tabl
0 |
1 |
2 |
2 | 7 | 8 | 3 |
22 | 1 | 3 | 34 |
5 | 56 | 9 | 777 |
1 |
2 |
3 |
2 | 7 | 8 | 3 |
22 | 1 | 3 | 34 |
5 | 56 | 9 | 777 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 |
4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |
5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |
6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 |
7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 |
8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 |
9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 |
LEN(s$) | Вычисляет длину строки (количество символов). |
MID$(s$,n,k) | Выделяет из строки s$ k символов начиная с n-го символа. |
VAL(s$) | Преобразует числовую часть начала строки в число. |
STR$(x) | Преобразует число в символьную форму. |
ASC(s$) | Вычисляет десятичный код символа. |
CHR$(x) | Преобразует код в символ. |
INKEY$ | Функция опроса клавиш, нажатых на клавиатуре. |
Пример: составить программу подсчитывающую, количество букв "а" в предложении.
REM кол-вобукв "а"
INPUT "Введитепредложение", s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)="а" THEN k=k+1
NEXT
PRINT "Кол-вобуква =", k
END
Пример: Заменить все буквы "а" в предложении на буквы "о".
REM заменабукв
ss$=""
INPUT "Введитепредложение", s$
FOR I=1 TO LEN(s$)
IF MID$(s$,I,1)="а" THEN
ss$=ss$+"о"
ELSE
ss$=ss$+MID$(s$,I,1)
END IF
NEXT
PRINT "Исправленнаястрока: ", ss$
END
Пример: Получить предложение в обратном порядке следования символов.
REM обратный порядок букв
ss$=""
INPUT "Введите предложение", s$
FOR I=LEN(s$) TO 1 STEP -1
ss$=ss$+MID$(s$,I,1)
NEXT
PRINT "Исправленная строка: ", ss$
END
Учимся программировать!
Конспекты школьника.
Подпрограммы. Процедуры.
При создании средних по размеру программ используется структурное программирование, идея которого заключается в том, что структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста.
С этой целью в программирование введено понятие подпрограммы - набора операторов (команд), выполняющих нужное действие и не зависящих от других частей исходного кода. Программа разбивается на множество подпрограмм, каждая из которых выполняет какое-то действие, предусмотренное исходным заданием.
Подпрограммой называется группа операторов, к которой обращаются из основной программы несколько раз.
Комбинируя подпрограммы, удается сформировать итоговый алгоритм используя блоки кода (подпрограммы), имеющих определенную смысловую нагрузку. Обращаться к этим подпрограммам можно по их имени.
Принято различать два вида подпрограмм - процедуры и функции. Впрочем, это деление весьма условно, потому что они очень близки. Отличаются они тем, что процедура просто выполняет группу операторов, а функция вдобавок вычисляет некоторое значение и передает его в программу.
Когда в программе необходимо выполнить какое-то стандартное действие происходит вызов процедуры. Процедура выполняет действие и возвращает управление обратно программе, которая ее вызвала. В ходе работы процедуры могут вызвать другие процедуры. Прием когда подпрограмма вызывает саму себя называют рекурсией.