
- •Информатика
- •Режим доступа к электронному аналогу печатного издания: http://www.Libdb.Sssu.Ru
- •Содержание
- •Предисловие
- •Основные понятия информатики
- •Понятие информации
- •Свойства информации
- •Понятие количества информации
- •Предмет и задачи информатики
- •Информационное общество
- •Вопросы и тестовые задания для самоконтроля
- •Системы счисления и представление информации в эвм
- •Представление (кодирование) данных
- •Понятие об основных системах счисления
- •Перевод чисел из одной системы счисления в другую
- •Представление чисел в различных системах счисления
- •Двоичная арифметика
- •Арифметические действия над двоичными числами
- •Представление чисел в эвм
- •Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах
- •Представление десятичных чисел в четырёхразрядном коде Грея
- •Кодирование информации в эвм
- •Базовая таблица кодировки ascii
- •Вопросы и тестовые задания для самоконтроля
- •Логические основы построения эвм
- •Основы алгебры логики
- •Операции сравнения
- •Примеры операторов сравнения в разных языках программирования
- •Логические операции
- •Основные логические операторы
- •Результаты, возвращаемые логическими операциями
- •Основы элементной базы эвм
- •Условные обозначения и диаграммы работы логических элементов
- •Rs-триггер
- •Элементы теории множеств
- •Элементы теории графов
- •Типы вершин блок-схем алгоритмов
- •Вопросы и тестовые задания для самоконтроля
- •Технические средства реализации информационных процессов
- •История развития эвм
- •Классификация эвм
- •Архитектура эвм
- •Состав персонального компьютера
- •Внешние устройства
- •Вопросы и тестовые задания для самоконтроля
- •Системное программное обеспечение эвм
- •Базовые понятия ос
- •Классификация операционных систем
- •Файловая структура эвм
- •Примеры общепринятых расширений для популярных типов файлов
- •Файловые системы Microsoft Windows
- •Драйверы устройств
- •Служебные программы
- •Обзор операционных систем unix и Linux
- •Обзор операционных систем Windows
- •Вопросы и тестовые задания для самоконтроля
- •Прикладное и инструментальное программное обеспечение
- •Прикладное программное обеспечение общего назначения
- •Прикладное программное обеспечение специального назначения
- •Инструментальное по
- •Нумерация версий программ
- •Правовой статус программ
- •Текстовые редакторы и процессоры
- •Программы подготовки презентаций
- •Вопросы и тестовые задания для самоконтроля
- •Электронные таблицы
- •Основные понятия электронных таблиц Excel
- •Ввод, редактирование и форматирование данных
- •Вычисления в таблицах
- •Диаграммы
- •Вопросы и тестовые задания для самоконтроля
- •Модели решения функциональных и вычислительных задач
- •Моделирование как метод познания
- •Классификация моделей
- •Классификация видов моделей
- •Компьютерное моделирование
- •Информационные модели
- •Примеры информационных моделей
- •Базы данных
- •Искусственный интеллект
- •Вопросы и тестовые задания для самоконтроля
- •Основы алгоритмизации
- •Основные этапы компьютерного решения задач
- •Понятие алгоритма и его свойства
- •Исполнители алгоритмов
- •Способы описания алгоритмов
- •Обозначение и функциональное назначение наиболее часто употребляемых символов в схемах данных и программ
- •Базовые управляющие структуры алгоритмов (основные алгоритмические конструкции)
- •2) Альтернатива (ветвление);
- •3) Итерация1 (цикл).
- •Алгоритмы линейной структуры
- •Алгоритмы ветвящейся структуры
- •Алгоритмы циклической структуры
- •Способы комбинации базовых управляющих структур (основных алгоритмических конструкций)
- •Примеры комбинации основных алгоритмических структур
- •Вопросы и тестовые задания для самоконтроля
- •Основы программирования на языках высокого уровня
- •Основные понятия языков программирования
- •Примеры использования имён
- •Операторы в арифметических и логических выражениях
- •Типы данных и операторы описания переменных
- •Некоторые базовые типы переменных
- •Описание переменных в разных языках
- •Синтаксис операторов описания сложных типов переменных
- •Основные операторы
- •Синтаксис некоторыхоператоров
- •Вопросы и тестовые задания для самоконтроля
- •Основные операторы языка visual basic for applications
- •Оператор присваивания
- •Примеры использования оператора присваивания
- •Условный операторIf … then
- •Оператор выбора варианта*
- •Операторы цикла
- •Оператор циклаFor … next
- •Математические функции
- •Краткие сведения о математических функциях в vba и Паскале
- •Функции обработки строк*
- •Краткие сведения о строковых функциях
- •Функции преобразования данных
- •Краткие сведения о функциях преобразования данных
- •Вопросы и тестовые задания для самоконтроля
- •Технологии программирования
- •Концепция программирования
- •Характеристика трудоёмкости разработки программ
- •Структурное и модульное программирование
- •Рекурсивные алгоритмы *
- •Объектно-ориентированное программирование
- •Вопросы и тестовые задания для самоконтроля
- •Языки и системы программирования
- •Уровни языков программирования
- •Системы программирования
- •Классификация языков программирования
- •Процедурные языки программирования
- •Объектно-ориентированные языки
- •Декларативные языки
- •Языки программирования для баз данных и компьютерных сетей
- •Языки моделирования *
- •Вопросы и тестовые задания для самоконтроля
- •Основные понятия компьютерной графики
- •Виды компьютерной графики
- •Графические форматы
- •Цветовые модели *
- •Программные средства создания растровых изображений
- •Программы векторной графики
- •Программные средства обработки трехмерной графики
- •Вопросы и тестовые задания для самоконтроля
- •Основные понятия баз данных
- •Задачи, решаемые с помощью баз данных
- •Классификация бд
- •Реляционная модель данных
- •Свойства полей базы данных
- •Типы данных
- •Безопасность и объекты баз данных
- •Проектирование баз данных *
- •Вопросы и тестовые задания для самоконтроля
- •Средства автоматизации проектных, опытно-конструкторских и научно-исследовательских работ.
- •Задачи, решаемые с помощью систем автоматического проектирования
- •Программные продукты MathWorks
- •Сапр в легкой промышленности
- •Вопросы и тестовые задания для самоконтроля
- •Основы компьютерных сетей
- •Основы передачи данных
- •Назначение и классификация сетей
- •Сетевая модель osi/iso
- •Сетевое оборудование
- •Основные стандарты и протоколы
- •Т Вопросы и тестовые задания для самоконтроля
- •Глобальная сеть интернет
- •Подключение к Интернет
- •Службы Интернет
- •Поиск информации в Интернете
- •Наиболее известные и популярные поисковые системы
- •Поиск с использованием языка запросов *
- •Логические операторы
- •Вопросы и тестовые задания для самоконтроля
- •Основы информационной безопасности
- •Угрозы информационной безопасности
- •Методы и средства защиты информации
- •Правовые основы информационной безопасности
- •Ответственность за преступления в области информационных технологий
- •Криптографические механизмы защиты информации
- •Компьютерные вирусы и вредоносные программы
- •Методы защиты от вирусов
- •Вопросы и тестовые задания для самоконтроля
- •Библиографический список
- •Учебное издание информатика Учебное пособие
Способы описания алгоритмов
В настоящее время используются следующие способы описания алгоритмов:
словесно-формульное описание алгоритма;
псевдокод;
табличный способ;
языки программирования (программа);
графический способ (блок-схема).
Словесно-формульное описание алгоритма представляет структуру алгоритма и содержание выполняемых действий средствами естественного языка, представлено ниже в тестовых заданиях с решениями 9.1 ÷ 9.6. Достоинства этого способа: общедоступность, возможность описывать алгоритм с любой степенью детализации. Недостаток этого способа – многословность, низкая наглядность, громоздкость, возможна неоднозначность толкования.
Тестовое задание 9.1.
Чему равны значения переменных аиbпосле выполнения следующего фрагмента алгоритма:
1) а = 3;
2) b = 7;
3) b = a;
4) a = b;
5) b = b*2
Ответы:
a= 3;b= 6
a= 14;b= 7
a= 7;b= 14
a= 6;b= 3
a= 3;b= 14
Решение.
Выполняем алгоритм последовательно по шагам:
1) а =3;
2) b = 7;
3) b = a; знак равенства «=» в этом случае трактуется как знак присваивания «=:», следовательно, переменнойbприсваивается значение переменнойа=3; т.е. переменнаяbпримет значениеb=3;
4) a=b; переменнойаприсваивается значение переменнойb=3; следовательно, переменнаяапримет значениеа =3;
5) b=b*2; переменнойbприсваивается значениеb*2 (к этому моменту переменнаяbимеет значениеb=3); следовательно, переменнаяbпримет значениеb= b·2=3·2=6.
Таким образом, в результате выполнения алгоритма переменные аиb примут значения a = 3b = 6.
Тестовое задание 9.2.
Какие результаты будут получены в результате выполнения фрагмента алгоритма в каждом из следующих случаев: 1) x = 3; 2)x = 1 (отyрешение не зависит):
ввести координаты точки xиy;
если x ≥ 2, то вывод «точка находится в области В» иначе вывод «точка находится в области А»?
Ответы:
1-й случай:
точка находится в области В;
точка находится в области А;
2-й случай:
точка находится в области А
точка находится в области В
Решение.
Выполняем алгоритм последовательно по шагам:
1-й случай − x = 3:
1) вводим координаты точки x = 3;
2) x ≥ 2? Подставляя значениеx = 3, имеем 3 ≥ 2? Ответ: да, следовательно, выполняется вывод «точка находится в области В»;
2-й случай − x = 1:
1) вводим координаты точки x = 1;
2) x ≥ 2? Подставляя значениеx = 1, имеем 1 ≥ 2? Ответ: нет, следовательно, выполняется вывод «точка находится в области А»;
Можно проиллюстрировать условие задачи рисунком 9.1.
Рис. 9.18. Рисунок, иллюстрирующий условие задания 9.2
Замечание. Тот же алгоритм можно записать следующим образом:
Ввести координаты точки xиy;
eслиx ≥ 2, то вывод «точка находится в области В», перейти к 4);
вывод «точка находится в области А».
вычисления прекратить.
В этом варианте, если условие x ≥ 2 не выполняется, то выполнение алгоритма переходит к следующему шагу, т.е. к 3-му шагу.
Тестовое задание 9.3.
Какие результаты будут получены в результате выполнения следующего фрагмента алгоритма?
1) i= 1;
2) вывод i;
3) i=i+ 1;
4) если i≤ 4, то перейти к 2)
5) прекратить вычисления.
Ответы:
1 2 3 4;
1 2 3 4 5;
2 3 4 5;
1 3 5 7;
Тестовое задание 9.4.
Сколько раз при выполнении предыдущего задания будет повторена последовательность шагов 2), 3) и 4)?
4;
2;
3;
1.
Решение тестовых заданий 9.3 и 9.4.
Выполняем алгоритм последовательно по шагам:
|
1) i = 1; |
1 |
2) вывод i, так какi=1, товыводится 1; 3) i =i+1, предыдущее значениеi=1, следовательно, новое значениеi=i+1=1+1=2; 4) i ≤ 4? Подставляя новое значениеi=2, имеем 2<4. Ответ: да. Следовательно, после 4-го шага выполняем 2-й шаг; |
2 |
2) вывод i, так как новое значениеi=2, товыводится 2; 3) i=i+1, предыдущее значениеi=2, следовательно, новое значениеi=i+1=2+1=3; 4) i ≤ 4? Подставляя новое значениеi=3, имеем 3<4, Ответ: да. Следовательно, после 4-го шага выполняем 2-й шаг; |
3 |
2) вывод i, так как новое значениеi=3, то выводится3; 3) i=i+1, предыдущее значениеi=3, следовательно, новое значениеi=i+1=3+1=4; 4) i ≤ 4? Подставляя новое значениеi=4, имеем 4 ≤ 4. Ответ: да.Так как 4 = 4, следовательно, после 4-го шага выполняем 2-й шаг; |
4 |
2) вывод i, так как новое значениеi=4, товыводится4; 3) i=i+1, предыдущее значениеi=4, следовательно, новое значениеi=i+1=4+1=5; 4) i ≤ 5? Подставляя новое значениеi=5, имеем 5 ≤ 4. Ответ: нет,так как 5>4, следовательно, после 4-го шага выполняем 5-й шаг; |
|
5) прекращаем вычисления. |
При этом последовательность шагов 2), 3) и 4) будет повторена 4 раза.
Тестовое задание 9.5.
Какие результаты будут получены в результате выполнения следующего фрагмента алгоритма:
1) а = 15;
2) b = 4;
3) если а < b,то перейти к 6);
4) а =а-b;
5) перейти к 3);
6) вывод а.
Будет вывод числа:
3;
11;
7;
-2.
Тестовое задание 9.6.
Сколько раз при выполнении предыдущего задания будет повторена последовательность шагов 3), 4) и 5)?
3;
2;
1;
4.
Решение тестовых заданий 9.5 и 9.6.
Выполняем алгоритм последовательно по шагам:
|
1) а = 15; 2) b = 4; |
1 |
3) а <b? Подставляя значения a=15 и b=4, имеем 15<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=15-4=11; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3); |
2 |
3) а<b? Подставляя значения a и b, имеем 11<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=11-4=7; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3); |
3 |
3) а<b? Подставляя значения a и b, имеем 7<4? Ответ: нет. Следовательно, после 3-го шага выполняем 4-й шаг; 4) а = а-b. Подставляя значения a и b, имеем a=7-4=3; 5) перейти к 3), следовательно, после 5-го шага выполняем шаг 3); |
|
3) а<b? Подставляя значения a и b, имеем 3<4? Ответ: да. Следовательно, после 3-го шага выполняем 6-й шаг; |
|
6) вывод a; а на данном шаге имеет значение 3, следовательно, будет выведено число 3. |
При этом последовательность шагов 3), 4) и 5) будет повторена 3 раза.
Псевдокод– описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основные этапы решения задачи перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Графический способ представления алгоритмов(блок-схема)– имеет ряд преимуществ благодаря визуальности и явному отображению процесса решения задачи. Алгоритмы, представленные графическими средствами, получили названиевизуальные алгоритмы.
При проектировании визуальных алгоритмовиспользуют специальные графические символы. Результатомалгоритмизациирешения задачи является блок-схемаалгоритма, состоящая из некоторой последовательности графических блоков, связанных по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий. Блоки могут нумероваться. Порядковые номера проставляются слева в верхней части символов. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Для визуального представления алгоритмов обычно используют символы в соответствии с ГОСТ 19.701–90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения» [1]. Наиболее часто употребляемые символы представлены в таблице 14.
Таблица14