495515
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
+Добавить материал
и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
Дистанционные курсы профессиональной переподготовки и повышения квалификации для педагогов

Дистанционные курсы для педагогов - курсы профессиональной переподготовки от 1.410 руб.;
- курсы повышения квалификации от 430 руб.
Московские документы для аттестации

ВЫБРАТЬ КУРС СО СКИДКОЙ ДО 90%

ВНИМАНИЕ: Скидка действует ТОЛЬКО до конца апреля!

(Лицензия на осуществление образовательной деятельности №038767 выдана ООО "Столичный учебный центр", г.Москва)

ИнфоурокИнформатикаКонспектыИзучаем язык BASIC. Занятие 13. Заполнение массива случайным образом.

Изучаем язык BASIC. Занятие 13. Заполнение массива случайным образом.

библиотека
материалов
Скачать материал целиком можно бесплатно по ссылке внизу страницы.

Занятие 13

Заполнение массива случайным образом.

Для создания случайных чисел в языке Basic служит стандартная функция RND. Она создает случайное число в диапазоне от 0 до 1. Умножив его на 3, мы получаем случайное число от 0 до 3. А взяв от него целую часть (с помощью функции INT), получим целое случайное число в диапазоне от 0 до 2. Заполнение массива случайными числами из диапазона [x,y] производится с помощью RND по формуле

C=(RND*(yx) + x) – для вещественных чисел, где y > x

C=INT(RND*(yx) + x) – для целых чисел

Пример: для чисел из диапазона [-15,30] C=INT(RND*45– 15)

Пример: Составить программу заполнения массива из 15 элементов случайными числами в диапазоне от -15 до 30. Предусмотреть вывод массива на экран.

CLS

INPUT N
DIM A(N)
FOR I=1 TO N
A(I)= INT(RND*45 – 15 )
NEXT I
PRINT "
Вывод массива"
FOR I=1 TO N
PRINT A(I);
NEXT I
END

CLS - очистка экрана. Точка с запятой (;) в операторе PRINT позволяет выводить элементы массива в строку.

Пример: Вывести количество отрицательных элементов массива.

CLS

INPUT "n", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*45 – 15 )
PRINT A(I);

NEXT I

k=0
FOR I=1 TO n
IF A(I)<0 THEN k=k+1
NEXT I
PRINT
PRINT "
Число отрицательных элементов: ",k
END

Подсчет количества отрицательных элементов массива происходит в цикле:
FOR I=1 TO n
IF
A(I)<0 THEN k=k+1
NEXT
I

Задача. Задан массив A(N) заполненный целыми числами из диапазона [-25,25]. Найти количество элементов кратных 2, их сумму и среднее арифметическое

CLS

RANDOMIZE TIMER

INPUT "Введите число элементов массива", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*50 – 25 )

PRINT A(I);

NEXT I
S=0: K=0: SR=0

FOR I=1 TO n
IF A(I)/2=A(I)\2 THEN k=k+1: S=S+A(I)

NEXT I
SR=S/K
PRINT "k= ";k

PRINT “S= “;S

PRINT “SR=”;SR

END

Задача. Задан массив A(N) заполненный целыми числами из диапазона [-19,26]. Найти количество положительных четных элементов не кратных 3, их сумму и среднее арифметическое

CLS

RANDOMIZE TIMER

INPUT "Введите число элементов массива", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*45 – 19 )

PRINT A(I);

NEXT I
S=0: K=0: SR=0

FOR I=1 TO n
IF A(I)/3<>A(I)\3AND A(I)/2=A(I)\2 AND A(I)>0 THEN k=k+1: S=S+A(I)

NEXT I
SR=S/K
PRINT "k= ";k

PRINT “S= “;S

PRINT “SR=”;SR

END

Пример: Составить программу для вычисления максимального элемента массива А(N), заполненного числами из диапазона [-20,15] и указать его адрес.

CLS
INPUT "
Введите число элементов массива", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*35 – 20 )

PRINT A(I);

NEXT I
max= - 1000
FOR I=1 TO n
IF A(I)>max THEN max=A(I): K=I
NEXT I
PRINT
PRINT "max= "; max, "
с номером "; K
END

