
- •Самарский государственный университет путей сообщения
- •Информатика Основы программирования на языке qBasic
- •Введение
- •1) Константы
- •2) Переменные
- •1) Арифметические выражения
- •2) Условные выражения
- •3) Логические выражения
- •4) Символьные выражения
- •1) Оператор комментариев
- •2) Оператор ввода данных input
- •Input “Введите значения х, у”; х, у
- •3) Оператор вывода данных print
- •Р ис.1. Окно редактирования qBasic
- •Задание 2. Таблица умножения
- •Лабораторная работа №2. Программирование линейных алгоритмов
- •Задание 1. Программа нахождения суммы двух чисел
- •Задание 2. Программа нахождения суммы квадратов двух чисел, введенных с клавиатуры
- •Задание 3. Программа нахождения длины окружности и площади круга
- •Задание 4. Вычисление площади треугольника
- •Задание 5. Программа нахождения значения функции
- •Задание 6. Самостоятельное решение задач
- •Контрольное задание № 1 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №3. Разветвляющиеся алгоритмы
- •Задание 1. Использование условного оператора
- •Задание 2. Нахождение максимума двух чисел
- •Задание 4. Решение задач с использованием условного оператора
- •Задание 5. Решение задач на нахождение минимума и максимума
- •Задание 6*. Самостоятельное решение задач повышенной сложности
- •Тестовое задание Вариант вашего задания совпадает с номером вашего компьютера!
- •Контрольное задание №2 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №4. Программирование циклических алгоритмов
- •Пример 2. Алгоритм Евклида.
- •Пример 3. Табулирование функции на отрезке
- •Пример 4. Нахождение суммы
- •Задание 1. Решение задач по теме Номера задач задает преподаватель!
- •Номера задач задает преподаватель!
- •Контрольное задание № 3 Вариант вашего задания задает преподаватель!
- •Отчет по заданию оформите в письменном виде!
- •Лабораторная работа №5. Одномерные массивы
- •Оператор описания массива dimension
- •Пример 1. Ввод и вывод элементов массива
- •Пример 2. Заполнение элементов массива случайными числами
- •Пример 3. Расчет элементов массива по формуле
- •Пример 4. Нахождение максимального элемента массива и его номера
- •Пример 5. Нахождение суммы элементов массива
- •Пример 6. Нахождение количества элементов массива
- •Задание 1. Решение задач по теме Номера задач задает преподаватель!
- •Контрольное задание №4 Вариант вашего задания задает преподаватель! Отчет по заданию оформите в письменном виде!
- •Библиографический список
Лабораторная работа №5. Одномерные массивы
Цель работы: Усвоить правила работы с переменными типа массив. Научиться составлять алгоритмы и программы для обработки одномерных массивов.
Совокупность индексированных переменных, имеющих одно и то же имя, называется массивом. В зависимости от того, сколько индексов имеет индексированная переменная, различают одномерный, двумерный, трехмерный или n-мерный массивы. Количество элементов массива называется его размерностью.
При работе с массивом его предварительно необходимо объявить (это делается в начале программы), чтобы зарезервировать ячейки памяти для хранения его элементов.
Оператор описания массива dimension
Структура оператора:
DIMENSION <имя массива>(размерность)
или
DIM <имя массива>( размерность)
Описать тип элементов массива можно с помощью спецсимволов или с помощью оператора AS.
Например:
DIM a(100) AS INTEGER – массив из ста элементов целого типа;
DIM name(30) AS STRING – массив из 30 элементов строкового типа;
DIM mas!(20) –массив из 20 элементов вещественного типа.
К элементу массива можно обратиться по его индексу: a(24), name(5), mas!(2). Основное преимущество массивов перед обычным набором разноименных переменных состоит в том, что индекс элемента массива можно записывать не числом, а переменной или даже вычислять с помощью выражения: а(2+3), name(i), mas!(j^2+2). Такая форма записи позволяет использовать массивы внутри циклов.
Можно также объявлять массивы и таким образом:
DIM m(1 TO 10) AS INTEGER – массив m состоит из 10 элементов с индексами от 1 до 10
DIM a2(5 TO 10) AS INTEGER – массив а2 состоит из 6 элементов с индексами от 5 до 10
Задачи, связанные с обработкой массивов можно условно разделить на следующие классы:
Однотипная обработка всех или указанных элементов массива.
Поисковые задачи для массивов.
Сортировка массивов.
Рассмотрим наиболее типичные примеры задач.
Пример 1. Ввод и вывод элементов массива
Ввести с клавиатуры компоненты одномерного массива х(5) и вывести их на экран в обратном порядке.
REM Ввод и вывод элементов массива
CLS
DIM x(10)
PRINT Введите массив x(10)
FOR i=1 TO 10
INPUT x(i)
NEXT i
FOR i =10 TO 1 STEP -1
PRINT x(i)
NEXT i
END
Пример 2. Заполнение элементов массива случайными числами
При задании элементов массива часто приходится вводить их с клавиатуры. Чтобы избежать процедуры ввода, можно использовать автоматическое заполнение массива случайными числами. Для создания случайных чисел в языке QBasic есть стандартная функция RND. Она создает случайное вещественное число в диапазоне (0,1).
Например, составим программу заполнения массива из 15 элементов случайными числами в диапазоне от 1 до 10 с последующим выводом на экран.
Важно!
Так как функция RND задает значения в диапазоне (0,1), то вместо неё будем использовать выражение 1+INT(RND*10), которое задает целые значения из диапазона (1,10).
REM Заполнение и вывод элементов массива
CLS
DIM mas(15) AS INTEGER
FOR i = 1 TO 15
mas(i)=1+INT(RND*10)
NEXT i
PRINT "Вывод элементов массива"
FOR i = 1 TO 15
PRINT mas(i);
NEXT i
END
Важно!
Точка с запятой (;) в операторе PRINT позволяет выводить элементы массива в строку.