- •Введение.
- •Лекция 1 Основные понятия информатики
- •1.1. Информация и формы ее представления
- •1.2. История развития информатики
- •1.3. Классификация эвм
- •1.4. Современные технические средства информационной и вычислительной техники (краткий обзор)
- •1.5. Структурная схема эвм
- •1.6. Классификация программного обеспечения.
- •Основная
- •Лекция 2 Основы программирования. Языки и системы программирования
- •2.1. История развития языков программирования.
- •2.2. Понятие алгоритма и программы.
- •2.3. Графическое изображение алгоритмов. Блок – схемы основных вычислительных процессов (линейного, разветвляющегося, циклического).
- •Вопросы для самоконтроля
- •Основная
- •Лекция 3 Язык программирования qbasic
- •3.1. Язык программирования qbasic
- •3.2. Линейный, разветвляющийся и циклический процессы
- •3.4. Некоторые часто встречающиеся алгоритмы
- •Вопросы для самоконтроля
- •Основная
- •Лекция 4 Работа с массивами
- •4.1. Понятие массива. Индексы. Операции с массивами
- •Вопросы для самоконтроля
- •Основная
- •Лекция 5 Арифметические основы эвм
- •5.1. Позиционная система счисления.
- •5.2. Перевод чисел из одной системы счисления в другую.
- •5.3. Арифметические операции в различных системах счисления..
- •5.4. Представление данных в эвм.
- •5.5. Логические основы эвм
- •Вопросы для самоконтроля
- •Основная
- •Лекция 6 Основы работы с операционной системой Windows
- •6.1. Стандартные приложения Windows
- •6.2. Графический редактор paint.
- •Вопросы для самоконтроля
- •Основная
- •Лекция 7 Основы работы с текстовым процессором Word
- •Добавление строк и столбцов в таблицу
- •Изменение ширины столбца таблицы
- •Вопросы для самоконтроля
- •Основная
- •Лекция 8 Назначение и функциональные возможности электронных таблиц Excel
- •8.1. Электронные таблицы Excel. Основные сведения
- •8.2. Пакеты надстроек в ms Excel
- •8.3. Матричные операции в ms Excel
- •Вопросы для самоконтроля
- •Основная
- •Лекция 9 Понятие баз данных
- •9.1. Базы данных.
- •9.2. Реляционные модели, структура и данные
- •9.3. Окно конструктора таблиц. Поля, типы данных ms access, свойства полей. Задание ключевых полей. Режим таблицы.
- •Вопросы для самоконтроля
- •Основная
- •Библиографический список
- •Содержание
- •Вопросы выходного контроля
- •Раздел 1. Операционная система Windows и текстовый процессор word
- •Раздел 2. Электронные таблицы excel
- •Раздел 3. Система управления базами данных access
3.4. Некоторые часто встречающиеся алгоритмы
Вычисление суммы: . Предполагается, что известно правило получения слагаемых по их порядковым номерам, зависимость слагаемого от номера обозначена .
s = 0
FOR i = 1 TO n
s = s + f(i)
NEXT i
Вычисление произведения: . Предполагается, что известно правило получения множителей по их порядковым номерам, зависимость множителя от номера обозначена .
p = 0
FOR i = 1 TO n
p = p * f(i)
NEXT i
Алгоритм обмена значениями 2-х переменных:
Вариант с использованием 3-й переменной:
c = a
a = b
b = c
Вариант без использования дополнительной переменной:
b = b – a
a = a + b
b = a – b
В QBASIC для выполнения обмена переменных значениями есть специальный оператор SWAP a , b
Вопросы для самоконтроля
Какие основные группы символов входят в алфавит языка BASIC?
Каким образом описывается тип переменных, используемых в программе?
Как записывается и выполняется оператор ввода?
Как записывается и выполняется оператор вывода?
Что такое арифметическое выражение и как оно записывается?
Каким образом на языке BASIC записывается оператор условного перехода?
Какими средствами языка BASIC реализуется разветвляющаяся программа?
Какими операторами в языке BASIC реализуется цикл с параметром?
СПИСОК ЛИТЕРАТУРЫ
Основная
Безручко, В.Т. Практикум по курсу «Информатика». Учебное пособие. – 3е изд./ В.Т. Безручко.– М.: Финансы и статистика, 2005. – 544 с.
Симонович, С.В. Информатика: Базовый курс / С.В.Симонович и др./ - СПб: Питер, 2007. - 640 с.
Дополнительная литература
Попов, В.Б. Основы компьютерных технологий, /В.Б. Попов М.: Финансы и статистика, 2002. – 703 с.
Лекция 4 Работа с массивами
4.1. Понятие массива. Индексы. Операции с массивами
Массивом называется упорядоченная совокупность однородных данных. Отдельные элементы массива в программе обозначаются общим символьным именем, после которого в скобках записываются индексы, определяющие место элемента в данном массиве. Количество индексов определяет структуру массива: одномерный (один индекс), двумерный (два индекса) и т.д. Аналогом одномерного массива является список или вектор (в математике), аналог двумерного массива – таблица или матрица (в математике). Например, a( 1 )- 1-й элемент массива a, b( 2, 5)- элемент массива b, расположенный во 2-й строке и 5-ом столбце. Элементы массивов называют также индексированными переменными. В QBASIC максимальное число индексов для массива равно 8.
Если в программе предполагается работа с данными, образующими массив, этот массив необходимо описать оператором DIM до того, как он будет использован.
Оператор описания массива DIM
Вид оператора:
DIM <имя массива 1> (макс. значение 1-го индекса [, макс. значение 2-го индекса, …]) [AS <указатель типа>] [,<имя массива 2>…]
Указатели типа могут быть следующими: INTEGER целый
LONG длинный целый
SINGLE вещественный обычной точности
DOUBLE вещественный двойной точности
STRING символьный
Как и в случае переменной, тип массива может быть указан присоединением к его имени соответствующего суффикса; в этом случае указывать тип в операторе DIM не надо. Если тип не указать одним из этих способов, он по умолчанию будет выбран SINGLE.
Результатом выполнения оператора является распределение соответствующего количества ячеек памяти для хранения значений элементов массива и запись нулевых значений в эти ячейки.
Наименьшим значением всех индексов по умолчанию считается 0.
Н апример, оператор DIM a(3), b%(2, 2), c(2) AS STRING описывает одномерный массив a из 4-х элементов вещественного типа обычной точности: a(0), a(1), a(2), a(3);
двумерный массив b из 9 элементов целого типа: и одномерный массив c из 3-х элементов символьного типа: c(0), c(1), c(2).
Оператором OPTION BASE 1 записанным перед оператором DIM, можно задать наименьшие значения всех индексов равные 1.
Любые действия с данными, хранящимися в массиве, выполняются для отдельных элементов, поэтому в программе приходится указывать порядок, в котором над элементами массива будут производиться операции. Это удобно делать с помощью операторов FOR…NEXT, в которых счетчики принимают значения равные индексам элементов массива.
Приведем примеры алгоритмов, связанных с обработкой массива. Во-первых, рассмотрим 3 способа ввода данных образующих массив.
Ввод значений элементов массива с клавиатуры.
INPUT n
DIM a(n)
FOR i = 1 TO n
PRINT “a(“ ; i ; “)=” ;
INPUT “”, a( i )
NEXT i
Чтение значений элементов массива оператором READ из списка оператора DATA.
Вид операторов: DATA <список значений>
READ <список переменных>
<список значений> состоит из чисел и (или) последовательностей символов в кавычках разделенных
запятой.
<список переменных> состоит из имен переменных, разделенных запятой.
Списки должны соответствовать друг другу по количеству и типу элементов. Результатом выполнения оператора READ является чтение в переменные значений из списка DATA. Группа операторов
DATA <список значений1>
DATA <список значений2>
DATA <список значений3> эквивалентна оператору
DATA <список значений1, список значений2, список значений3>, то же имеет место для оператора READ. INPUT n
DIM a(n)
DATA список из n чисел через запятую
FOR i = 1 TO n
READ a( i )
NEXT i
Формирование массива с помощью генератора случайных чисел (функция RND).
Значением функции RND является случайное число из промежутка (0, 1). При многократном обращении к функции генерируется последовательность случайных чисел. Для генерации различных последовательностей случайных чисел при последующих запусках программы надо проинициализировать генератор случайных чисел оператором RANDOMIZE TIMER.
При необходимости получения случайного вещественного числа из промежутка (a, b) можно воспользоваться формулой .
При необходимости получения случайного целого числа из промежутка [a, b] можно воспользоваться формулой .
При необходимости получения случайного числа, модуль которого принадлежит (a, b), а знак выбирается случайным образом, можно воспользоваться формулой .
Пример формирования двумерного массива с использованием функции RND.
INPUT m,n
DIM a(m,n)
FOR i = 1 TO m
FOR j = 1 TO n
a(i, j) = CINT(RND*20)
NEXT j
NEXT i
Рассмотрим различные способы вывода значений элементов массива:
Вывод одномерного массива в строку. …
DIM a(n)
…
FOR i = 1 TO n
PRINT a( i );
NEXT i
Вывод одномерного массива в столбец. …
DIM a(n)
…
FOR i = 1 TO n
PRINT a( i )
NEXT i
Вывод двумерного массива в виде таблицы .…
DIM a(m, n)
…
FOR i = 1 TO m
FOR j = 1 TO n
PRINT a(i, j);
NEXT j
NEXT i
Далее рассмотрим часто используемые алгоритмы обработки массивов.
Алгоритм упорядочивания массива (расстановки в порядке возрастания, либо убывания его элементов).
…
DIM a(n)
…
FOR i = 1 TO n
FOR j = i + 1 TO n
IF a( i ) > a( j ) THEN SWAP a( i ), a( j ) (для упорядочивания по
NEXT j убыванию надо сменить > на <)
NEXT i
Алгоритм поиска наибольшего (наименьшего) элемента и его номера в массиве.
…
DIM a(n)
...
m = a( 1 ): k = 0
FOR i = 2 TO n
IF m < a( i ) THEN m = a( i ): k = i (для поиска наименьшего элемента
NEXT i сменить < на >)
После завершения цикла в переменной m хранится значение наибольшего элемента, а в переменной k- его номер.
Алгоритм подсчета числа элементов, удовлетворяющих заданному условию.
…
DIM a(n)
...
k = 0
FOR i = 1 TO n
IF < условие> THEN k = k + 1
NEXT i
После завершения цикла в переменной k хранится количество элементов, удовлетворяющих условию.
Замечание. Во всех приведенных фрагментах программ многоточием заменены операторы, определяющие значения переменной n и значения элементов массива.