- •Министерство образования и науки российской федерации
- •Оглавление
- •Глава 1. Понятие информатики, системы счисления, кодирование информации
- •1.1. Предмет и задачи информатики, понятие информации
- •Понятие информации
- •1.2. Информационные процессы и технологии
- •1.2.1. Формы представления информации
- •1.2.2. Понятие количества информации
- •1.2.3. Единицы измерения информации
- •1.3. Системы счисления
- •1.3.1. Типы систем счисления
- •1.3.2. Двоичная система счисления
- •1.3.3. Шестнадцатеричная система счисления
- •1.3.4. Перевод чисел из одной системы счисления в другую
- •1.4. Основы булевой алгебры
- •1.5. Кодирование информации в компьютере
- •1.5.1. Понятие кодирования
- •1.5.2. Кодирование числовой информации
- •1.5.3. Представление вещественных чисел
- •1.5.4. Кодирование текстовой информации
- •Универсальный код - Unicode
- •1.5.5. Кодирование графической информации
- •Растровая графика
- •Векторная графика
- •Фрактальная графика
- •1.5.6. Кодирование звука
- •1.5.7. Кодирование команд
- •1.5.8. Коды, исправляющие ошибки
- •1.6. Тесты
- •Глава 2. Основы организация и функционирования компьютеров
- •2.1. Классификация компьютеров
- •Краткая история развития компьютеров
- •2.2. Принципы построения персонального компьютера
- •2.3. Базовая конфигурация пк
- •2.3.1 Системный блок
- •2.3.2. Системная плата
- •2.3.3. Центральное процессорное устройство
- •2.3.4. Шинные интерфейсы и порты системной платы
- •2.3.5. Базовая система ввода-вывода
- •2.3.6. Энергонезависимая память
- •2.4. Система памяти компьютера
- •2.4.2. Оперативная память
- •2.4.3. Накопители на жестких магнитных дисках
- •2.4.4. Накопители на оптических дисках
- •2.5. Периферийные устройства
- •2.5.1. Монитор
- •2.5.2. Видеоплата
- •2.5.3. Звуковая карта
- •2.5.4. Клавиатура
- •2.5.5. Манипулятор «мышь»
- •2.5.6. Принтеры
- •2.5.7. Сканеры
- •2.5.8. Графи́ческий планшет
- •2.5.9. Плоттер
- •2.5.10. Стриммер
- •2.5.11. Флэш-память
- •2.5.12. Модем
- •2.11. Внешний и внутренний модемы
- •2.5.13. Сетевая плата
- •2.5.14. Тюнер
- •2.6. Тесты
- •Глава 3. Программное обеспечение компьютеров
- •3.1. Понятие и классификация программного обеспечения
- •3.2. Назначение и функции операционных систем пк
- •3.3. Основные операционные системы
- •3.4. Файловая система
- •3.5. Операционная система WindowsXp
- •3.6. Операционная система WindowsVista
- •3.7. Прикладные программы
- •3.8. Инструментальные программные системы
- •3.9. Тесты
- •Глава 4. Электронные таблицы Excel
- •4.1. Назначение электронных таблиц
- •4.2. Интерфейс пользователя в Excel
- •4.3. Основы работы в Excel
- •4.3.1. Ввод данных в ячейки электронной таблицы
- •4.3.2. Выравнивание содержимого ячеек
- •4.3.3. Формулы и функции
- •Примеры вычислений с использованием стандартных функций
- •4.3.4. Копирование данных, адресация ячеек
- •4.4. Построение диаграмм и графиков в Excel
- •4.5. Обработка табличных данных в Excel
- •4.5.1. Группировка данных
- •4.5.2. Сортировка и фильтрация данных
- •4.6. Объединение электронных таблиц
- •4.7. Анализ данных с помощью сводных таблиц
- •4.8. Решение типовых задач средствами Excel
- •4.8.1.Подбор параметров
- •4.8.2.Анализ и прогнозирование данных
- •4.8.3. Использование логических функций в Excel
- •Функция Комментарий результата
- •4.8.4. Вычисление функций и построение графиков
- •Вычисление функций одной переменной
- •Вычисление функций двух переменных
- •4.8.5. Решение нелинейного уравнения
- •4.8.6. Решение системы уравнений
- •4.8.7. Численное интегрирование функций
- •4.8.8. Решение дифференциальных уравнений
- •4.8.9. Финансовые вычисления в Excel
- •Расчет амортизационных отчислений
- •Расчет процентных платежей
- •Расчет стоимости инвестиции
- •Расчет продолжительности платежей
- •4.9. Тесты
- •Глава 5. Компьютерные сети, Интернет
- •5.1. Назначение и классификация компьютерных сетей
- •5.1.1. Классификация сетей
- •5.1.2. Сетевые топологии
- •5.2. Модель взаимодействия в компьютерной сети
- •5.3. Среда передачи и сетевое оборудование
- •5.3.1. Сетевое оборудование
- •5.3.2 Стандартные сетевые протоколы
- •5.4. Основы Интернет
- •5.4.1. Клиенты и серверы
- •5.4.2. Передача информации в Интернете
- •5.4.3. Протоколы Интернета
- •5.4.4. Адресация в Интернете
- •5.4.5. Система доменов Интернет
- •5.4.6. Способы подключения к сети Интернет
- •5.4.7. Постоянное подключение
- •5.5. Информационные ресурсы Интернет
- •5.5.1 Программное обеспечение для работы в Интернет
- •5.5.2. Гипертекстовая система www
- •5.6. Средства коммуникации в Интернет
- •5.6.1. Электронная почта
- •5.6.2. Антиспам
- •5.6.3. Телеконференции Usenet
- •5.6.4. Служба передачи файлов ftp
- •5.6.5. Форум
- •5.6.7. Тематическиe сайты
- •5.6.8. Порталы
- •5.6.9. Блоги
- •5.6.10. Социальные сети
- •5.6.11. Интернет-пейджеры
- •5.6.13. Интернет-магазины
- •5.6.14. Дистанционное обучение
- •5.6.15. Интернет-переводчики
- •5.6.16 Поиск информации в Интернет
- •5.7. Защита информации в сетях
- •5.7.1.Компьютерные вирусы
- •5.7.2.Антивирусная защита
- •5.7.3.Межсетевые экраны
- •5.7.4.Криптографические средства
- •5.8. Тесты
- •Ответы на тесты главы 5
- •Глава 6. Основы информационных систем и баз данных
- •6.1. Понятие информационных систем и баз данных
- •6.2. Модели баз данных
- •6.2.1.Иерархическая модель данных
- •6.2.2. Сетевая модель
- •6.2.3.Реляционная модель данных
- •6.3. Основы проектирования информационных систем
- •6.3.1. Нормализация бд
- •6.4. Субд Microsoft Access
- •6.4.1.Краткая характеристика Access
- •6.4.2. Структура и объекты базы данных
- •6.4.3. Создание таблиц
- •6.4.4. Создание запросов
- •6.4.5. Создание форм для ввода данных
- •6.4.6. Создание и печать отчетов
- •6.4.7. Основные этапы разработки базы данных
- •6.5.Тесты
- •7.1. Основные понятия программирования
- •7.1.1. Понятие алгоритма
- •7.1.2. Программа. Языки программирования
- •7.1.3. Этапы работы над программой. Система программирования
- •7.2. Предварительные сведения о языке Паскаль и системе программирования
- •7.2.1. Запуск системы Турбо Паскаль
- •7.2.2. Алфавит языка Паскаль
- •7.2.3. Структура программы на языке Паскаль
- •7.3. Начинаем программировать на Паскале
- •7.3.1. Первая программа на Паскале
- •7.3.2. Цветовое оформление результатов
- •7.3.3. Программы линейной структуры
- •7.3.4. Использование вещественных чисел
- •7.4. Использование возможностей интегрированной среды программирования
- •7.4.1. Редактирование текста редактором системы Турбо Паскаль
- •7.4.2. Работа со справочной системой
- •7.4.3. Работа с окнами
- •7.5. Условные операторы и оператор безусловного перехода
- •7.5.1. Оператор If
- •7.5.2. Логические переменные. Логические операции
- •7.5.3. Оператор Case
- •7.5.4. Безусловный оператор перехода Goto
- •7.6. Операторы цикла
- •7.6.1. Оператор For
- •7.6.2. Оператор Repeat … until
- •7.6.3. Оператор While
- •7.7. Работа с символами и строками
- •7.7.1. Символьные константы и переменные
- •7.7.2. Строковые переменные
- •7.8. Массивы
- •7.8.1. Одномерные массивы
- •7.8.2. Двумерные массивы.
- •7.9. Функции и процедуры.
- •7.9.1. Функции
- •7.9.2. Процедуры
- •7.10. Работа с файлами
- •7.10.1. Текстовые файлы
- •7.11. Тесты
- •Глава 8. Компьютерное обеспечение презентаций
- •8.1. Средства обеспечения компьютерной презентации
- •8.1.2. Программные средства
- •8.2.1. Создание новой презентации с помощью Мастера автосодержания
- •8.2.2. Создание презентации с помощью пустых слайдов
- •8.2.3. Создание презентации на основе существующей
- •8.2.4. Создание презентации с помощью шаблонов оформления
- •8.2.5. Использование книжной и альбомной ориентации в одной и той же презентации
- •8.2.6. Отображение областей задач и перемещение между ними
- •8.3. Режимы Microsoft PowerPoint
- •8.3.1. Обычный режим
- •8.3.2. Режим сортировщика слайдов
- •8.3.3. Режим просмотра слайдов
- •8.3.4. Выбор режима по умолчанию
- •8.3.5. Добавление нового слайда
- •8.3.6. Дублирование слайдов в пределах Презентации
- •8.3.7. Изменение порядка слайдов
- •8.3.8. Скрытие слайда
- •8.3.9. Отображение скрытых слайдов
- •8.3.10. Создание слайда, содержащего заголовки других слайдов
- •8.4. Сохранение форматирования слайда при копировании
- •8.4.1. Копирование и вставка слайдов
- •8.4.2. Копирование и вставка таблиц и фигур
- •8.4.3. Копирование и вставка текста
- •8.4.4. Копирование слайдов с помощью средства поиска слайдов
- •8.5. Отправка слайдов в Microsoft Word
- •8.5.1. Разрешение вопросов при копировании и вставке
- •8.6. Работа с текстом. Общие сведения о добавлении текста на слайд
- •8.6.1. Рамки
- •8.6.2. Автофигуры
- •8.6.3. Надписи
- •8.6.4. Текст WordArt
- •8.7. Вставка текста в презентацию
- •8.7.1 Вставка текста в формате Microsoft Word или rtf
- •8.7.2. Вставка текста в формате html
- •8.7.3. Вставка обычного текста
- •8.7.4. Автоподбор параметров текста
- •8.7.5. Текст в области «Структура»
- •8.7.6. Работа средств проверки стиля в презентации
- •8.7.7. Что входит в проверку стиля?
- •8.7.8. Оформление презентации
- •8.8 Тесты
- •Литература
- •Пестриков Виктор Михайлович
7.3.3. Программы линейной структуры
Программы, рассмотренные в предыдущем разделе, осуществляли вывод информации на экран компьютера. Рассмотрим задачи, в которых осуществляется не только ввод или вывод информации, но и ее обработка, например, арифметические вычисления, в ходе которых по имеющимся исходным данным вычисляется результат.
Составим программу, которая складывает два числа и выводит их сумму на экран компьютера. Для того чтобы сложить эти числа, необходимо вначале присвоить их каким-либо переменным, например, a и b, а эти переменные предварительно описать. Затем следует присвоить результат арифметической операции сложения третьей переменной c и вывести результат на экран компьютера.
Итак, программа (рис. 7.3.3) будет выглядеть следующим образом: после заголовка программы – summa. Затем идет раздел описания переменных, который начинается со служебного слова var (сокращение от английского variable – переменная). После служебного слова через запятую перечисляются сами переменные, используемые в программе и после двоеточия указывается тип этих переменных – integer ( целые).
Рис. 7.3.3. Программа, складывающая два числа и результат ее работы
Обратите внимание на то, что в этом разделе в обязательном порядке должны быть описаны все переменные, используемые в данной программе. Если мы забудем описать какую-либо из переменных, то при компиляции этой программы мы увидим следующее сообщение:
Error 3: Unknown identifier (неизвестная переменная)
и программа не будет работать до тех пор, пока Вы не исправите ошибку, описав недостающую переменную в разделе описаний после слова var.
В основной части программы переменным a и b должны быть присвоены конкретные числовые значения с помощью оператора присваивания, так как по умолчанию начальные значения переменных будут равны нулю.
Типы данных
Целые числа имеют следующие типы:
Byte - диапазон от 0 до 255;
Shortint - диапазон от -128 до 127;
Integer - диапазон от -32768 до 32767;
Word - диапазон от 0 до 65535;
Longint - диапазон от -2147483648 до 2147483647.
Вещественные числа имеют следующие типы:
Real - диапазон от -2.9*10-39 до 1.7*1038;
Single - диапазон от -1.5*10-45 до 3.4*1038;
Double - диапазон от -5.0*10-324 до 1.7*10308;
Extended - диапазон от -1.9*10-4951 до 1.1*104932.
Одиночные символьные переменные имеют тип Char.
Строковые символьные переменные имеют тип String. Могут содержать до 255 символов.
Логические переменные имеют тип Вооlean. Могут принимать только два значения True (истина) и False (ложь).
Оператор присваивания
Общий вид оператора присваивания в языке Паскаль имеет вид: <имя_переменной :=< присваиваемая величина>;
Присваиваемая величина, может быть числом, переменной или арифметическим выражением. При выполнении оператора присваивания вначале вычисляется арифметическое выражение, и полученное значение присваивается переменной, стоящей в левой части оператора.
После выполнения операции присваивания в ячейках компьютерной памяти, отведенных под переменную, будет занесено вычисленное значение выражения, стоящего в правой части оператора. Это значение будет оставаться в неизменном виде вплоть до выполнения в программе следующей операции присваивания.
В операторе присваивания после имени переменной обязательно должно стоять двоеточие. Если пропустить в записи оператора двоеточие, то получится не оператор присваивания, а операция сравнения. ( Операции сравнения мы будем изучать позже в разделе «Условные операторы»). Запись x:=x+5 в Паскале является правильной. Эта запись означает, что переменной x присваивается новое значение, которое больше чем старое значение этой же переменной на 5. Например, если до выполнения операции присваивания значение x было равно 3, то после ее выполнения значение x станет равным 8.
В нашей программе мы присваиваем переменным a и b конкретные числовые значения – 5 и 10. Далее мы присвоим переменной с значение выражения a+b, то есть в переменной c будет соответствовать значение суммы двух чисел. Теперь осталось вывести это значение на экран компьютера, что мы сделаем с помощью уже знакомого нам оператора Writeln. Следует, однако, учесть, что в этом случае оператор Writeln используется иначе, чем при выводе текста. Во-первых, имя переменной в отличие от текстовой строки не заключается в апострофы (хотя скобки нужно обязательно ставить и в этом случае). Во-вторых, при выполнении оператора вывода на экране мы увидим не имя переменной, а ее текущее значение. Оператор вывода в программе будет записан следующим образом:
Writeln(c);
В результате же выполнения оператора на экран будет выведена сумма, содержащаяся в переменной c – число 15.
Эта программа (как и предыдущие) состоит из операторов, которые выполняются последовательно друг за другом. Такие программы называются программами линейной структуры.
Изменим программу таким образом, чтобы она складывала любые два произвольных числа, которые пользователь должен вводить с клавиатуры компьютера. Для этого нужно будет использовать оператор ввода Readln. Он состоит из служебного слова Readln и списка ввода, заключенного в скобки. Правда в отличие от списка вывода операторов Write и Writeln в списке ввода могут содержаться только имена переменных. В данной программе будут использованы два оператора Readln, каждый из которых в списке ввода содержит по одной переменной:
Readln(a);
Readln(b);
С помощью операторов ввода переменным a и b будут присвоены численные значения, которые пользователь введет с клавиатуры. После запуска программы на выполнение появится пользовательский экран с мерцающим на нем курсором. Далее, можно вводить числовые значения переменных a и b. Для ввода каждого из двух чисел необходимо набрать его на клавиатуре, и затем нажать клавишу Enter. При этом нужно помнить о том, что вводимые числа по типу должны соответствовать переменным, то есть быть целыми. После ввода второго числа на экране появится результат работы программы – сумма двух чисел.
Такая программа будет вполне работоспособна, но неудобна для пользователя, так как после ее запуска неопытному пользователю при виде «черного» экрана непонятно, что, же нужно дальше делать. Поэтому дополним программу (рис. 7.3.4). Перед операторами ввода поставим, операторы вывода, которые будут выводить информацию, подсказывающую пользователю дальнейший ход его действий. Например, таким образом:
Writeln ('введите 2 числа');
Writeln ('после ввода каждого числа нажимайте клавишу Enter');
Пользователь будет таким образом знать, что именно ему предстоит делать даже в том случае, если он первый раз работает за компьютером
Рис. 7.3.4. Усовершенствованная программа сложения двух чисел и результат работы программы сложения
В конец программы внесены еще 2 дополнения. В список вывода оператора Writeln вставлен еще один элемент – текст, поясняющий полученный результат. Список вывода, таким образом, будет состоять из двух элементов, причем текст будет выводиться в неизменном виде, а для переменной будет выведено не ее имя, а ее числовое значение. Кроме этого, после оператора вывода добавлен еще один «пустой» оператор ввода Readln. Этот оператор приостанавливает окончание работы программы до тех пор, пока не будет нажата клавиша Enter, то есть у пользователя появляется возможность сразу ознакомиться с результатами выполнения программы, которые теперь не исчезают с экрана. Не нужно будет после запуска программы на выполнение специально открывать раздел меню Debug и пользоваться командами User screen или Output, чтобы увидеть, что же получилось в итоге работы программы.
Арифметические выражения и операции
В вышеописанной программе использовалась только одна арифметическая операция – сложение. Но в языке Паскаль, естественно, используются и другие арифметические операции. Вот их перечень:
+ сложение; - вычитание; * умножение; / деление;
div - целочисленное деление; mod - нахождение остатка от целочисленного деления.
Первые четыре операции выполняются так же, как в обычной арифметике. Единственное, на что следует обратить внимание: знаки умножения и деления отличаются по написанию (вместо принятых в математике знаков. Кроме того, знак умножения между сомножителями нельзя опускать, как это часто делается в математике. Запись ab, которая в математике может обозначать произведение двух чисел a и b, компилятором языка Паскаль будет воспринята как имя переменной, состоящее из двух букв, что приведет к ошибке в работе программы. Что же касается целочисленного деления, то оно выполняется как обычное, но затем отбрасывается дробная часть получившегося при делении числа. Операции div и mod выполняются только над переменными и константами целого типа.
Пример использования действий div и mod:
значение выражения 91 div 8 равно 11;
значение выражения 91 mod 8 равно 3.
При вычислении значения арифметического выражения вначале выполняются действия, обладающие более высоким приоритетом. Слово «приоритет» в переводе с латыни означает первенство и, применительно к программированию, имеется в виду первенство при выполнении математических операций. Умножение, деление, целочисленное деление и нахождение остатка как раз и относятся к действиям с высоким приоритетом. Сложение и вычитание имеют более низкий приоритет. Если в выражении имеются действия с одинаковым приоритетом, то они выполняются слева направо по ходу выражения. Если необходимо изменить порядок действий в выражении, то следует использовать круглые скобки. Действия, заключенные в скобки обладают наиболее высоким приоритетом, то есть выполняются в первую очередь.
Для лучшего понимания того, как действуют приоритеты, приведем следующий пример. Пусть в программе требуется вычислить значение арифметического выражения, записанного таким образом:
5 + 3*(7+2) – 40 div 4
Прежде всего, вычисляется выражение, находящееся в скобках – его значение равно 9. Затем слева направо выполняются следующие действия: умножение выражения в скобках на 3 (получаем 27) и целочисленное деление (получаем 10). На завершающем этапе складываем 5 и 27 и вычитаем из суммы 10. В итоге получаем конечный результат – 22.
Говоря об арифметических выражениях, необходимо отметить также следующее: хорошо знакомый нам оператор Writeln может выводить не только тексты и значения переменных, но и значения арифметических выражений, в которые могут входить переменные и константы. Эти выражения в операторе Writeln записываются подобно именам переменных в скобках, но без кавычек. Компьютер вначале подсчитает значение выражения, а затем покажет получившийся результат на экране. Например, если мы в какой-либо программе присвоим переменным x и y значения 20 и 30, а затем оператором Writeln выведем на экран компьютера выражение x+y:
x:=20;
у:=30;
writeln(x+y);
то в результате выполнения этого фрагмента программы компьютер вначале сложит значения двух переменных, а затем выведет получившуюся сумму на экран компьютера, то есть в данном случае на экране мы увидим число 50.
Для лучшего понимания программы ее можно снабдить комментариями. Комментарии представляют собой пояснения к тексту программы и являются неотъемлемой частью любой достаточно большой по объему и сложной программы. Они могут располагаться в любом месте программы и занимать отдельную строку или несколько строк в программе. При запуске программы на выполнение компилятор игнорирует комментарии. Любой комментарий должен быть обязательно ограничен фигурными скобками или символами (* и *) с обеих сторон. При просмотре текста ранее составленной программы комментарии легко определить визуально, так как в отличие от основного текста программы они выделены серым цветом.