Задание выполняется в строчках:
max=-1000
FOR I=1 TO n
IF A(I)>max THEN max=A(I): K=I
NEXT I
Вначале примем за максимальный элемент – минимальное число -1000. Затем перебирая все элементы по очереди сравниваем их со значение max и если А(I)>max, то принимаем этот элемент за максимальный.

Задача. Составить программу для вычисления минимального элемента массива А(N), заполненного числами из диапазона [-20,15] и указать его адрес.

Задача. Составить программу для вычисления минимального четного элемента массива А(N), заполненного числами из диапазона [-20,15] и найти сумму элементов кратным 7, но не кратных 3.

CLS
INPUT "
Введите n ", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*35 – 20 )

PRINT A(I);

NEXT I

S=0: min= 1000
FOR I=1 TO n
IF A(I)

IF A(I)/3<>A(I)\3 AND A(I)/7=A(I)\7 THEN S=S+A(I)
NEXT I
PRINT
PRINT "min= "; min, "
с номером "; K
END

Домашнее задание

  1. Задан массив A(N) в диапазоне [-20,16]. Найти сумму положительных элементов расположенных на нечетных позициях и подсчитать их количество.

CLS

INPUT "n", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*36 – 16 )
PRINT A(I);

NEXT I

S=0 : k=0
FOR I=1 TO n
IF A(I)>0 AND I/2 <> I\2 THEN k=k+1 : S=S+A(I)
NEXT I
PRINT
PRINT "S= "; S; “k=”;k
END


  1. Дано натуральное число N массив A(N) в диапазоне [-21.21]. Найти среднее арифметическое четных элементов массива, если в массиве нет четных элементов, то ответом должно служить произведение ненулевых элементов.

CLS

RANDOMIZE TIMER

INPUT "Введите число элементов массива", n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*42 – 21 )

PRINT A(I);

NEXT I
S=0: K=0: P=1

FOR I=1 TO n
IF I/2=I\2 THEN k=k+1: S=S+A(I)

NEXT I
FOR I=1 TO n
IF k=0 AND A(I)>0 THEN P=P*A(I)

NEXT I
IF k<>0 THEN PRINT "SR= ";S/k

IF k=0 PRINT “P= “;P

END


  1. Задан массив A(N) из диапазона [-15,18] среди элементов, расположенных на четных позициях найти min и указать его номер.

CLS
INPUT "N="; n
DIM A(n)
FOR I=1 TO n
A(I)= INT(RND*33 – 15 )

PRINT A(I);

NEXT I
min= 1000
FOR I=1 TO n
IF A(I)NEXT I
PRINT
PRINT "min= "; min, "
с номером "; K
END


Общая информация

Номер материала: ДВ-004622

Вам будут интересны эти курсы:

Курс повышения квалификации «Табличный процессор MS Excel в профессиональной деятельности учителя математики»
Курс повышения квалификации «Современные информационные технологии и их использование в работе преподавателей. Системы автоматизированного проектирования одежды и организация технологического процесса»
Курс повышения квалификации «Основы создания интерактивного урока: от презентации до видеоурока»
Курс повышения квалификации «Облачные технологии в образовании»
Курс «Фирменный стиль» (Corel Draw, Photoshop)
Курс «Оператор персонального компьютера»
Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»
Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»
Курс профессиональной переподготовки «Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»
Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Современные тенденции цифровизации образования»
Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»

Благодарность за вклад в развитие крупнейшей онлайн-библиотеки методических разработок для учителей

Опубликуйте минимум 3 материала, чтобы БЕСПЛАТНО получить и скачать данную благодарность

Сертификат о создании сайта

Добавьте минимум пять материалов, чтобы получить сертификат о создании сайта

Грамота за использование ИКТ в работе педагога

Опубликуйте минимум 10 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Свидетельство о представлении обобщённого педагогического опыта на Всероссийском уровне

Опубликуйте минимум 15 материалов, чтобы БЕСПЛАТНО получить и скачать данное cвидетельство

Грамота за высокий профессионализм, проявленный в процессе создания и развития собственного учительского сайта в рамках проекта "Инфоурок"

Опубликуйте минимум 20 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Грамота за активное участие в работе над повышением качества образования совместно с проектом "Инфоурок"

Опубликуйте минимум 25 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Почётная грамота за научно-просветительскую и образовательную деятельность в рамках проекта "Инфоурок"

Опубликуйте минимум 40 материалов, чтобы БЕСПЛАТНО получить и скачать данную почётную грамоту

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.