- •Информатика
- •Оглавление
- •Введение
- •Лекция № 1Тема «Основные понятия и определения Информатики»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 2 Тема «Арифметические основы эвм»
- •Сложение
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 3 Тема «Форматы данных и машинные коды чисел»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 4Тема «Алгоритмы. Базовые алгоритмические конструкции»
- •Структурный подход к программированию
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 5Тема «Языки программирования и их классификация»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 6 Тема «Программирование на языке qbasic»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 7 Тема «Программирование на языке qbasic»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 8Тема «Программирование с использованием массивов на языке qbasic»
- •Статические и динамические массивы
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 9Тема «Создание процедур и функций на языке qbasic»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция 10 Тема «Общие принципы организации и работы современных эвм»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №11Тема «Персональный компьютер и его аппаратное обеспечение»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №12 Тема «Память пк и периферийные устройства»
- •1. Устройства ввода
- •Устройство бесперебойного питания (убп)
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №13Тема «История и классификация эвм»
- •I. Классификация по назначению:
- •II. Классификация пк по типоразмерам:
- •III. Классификация по условиям эксплуатации:
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №14 Тема «Программное обеспечение компьютеров»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция № 15 Тема «Программное обеспечение компьютеров»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №16Тема «Компьютерные сети»
- •Классификация компьютерных сетей
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №17Тема «Локальные вычислительные сети. Протоколы.»
- •Лвс с выделенным сервером (иерархические)
- •1. Физический уровень (Physical Layer)
- •2. Канальный уровень (Data-Link Layer)
- •3. Сетевой уровень (Network Layer)
- •4. Транспортный уровень (Transport Layer)
- •5. Сеансовый уровень (Session Layer)
- •6. Уровень представления (Presentation Layer)
- •7. Прикладной уровень (Application Layer)
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №18 Тема «Коммутация. Технологии лвс»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №19Тема «Глобальная сеть и ее службы»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №20Тема «Основные понятия базы данных»
- •Архитектура информационной системы
- •Трехуровневая модель бд
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №21Тема «Модели организации данных»
- •Модели организации данных
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №22Тема «Работа в субд MicrosoftAccess»
- •Системы управления базами данных
- •Субд microsoftaccess
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №23Тема «Работа в субд Access»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №24 Тема «Угрозы безопасности информационных систем и информационных технологий»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
- •Лекция №25 Тема «Криптографические методы защиты информации»
- •Контрольные вопросы для самоподготовки студентов
- •Ссылки на литературные источники, приведенные в рабочей программе дисциплины
Статические и динамические массивы
Все массивы можно разделить на два вида:
массивы постоянного размера (P(1 to 7) , F(4)). По умолчанию массив, границы которого заданы константными выражениями, считается статическим. Память для размещения такого массива выделяется на этапе компиляции программы и сохраняется за ним на весь период выполнения программы;
массивы переменного размера (P (1 TOk) , C(m,d) - динамичсекие, т.е. в качестве размеров массивов разрешается указывать переменные. Под динамический массив память выделяется в ходе выполнения программы.
Следует только помнить: переменные – размеры массивов должны быть определены до обращения к оператору DIM.
Пример описания массива с переменными размерами:
N=4: M=3 DIM A (N, M), С21(М) |
Заполнение массивов значениями
В QB отсутствуют операции обработки массивов в целом. Для выполнения операции над массивом необходимо перечислить операции, выполняемые над каждым его элементом.
Элементы массивов получают значения с помощью операторов ввода или присваивания, как простые переменные.
Заполнение с клавиатуры
DIM A (1 to 25)
FOR i=1 TO 25
PRINT “Введите ”; i; “элементмассиваА”
INPUT A(i)
NEXT i
Заполнение с использованием операторов DATA и READ:
DATA 20, 30, 40, 50, 80, 90, 12, 45, 33, 8, 27, 44
DIM B%(1 to 12)
FOR i=1 TO 12
READ B%(i)
NEXTi
Заполнение с помощью оператора присваивания с использованием стандартных функций:
Option Base 1 DIM C(100) as single FOR i=1 TO 100 C(i)=RND(1) NEXTi |
Выполнение приведенной программы несколько раз приводит к получению одной и той же последовательности чисел, которая была раньше, т.е. функция RND генерирует псевдослучайные числа.
Поэтому перед использованием функции RND в программе необходимо случайным образом определить место в этой последовательности, начиная с которого будут выбираться эти числа. Для этой цели используется оператор рандомизации.
Randomize [m%] |
где m% - число, используемое для запуска генератора случайных чисел.
Оператор Randomizeнужно помещать в начале программы. Если аргумент опущен, то на экран выдается сообщение для ввода любого числа (-32768 to 32767).
Для обеспечения истинной случайности необходимо, чтобы это число при каждом запуске программы было разным. Для этого используется встроенный счетчик времени – функция Timer. Эта функция не имеет аргументов ивозвращает текущее значение времени в секундах с точностью 0,01 сек.Поэтому оператор рандомизации будет иметь следующий вид:RandomizeTimer
Для получения случайного числа из диапазона [a, b] с равномерным законом распределения используется формула:
x=Rnd*(b-a+1)+a
Окончательно программа по заполнению одномерного массива случайными целыми числами из диапазона [a, b] выглядит так:
Dim C(1 to 25) as Integer, i as Integer Input “a=”,a Input “b=”,b Randomize Timer For i=1 to 25 C(i)=Int(Rnd*(b-a+1)+a) Next i |
Для заполнения двумерного массива необходимо организовать вложенные циклы. Например, внешний по номеру строки, а внутренний по номеру столбца:
DIM C(1 to 5,1 to 3) FOR i=1 TO 5 FOR j=1 TO 3 INPUT C(I,J) NEXT j NEXT i |
Dim C(1 to 5, 1 to 3) as Integer Input “a=”,a Input “b=”,b Randomize Timer FOR i=1 to 5 FOR j=1 to 3 C(i,j)=Int(Rnd*(b-a+1)+a) NEXT j NEXT i |
Вывод массивов на экран
Для вывода элементов одномерного массива на экран нужно воспользоваться регулярным циклом:
FOR i=1 TO 25 PRINT A(i); NEXT i |
Двумерные массивы необходимо выводить в привычном виде - по строкам, начиная вывод новой строки массива в новую строку экрана.
PRINT “Вывод на экран массиваC” FOR i=1 TO 5 FOR j=1 TO 3 PRINT C(i,j); NEXT j NEXT i |
После вывода очередной строки оператор PRINT обеспечивает возврат курсора в начало следующей строки.
Однако наглядность вывода может быть нарушена, если элементы массиваС представляются в памяти ЭВМ различным числом значащих цифр. Тогда элементы одного столбца могут занимать различное число позиций и не будут располагаться строго друг под другом.
Для улучшения наглядности можно предложить:
1.В строке PRINT B(I,J) вместо; поставить запятую, тогда вывод каждого элемента строки будет осуществляться в новой зоне, т.е. строго друг под другом. Этот способ можно использовать, если количество столбцов в массивеменьше или равно5.
2.Вывод всех элементов массива по единому формату с использованием оператора PRINT USING обеспечивает вывод результатов в любом желаемом формате. Этот оператор дает возможность задать точный образ вывода отдельных элементов списка.
PRINT USING “формат”; список |
где формат задает образ распечатки.При выводе числовых значений в кавычках предусматривается символ # для каждой выводимой цифры. Для вывода дробного числа в формате задается столько символов #, сколько всего цифр требуется вывести. Например,
PRINT USING “#.##”; 5.629, -1.1 |
Результат на экране:
5.63, 1.1
Вывод двумерного целочисленного массива на экран с использованием оператора PRINT USING:
FOR i=1 TO 5 FOR j=1 TO 7 PRINT USING “####”, С(i,j); NEXT j NEXT i |
При работе с массивами используются двестандартныефункции LBOUND и UBOUND, возвращающие верхнее (UBOUND) и нижнее (LBOUND) значения границ определенного измерения массива. Общий вид функций:
LBOUND (массив[, размерность]) UBOUND (массив[, размерность]) |
где массив - имя массива;
размерность - номер измерения массива, для которого эти функции возвращают значения нижней и верхней границы.Для определения индекса первого измерения используется 1, для второго - 2 и т.д.
Работа функций LBOUND и UBOUND поясняется следующим фрагментом программы:
CLS ‘объявление двумерного массива DIM M (-10 TO 5, 20 TO 30) ‘ выводграницмассива PRINT LBOUND (M, 1); PRINT UBOULD (M, 1) PRINT LBOUND (M, 2); PRINT UBOULD (M, 2) END |
Результат на экране:
-10 5
20 30
