- •Информатика.
- •Введение
- •Часть 1. Аппаратное и программное обеспечение вычислительных машин.
- •1.2. Представление информации в виде двоичного кода в памяти эвм.
- •1.3. Аппаратное обеспечение эвм.
- •1.3.1. Хранение данных в памяти эвм.
- •1.3.2. Память.
- •1.3.3. Процессор.
- •1.3.4. Шины и контроллеры.
- •1.3.5. Конструктивное исполнение.
- •1.3.6. Периферийные устройства.
- •1.4. Программное обеспечение эвм.
- •1.4.1. Классификация программного обеспечения.
- •1.4.2 Операционная система.
- •1.4.3. Компоненты операционной системы.
- •Часть 2. Основы программирования.
- •2.1. Алгоритмы.
- •2.1.1. Представление алгоритма.
- •2.1.2. Типовые структуры алгоритмов.
- •2.1.3. Типовые алгоритмы.
- •2.1.4. Эффективность и правильность алгоритмов.
- •2.2. Языки программирования.
- •2.2.1. История языков программирования.
- •2.2.2. Парадигмы программирования.
- •2.2.3. Основные понятия традиционного программирования.
- •2.3. Язык программирования высокого уровня – Паскаль.
- •2.3.1. Структура программы на Паскале.
- •Тело процедуры
- •Тело функции
- •2.3.2. Правила пунктуации.
- •2.3.3. Алфавит и словарь языка.
- •2.3.4. Константы и переменные, типы данных.
- •Пример 6. Запись типа zapic содержит три компонента: номер, фамилию и имя. Доступ к полям записи осуществляется через переменную spicok типа запись и массив tabl, состоящим из записей.
- •2.3.5. Выражения, операнды и операции.
- •2.3.6. Операторы языка Паскаль.
- •2.3.7. Процедуры ввода-вывода.
- •2.3.8. Работа с файлами.
- •2.3.9. Процедуры и функции.
- •Часть 3. Работа с прикладными программами и разработка программного обеспечения.
- •3.1. Текстовые редакторы.
- •3.1.1. Типы текстовых редакторов.
- •3.1.2. Текстовый процессор Word.
- •3.2. Электронные таблицы.
- •3.2.1. Табличный процессор Excel.
- •3.3. Разработка программного обеспечения.
- •3.4. Базы данных.
- •3.4.1. Структуры данных.
- •3.4.2. Структуры баз данных.
- •3.4.3. Модели баз данных.
- •3.4.4.Системы управления базами данных (субд).
- •3.4.5. Microsoft Access - субд реляционного типа.
- •1. Создание таблицы путем ввода данных.
- •2. Создание таблицы с помощью мастера.
- •3. Создание таблицы с помощью Конструктора таблиц.
- •Часть 4. Компьютерные сети. Защита информации.
- •4.1.Компьютерные сети.
- •4.2. Интернет.
- •4.2.1. Система адресов Интернета.
- •4.2.2. Электронная почта.
- •4.2.3. Гипертекстовые документы.
- •4.3. Защита информации.
- •Литература.
- •Содержание
- •Информатика. Основы программирования
Часть 2. Основы программирования.
2.1. Алгоритмы.
Задачей программирования в широком смысле слова является составление самых разнообразных программ для ЭВМ, с помощью которых выполняются вычисления, обрабатывается информация. Вырабатываются сигналы, управляющие ходом технологических и производственных процессов, и осуществляются действия, которые облегчают умственную работу человека.
Прежде, чем ЭВМ сможет выполнить какую-либо задачу, ей нужно дать алгоритм на понятном ей языке, точно описывающий, что делать.
Алгоритм — это упорядоченный набор однозначных выполнимых шагов.
Обратите внимание на то, что это определение утверждает, что набор шагов должен быть упорядочен. Это означает, что шаги в алгоритме должны быть структурированы, то есть должны выполняться в определенном порядке. Это не значит, что сначала должен выполняться первый шаг, затем второй и т. д. Например, некоторые алгоритмы, которые называются параллельными, содержат несколько последовательностей шагов, каждая из которых выполняется одним процессором многопроцессорной машины. В таких случаях полный алгоритм не содержит единственную цепочку шагов, которая соответствовала бы сценарию, когда сначала выполняется первый шаг, затем второй и т.д. Вместо этого структура алгоритма включает в себя несколько цепочек, которые ветвятся и снова соединяются по мере того, как разные процессоры выполняют разные части задачи.
Следующее утверждение, присутствующее в определении алгоритм; говорит о том, что алгоритм должен состоять из выполнимых шагов. Для того чтобы понять это условие, рассмотрим команду: Вывести список всех положительных целых чисел. Выполнить эту команду невозможно, поскольку существует бесконечное множество положительных целых чисел. Поэтому любой набор команд, включающий такое указание, не является алгоритмом.
Другое условие, содержащееся в определении алгоритма, гласит, что шаги алгоритма должны быть однозначными, то есть во время выполнения должно быть достаточно информации для однозначного и полного определения действий, выполнения которых требует шаг. Другими словами, для выполнения каждого шага должно требоваться не наличие творческих способностей, а только способность следовать указаниям.
Определение алгоритма также подразумевает, что алгоритм определяет конечный процесс, то есть выполнение алгоритма должно когда-нибудь закончиться. Это требование происходит из области теоретической вычислительной техники, цель которой состоит в том, чтобы ответить на такие вопросы, как «каковы предельные возможности алгоритмов и машин?». Здесь вычислительная техника проводит границу между задачами, которые можно решить с помощью алгоритмов, и задачами, которые не имеют алгоритмического решения. В нашем случае различается процесс, который завершается ответом, и процесс, который продолжается бесконечно, не порождая никакого результата.
Однако бесконечные процессы применяются на практике. Например, контроль состояния пациента в больнице или определение высоты, на которой находится самолет во время полета. Некоторые возразят, что в таких системах происходит просто повторение одного алгоритма, выполнение которого завершается, а затем автоматически повторяется. Другие посчитаю, что такие аргументы являются просто попыткой сохранить чрезмерно ограничивающее формальное определение. В любом случае, термин «алгоритм» часто используется в нестрогом прикладном смысле, но отношению к набору шагов, которые не обязательно определяют конечный процесс. Примером может служить алгоритм деления в столбик, который не определяет конечный процесс в случае деления, например, 1 на 3. Формально, в таких случаях термин «алгоритм» употребляется неправильно. [1]
Основные свойства алгоритмов:
понятность для исполнителя;
дискретность (процесс решения задачи представляется как последовательность выполнения простых шагов);
определенность (однозначность);
конечность (должен приводить к решению задачи за конечное число шагов);
универсальность (должен быть применим для некоторого класса задач, область применения алгоритма).
Алгоритм является абстракцией, которая может иметь множество различных представлений (формула, словесное описание, электронная схема и т.п.) Различие между алгоритмом и его представлением является существенным, когда мы пытаемся передать алгоритм. Представление может быть более и менее подробным в зависимости от того, кому оно предназначено. Неоднозначность понимания алгоритма обычно заключается в представлении алгоритма, а не в нем самом.