
- •Содержание
- •1.Понятие информатики
- •1.1. История развития информатики
- •1.2. Мировоззренческие экономические и правовые аспекты информационных технологий
- •2.Понятие информации и ее измерение
- •2.1. Меры информации
- •2.2. Единицы измерения информации и примеры
- •2.2.1Синтаксическая мера информации
- •2.2.2Семантическая мера информации
- •2.2.3Прагматическая мера информации
- •2.2.4Алгоритмическая мера информации
- •2.3. Количество и качество информации
- •2.4. Единицы измерения информации
- •2.5. Информация и энтропия
- •2.5.1Сообщения и сигналы
- •2.5.2Схема передачи информации
- •2.5.3Энтропия
- •2.5.4Избыточность
- •2.5.5Сенсация
- •3.Понятие информационной технологии
- •3.1. Новая информационная технология
- •3.2. Инструментарий информационной технологии
- •3.3. Составляющие информационной технологии
- •3.4. Развитие информационных технологий
- •3.4.1Нулевое поколение ит
- •3.4.2Первое поколение ит
- •3.4.3Второе поколение ит
- •3.4.4Третье поколение ит
- •3.4.5Четвертое поколение ит
- •3.4.6Пятое поколение ит
- •3.5. Базовая информационная технология
- •3.6. Предметная информационная технология
- •3.7. Обеспечивающая информационная технология
- •3.8. Функциональная информационная технология
- •3.9. Виды пользовательского интерфейса информационных технологий
- •3.10. Свойства информационных технологий
- •4.Сообщения и сигналы
- •4.1. Кодирование и квантование сигналов
- •4.2. Виды и характеристики носителей и сигналов
- •4.2.1Характеристики сигналов, передаваемых по каналу
- •4.2.2Модуляция сигналов
- •4.2.3Виды и характеристики носителей
- •4.2.4Спектры сигналов
- •4.2.5Периодические сигналы
- •4.2.5.1Тригонометрическая форма
- •4.2.5.2Комплексная форма
- •4.2.5.3Определение погрешности
- •4.2.5.4Спектр
- •4.2.6Непериодические сигналы
- •5.Модуляция и кодирование
- •5.1. Коды: прямой, обратный, дополнительный, модифицированный
- •5.1.1Прямой код числа
- •5.1.2Обратный код числа
- •5.1.3Дополнительный код числа
- •5.1.4Модифицированный код числа
- •5.2. Систематические коды
- •5.3. Контроль по четности, нечетности, по Хеммингу
- •5.3.1Кодирование по методу четности-нечетности
- •5.3.2Коды Хэмминга
- •5.4. Сетевые технологии обработки данных
- •5.4.1Распределенная обработка данных
- •5.4.2Обобщенная структура компьютерной сети
- •5.4.3Классификация вычислительных сетей
- •5.5. Каналы передачи данных и их характеристики
- •5.5.1Обобщенные характеристики сигналов и каналов
- •5.5.2Характеристики канала передачи информации без помех
- •5.5.3Характеристики каналов передачи информации с помехами
- •5.6. Методы повышения помехоустойчивости передачи и приема
- •5.7. Современные технические средства обмена данных и каналообразующей аппаратуры
- •6.Представление информации в цифровых автоматах (ца).
- •6.1. Информационные основы контроля работы цифровых автоматов
- •6.2. Основные принципы помехоустойчивого кодирования
- •6.3. Помехоустойчивость кода
- •6.4. Методы помехоустойчивого кодирования
- •6.4.1Метод контроля четности
- •6.4.2Метод контрольных сумм
- •6.4.3Коды Хэмминга
- •6.4.4Контроль по модулю
- •6.4.5Числовой метод контроля
- •6.4.6Цифровой метод контроля
- •6.4.7Выбор модуля для контроля
- •6.5. Контроль логических операций
- •6.5.1Операции сдвига
- •6.5.2Операция сложения по модулю 2
- •6.5.3Операция логического умножения.
- •6.6. Контроль арифметических операций
- •6.7. Арифметические коды
- •7.1. Основные понятия относящиеся к преобразователям
- •7.2. Уровни цифровой логики
- •7.3. Управляющий выходной сигнал – выходной сигнал «состояние»
- •7.4. Управляющий выходной сигнал строб-импульс
- •7.5. Аналоговые сигналы
- •7.6. Цифроаналоговые преобразователи
- •7.6.1Цифроаналоговое преобразование
- •7.6.2Основные типы цап
- •7.6.2.1Цап со взвешенными резисторами
- •7.6.2.2Цап с цепочкой резисторов типа r—2r
- •7.6.3 Другие типы цап
- •7.7. Аналоговые преобразователи
- •7.7.1 Аналогоцифровое преобразование
- •7.7.2 Основные типы ацп
- •7.7.2.1Двухтактные интегрирующие ацп
- •7.7.2.2Ацп последовательного приближения
- •7.7.3 Другие типы ацп
- •7.7.3.1Преобразователи напряжения в частоту
- •7.7.3.2Параллельные ацп
- •7.8. Факторы применения
- •7.8.1 Характеристики цап
- •7.8.2 Характеристики ацп
- •7.9. Совместимость с системой
- •7.10. Совместимость преобразователей (взаимозаменяемость)
- •8.Позиционные системы счисления
- •8.1. Методы перевода чисел.
- •8.2. Форматы представления чисел с плавающей запятой.
- •8.3. Двоичная арифметика.
- •9.Понятие и свойства алгоритма
- •9.1. Определение алгоритма
- •9.2. Свойства алгоритма
- •9.3. Правила и требования, предъявляемые к построению алгоритма
- •9.4. Типы алгоритмических процессов
- •9.5. Принцип программного управления
- •9.5.1Принципы Джона фон Неймана
- •9.5.2Функциональная и структурная организация компьютера
- •9.6. Выполнение арифметических операций с числами с фиксированной и плавающей запятой
- •9.6.1Коды: прямой, обратный, дополнительный,
- •9.6.2Операция сложения
- •9.6.3Операция умножения
- •9.6.4Операция деления
- •10.Файлы данных
- •10.1. Файловые структуры
- •10.2. Носители информации и технические средства для хранения данных
- •10.3. Организация данных на устройствах с прямым и последовательным доступом
- •11. Вычислительная техника
- •11.1. Древнейшие счетные инструменты
- •11.2. Развитие абака
- •11.3. Логарифмы
- •11.4. Суммирующая машина Блеза Паскаля
- •11.5. Чарльз Бэббидж и его изобретение
- •11.6. Табулятор Холлерита
- •11.7. Машина ц3
- •11.8. Марк I
- •11.9. Эниак
- •11.10. Эдсак
- •11.11. Мэсм
- •11.12. Машина электронная вычислительная общего назначения бэсм-6
- •11.14. Альтаир 8800
- •11.15. Компьютеры Apple
- •12.Основы языка Object Pascal/Delphi
- •12.1. Описание структуры проекта
- •12.2. Описание структуры модуля
- •12.3. Описание элементов программ
- •12.3.1 Элементы языка программирования-алфавит
- •12.3.2 Элементы языка программирования-идентификаторы,константы, выражения
- •13.Выражения на Object Pascal
- •13.1. Целая и вещественная арифметика
- •13.2. Приоритет операций
- •13.3. Встроенные функции. Построение сложных выражений
- •14.Типы данных
- •14.1. Встроенные типы данных. Целые типы. Представление знака числа. Арифметическое переполнение
- •14.1.1Встроенные типы данных
- •14.1.2Целые типы
- •14.1.3Представление знака числа
- •14.1.4Арифметическое переполнение
- •14.2. Вещественные типы. Сопроцессор
- •14.3. Текстовые типы
- •14.4. Логический тип
- •14.5. Оператор присваивания. Совместимость типов по присваиванию
- •15.Ввод-вывод данных
- •15.1. Устройства вывода
- •15.2. Объекты, обеспечивающие вывод данных на экран
- •15.2.1Перечень компонентов ввода и отображения текстовой информации
- •15.2.2Отображение текста в надписях компонентов Label, StaticText и Panel
- •15.2.3Окна редактирования Edit и MaskEdit
- •15.2.4Многострочные окна редактирования Memo и RichEdit
- •15.2.5Группа радиокнопок – компонент RadioGroup
- •15.2.6Ввод и отображение целых чисел — компоненты UpDown и SpinEdit
- •15.2.7Компоненты выбора из списков — ListBox, CheckBox, CheckListBox и ComboBox
- •15.2.8 Таблица строк — компонент StringGrid
- •15.2.9Функция InputBox
- •15.2.10Процедура ShowMessage
- •15.3. Вывод в текстовый файл
- •15.3.1Объявление файла
- •15.3.2Назначение файла
- •15.3.3Вывод в файл
- •15.3.4Открытие файла для вывода
- •15.3.5Ошибки открытия файла
- •15.3.6Закрытие файла
- •15.4. Устройства ввода. Ввод с клавиатуры. Реакция на действия пользователя
- •15.4.1Устройства ввода
- •15.5. Ввод из файла
- •15.5.1Открытие файла
- •15.5.2Чтение данных из файла
- •15.5.3Чтение чисел
- •15.5.4Чтение строк
- •15.5.5Конец файла
- •16.Ветвление
- •16.1. Операции отношения
- •16.2. Логические (булевские) операции
- •16.3. Составной оператор
- •16.4. Оператор ветвления if
- •16.5. Оператор ветвления case
- •Исключительные ситуации
- •17.Циклы
- •17.1. Функции цикла в программе. Циклы с пред- и постусловием
- •17.2. Оператор While. Вечные циклы
- •17.3. Вечные циклы
- •17.4. Оператор repeat. Процедуры inc и dec
- •17.5. Цикл for
- •17.6. Команды break и continue
- •17.7. Вложенные циклы
- •17.8. Примеры задач с циклами
- •18.Массивы
- •18.1. Объявление массива
- •18.2. Операции с массивами
- •18.2.1Вывод массива
- •18.2.2Ввод массива
- •18.2.2.1Использование компонента StringGrid
- •18.2.2.2Использование компонента Memo
- •18.2.3Поиск минимального (максимального) элемента массива
- •18.2.4Поиск в массиве заданного элемента
- •18.2.4.1Алгоритм простого перебора
- •18.3. Ошибки при использовании массивов
- •19.Библиографический список
- •20.Предметный указатель
17.7. Вложенные циклы
Если цикл включает в себя один или несколько циклов, то содержащий внутри себя другие циклы называется внешним, а цикл, содержащийся в другом цикле вложенным. При программировании вложенных циклов необходимо выполнить правило: внутренний оператор цикла и принадлежащая ему область действия должны полностью содержаться внутри области внешнего цикла, таким образом внешний цикл всегда начинается раньше, а заканчивается позже, чем внутренний. Блок – схема вложенного цикла представлена на Рисунок 17 .115 – Блок-схема, соответствующая вложенному циклу.
При решении некоторых задач возникает потребность в организации вложенных циклов. Например, при анализе двумерного массива требуется выполнять цикл как по первому, так и по второму измерениям. В таких случаях используют вложенные циклы. Процедура Break и Continue всегда воздействуют только на ближайший оператор цикла, поэтому прекратить выполнение всех циклов с их помощью невозможно.
Например, требуется написать программу, которая печатает все целые числа, сумма квадратов которых равна заданному числу, которые последовательно перебирают все возможные значения, а в теле внутреннего цикла проверяется, не равна ли сумма квадратов значений счетчиков заданной величине.
Пример использования:
var i, j, n: integer;
begin
Readln(n);
for i:=1 to n div 2 do
for j:=1 to n div 2 do
if i*i + j*j = n then
Writeln(i, ‘,’, j);
end;
В каждом из циклов рассматривается диапазон значений от 1 до половины величины введенного числа (потому что сумма квадратов половин числа заведомо больше или равна этому числу). Можно найти дополнительные способы улучшить этот код, в частности, вынести вычисленные произведения i*i из тела вложенного цикла, потому что это произведение не имеет смысла многократно вычислять во вложенном цикле, где оно всегда будет иметь одно и то же значение, а операция умножения для процессора достаточно медленная.
или
for i := 1 to n do
for j := 1 to n do
Рисунок 17.115 – Блок-схема, соответствующая вложенному циклу
17.8. Примеры задач с циклами
Вычисление суммы элементов ряда.
program summr;
var
i:integer;
elem, summ:real;
begin
sum:=0;
for i:=1 to 5 do
begin
elem:=1/i;
sum:=sum+elem;
writeln(i:2,’’,elem:4:2);
end;
writeln(‘Сумма элементов ряда: ‘summ:4:2’);
end.
Вычисление числа ПИ с заданной точностью.
program pi;
var
n:integer;
p, t, elem:real;
begin
p:=0;
n:=1;
elem:=1;
write(‘Задайте точность вычисления ПИ ’);
readln(t);
writeln(‘Вычисление ПИ с точностью’,t:9:6);
while elem >= t do
begin
elem:=1/(2*n-1);
if (n mod 2) = 0
then p:=p-elem
else p:=p+elem;
n:=n+1;
end;
p:=p*4;
writeln(‘Значение ПИ с точностью’,t:9:6,’равно’,p:9:5);
writeln(‘Просуммировано’,n,’ членов ряда’);
end.
Вычисление суммы положительных чисел, введенных с клавиатуры.
program summrep;
var
summ, numb:integer;
begin
writeln(‘Вычисление суммы положительных целых чисел’);
summ:=0;
repeat
write(‘->’);
readln(numb);
if numb>0 then sum:=sum+numb;
until numb <= 0;
writeln(‘Сумма введенных чисел: ’summ);
end.