- •1. Системы счисления
- •Десятичная система счисления
- •Двоичная система счисления
- •Восьмеричная и шестнадцатеричная системы счисления
- •Перевод чисел из любой системы счисления в десятичную
- •Перевод чисел из десятичной системы счисления в любую другую
- •2. Алгебра логики
- •2.1. Логические операции
- •Инверсия
- •Конъюнкция
- •Дизъюнкция
- •Эквиваленция (равнозначность)
- •Импликация
- •Антиконъюнкция
- •Антидизъюнкция
- •2.2. Нормальные формы
- •Конъюнктивная нормальная форма
- •Дизъюнктивная нормальная форма
- •3. Применение средств алгебры логики для описания функционирования устройств компьютера
- •Логические схемы
- •Построение логических схем
- •4. Практическая работа 1. Системы счисления
- •Вопросы для самоконтроля
- •5. Практическая работа 2. Алгебра логики
- •Решение логических задач средствами алгебры логики
- •Индивидуальное задание к модулю 1. Построение логических схем по заданным булевым выражениям
- •Приложение 1. Практическое занятие 1 «Системы счисления»
- •Приложение 2. Практическое занятие 2 «Алгебра логики»
- •Приложение 3. Индивидуальное задание. Модуль №1
- •Приложение 4
- •6. Введение в алгоритмизацию
- •7. Знакомство со средой Турбо Паскаль
- •7.1. Общие сведения
- •7.2. Запуск Турбо-Паскаля на выполнение
- •7.4. Работа с текстовым редактором Турбо-Паскаля
- •Клавиши перемещения курсора
- •Работа с блоками текста
- •8. Основы алгоритмизации
- •8.1. Алгоритм
- •8.2. Алгоритмические структуры
- •Самоконтроль
- •9.1. Алфавит языка
- •9.2. Арифметические выражения и правила их записи
- •Знаки операций
- •Операции div и mod
- •9.3. Типы данных
- •Целые типы
- •Логический тип
- •Символьный тип
- •Строковый тип
- •Вещественный тип
- •9.4. Стандартные функции
- •9.5. Структура программы на языке Паскаль
- •9.6. Описательная часть программы
- •9.7. Исполнительная часть программы
- •9.8. Оператор присваивания
- •9.9. Операторы ввода-вывода
- •Оператор ввода
- •Оператор вывода
- •9.10. Комментарии в программе
- •Самоконтроль
- •Задание
- •Пример программы линейной структуры
- •Приложение 1. Таблица вариантов задания №2
- •10. Ветвления
- •10.1. Операторы условия и перехода
- •Логический оператор
- •Операции отношения
- •Логические операции
- •10.2. Оператор выбора
- •Самоконтроль
- •Задание
- •Пример программы разветвленной структуры
- •Приложение 1. Таблица вариантов задания 3
- •11.2. Оператор цикла с постусловием
- •11.3. Оператор цикла с предусловием
- •11.4. Вложенные циклы
- •11.5. Оператор прерывания цикла
- •Самоконтроль
- •Задание
- •Пример программы циклической структуры
- •Приложение 1. Таблица вариантов задания 4
- •12. Операции с индексированными переменными
- •12.1. Массивы одномерные
- •12.2. Описание массивов
- •Ввод элементов массива
- •Вывод элементов массива
- •12.3. Обработка одномерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки одномерного массива
- •Приложение 1. Таблица вариантов задания 5
- •13. Двумерные массивы
- •13.1. Матрицы
- •13.2. Описание двумерного массива
- •Ввод элементов двумерного массива
- •Вывод элементов двумерного массива
- •13.3. Обработка двумерных массивов
- •Самоконтроль
- •Задание
- •Пример программы обработки двумерного массива
- •Приложение 1. Таблица вариантов задания 6
- •Структура программы, содержащей процедуру (функцию)
- •14.2. Процедуры
- •14.3. Вложенные процедуры
- •Директива forward
- •14.4. Функции
- •Самоконтроль
- •Задание
- •Пример программы с использованием подпрограмм
- •Приложение 1. Таблица вариантов задания 7
- •15. Обработка строк текста
- •15.1. Символьные переменные
- •Фрагмент таблицы ASCII-кодов букв латинского алфавита
- •Фрагмент таблицы ASCII-кодов букв русского алфавита
- •15.2. Функции обработки символьных переменных
- •15.3. Строковые переменные
- •15.4. Функции обработки строковых переменных
- •15.5. Процедуры обработки строковых переменных
- •15.6. Примеры обработки строковых переменных
- •Самоконтроль
- •16. Структурированные типы данных
- •Записи
- •Самоконтроль
- •Задание
- •Пример программы использования массива записей
- •Приложение 1
- •Приложение 2. Таблица вариантов ИДЗ 2
Alt/F5 – переход в окно пользователя, повторное нажатие этих клавиш вернет окно EDIT.
Окно пользователя (User Screen) – окно, в котором выполняется составленная пользователем программа. По завершению программы, на экране моментально высвечивается окно EDIT, которое закрывает собой User Screen с выведенными на него результатами расчета. Чтобы иметь возможность детально ознакомиться с результатами работы программы, нажимаем Alt/F5. После этого окно EDIT с текстом программы исчезнет, его заменит изображение экрана с результатами расчета. Повторное нажатие Alt/F5 вернет на экран текст программы.
8. Основы алгоритмизации
8.1. Алгоритм
Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783— 850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.
Алгоритм – подробное описание последовательности действий, позволяющих решить конкретную задачу. Элементарные действия, на которые разбивается алгоритм, называются инструкциями или командами.
Основными свойствами алгоритма являются:
•дискретность — представление алгоритма в виде последовательности шагов;
•массовость — применимость алгоритма к некоторому множеству исходных данных;
•определенность — за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
•однозначность — при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
На практике наиболее распространены следующие формы представления алгоритмов:
•словесная (запись на естественном языке);
•графическая (изображения из графических символов);
•псевдокоды ( описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);
•программная (тексты на языках программирования).
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блоксхеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.)
соответствует геометрическая фигура. Блоки соединяются линиями переходов, определяющими очередность выполнения действий. В таблице приведены основные блоки.
Блок |
Назначение |
42
Начало, конец алгоритма
Ввод значений переменных с клавиатуры
Блок действий, присвоение переменным вычислительных значений
Проверка условия и выбор одного из двух возможных путей дальнейшего решения
Блок цикла
Обращение к подпрограмме
Вывод результатов на печать
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных блоков. Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл. Характерной особенностью базовых структур является наличие в них одного входа и одного выхода. При разработке блок-схемы допускается делать любые записи внутри блоков, однако эти записи должны содержать достаточно информации для выполнения очередных действий.
8.2. Алгоритмические структуры
Следование – действия выполняются строго в том порядке, в котором записаны. Образуется последовательностью действий, следующих одно за другим.
Задача.
Вычислить и вывести значение функции y = 4cos2 (aπx) . Исходные данные x и а ввести с клавиатуры.
43
начало
а,х
y:=4*cos2(a*π*x)
у
конец
Ветвления – в зависимости от справедливости проверяемого условия (да или нет), алгоритм может пойти по одной из двух возможных ветвей. Происходит выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран.
Задача.
Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и удвоить числа в противном случае.
начало
a,b
a<=b да
нет a:=0
a:=a*2
b:=b*2
a,b
конец
Циклы – действия повторяются многократно по одним и тем же математическим зависимостям. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Циклические структуры бывают трех типов:
спараметром цикла - выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне;
спредусловием - выполнять тело цикла до тех пор, пока выполняется условие;
спостусловием - выполнять тело цикла до тех пор, пока не выполнится условие. Задача.
44
Составить программу расчета значений функции y = хcos(2πx) на интервале [a;b] в n равностоящих точках. Границы интервала и количество точек ввести с клавиатуры.
Представлены три блок-схемы: а) с параметром цикла;
б) с предусловием;
в) с постусловием;
начало |
a,b,n |
dx:=(b-a)/(n-1) |
x:=a |
i:=1 to n |
y:=x*sin(2*pi*x) |
x,y |
x:=x+dx |
конец |
начало |
a,b,n |
dx:=(b-a)/(n-1) |
x:=a |
нет |
x<=b |
да |
y:=x*sin(2*pi*x)) |
x,y |
x:=x+dx |
конец |
45 |