
- •Информация и информатика. Информационная технология. Информационное Общество. Основные понятия.
- •2. Информационные революции. Поколения эвм
- •3.Понятия информационной системы и ее структура.
- •4. Этапы развития вычислительных машин.
- •5.Представление информации в памяти эвм. Представление текста, изображений и звука. Представление информации в эвм
- •6.Представление информации в памяти эвм. Представление чисел. Системы счисления.
- •7.Архитектура эвм. Структурная система эвм.
- •8. Архитектура эвм. Хранение данных. Оперативное запоминающее устройство.
- •9. Архитектура эвм. Процессор. Машинные команды.
- •Формат машинной команды.
- •10. Архитектура эвм. Устройства хранения данных.
- •Устройства хранения данных
- •11. Файловая система, ее структура.
- •12. Конструктивное исполнение современных компьютеров. Подключение
- •Организация эвм и систем
- •Глава 8. Периферийные устройства.
- •8. Периферийные устройства.
- •8.1. Устройства ввода информации: клавиатура, мышь, манипуляторы.
- •13. Периферийные устройства. Устройства ввода.
- •14. Устройства вводя-вывода.
- •16. Системное программное обеспечит. Эволюция операционных систем.
- •17. Компоненты операционной системы. Оболочка и ядро.
- •18. Структура ядра операционной системы.
- •19.Начало работы операционной системы , координирование действий эвм.
- •20.ОПерационная система Windows. Интерфейс, способы запуска программа, работа с файлами, работ с окнами. Программа проводник.
- •22.Создание алгоритма. Представление алгоритма.
- •23.Представление алгоритма в виде блок-схем. Обозначения в блок-схемах.
- •24. Типовые структуры алгоритмов. Последовательная и разветвления.
- •25.Типовые структуры алгоритмов. Циклическая ( три типа цикла).
- •26. Типовые алгоритмы и их эффективность. Алгоритмы сортировки и поиска.
- •37.Операции : арифметические, отношения, логические.
- •38. Организация ветвящимся процессов.
- •39.Органмизация цикла со счетчиком.
- •40. Организация цикла с предусловием.
- •41.Организация цикла с постусловием.
- •42.Процедуры ввода, вывода.
- •43.Процедуры и функции.
37.Операции : арифметические, отношения, логические.
38. Организация ветвящимся процессов.
Ветвящийся процесс — это случайный процесс, описывающий широкий круг явлений, связанных с размножением и превращением каких-либо объектов.
Основным аналитическим аппаратом ветвящихся процессов являются производящие функции:
39.Органмизация цикла со счетчиком.
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода).
Цикл со счётчиком — цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной тело цикла выполняется один раз. В большинстве процедурных языков программирования реализуется оператором for, в котором указывается счётчик (так называемая «переменная цикла»), требуемое количество проходов (или граничное значение счётчика) и, возможно, шаг, с которым изменяется счётчик. Например, в языке Оберон-2 такой цикл имеет вид:
FOR v := b TO e BY s DO
... тело цикла
END
(здесь v — счётчик, b — начальное значение счётчика, e — граничное значение счётчика, s — шаг).
Неоднозначен вопрос о значении переменной по завершении цикла, в котором эта переменная использовалась как счётчик. Например, если в программе на языке Паскаль встретится конструкция вида:
i := 100;
for i := 0 to 9 do
begin
... тело цикла
end;
k := i;
возникает вопрос: какое значение будет в итоге присвоено переменной k: 9, 10, 100, может быть, какое-то другое? А если цикл завершится досрочно? Ответы зависят от того, увеличивается ли значение счётчика после последней итерации и не изменяет ли транслятор это значение дополнительно. Ещё один вопрос: что будет, если внутри цикла счётчику будет явно присвоено новое значение? Различные языки программирования решают данные вопросы по-разному. В некоторых поведение счётчика чётко регламентировано. В других, например, в том же Паскале, стандарт языка не определяет ни конечного значения счётчика, ни последствий его явного изменения в цикле, но не рекомендует изменять счётчик явно и использовать его по завершении цикла без повторной инициализации. Программа на Паскале, игнорирующая эту рекомендацию, может давать разные результаты при выполнении на разных системах и использовании разных трансляторов.
Радикально решён вопрос в языке Ада: счётчик считается описанным в заголовке цикла, и вне его просто не существует. Даже если имя счётчика в программе уже используется, внутри цикла в качестве счётчика используется отдельная переменная. Счётчику запрещено явно присваивать какие бы то ни было значения, он может меняться только внутренним механизмом оператора цикла. В результате конструкция
i := 100;
for i in (0..9) loop
... тело цикла
end loop;
k := i;
внешне аналогичная вышеприведённому циклу на Паскале, трактуется однозначно: переменной k будет присвоено значение 100, поскольку переменная i, используемая вне данного цикла, не имеет никакого отношения к счётчику i, который создаётся и изменяется внутри цикла. Подобное обособление счётчика удобно и безопасно: не требуется отдельное описание для него и минимальна вероятность случайных ошибок, связанных со случайным разрушением внешних по отношению к циклу переменных. Если программисту требуется включить в готовый код цикл со счётчиком, то он может не проверять, существует ли переменная с именем, которое он выбрал в качестве счётчика, не добавлять описание нового счётчика в заголовок соответствующей процедуры, не пытаться использовать один из имеющихся, но в данный момент «свободных» счётчиков. Он просто пишет цикл с переменной-счётчиком, имя которой ему удобно, и может быть уверен, что никакой коллизии имён не произойдёт.
Цикл со счётчиком всегда можно записать как условный цикл, перед началом которого счётчику присваивается начальное значение, а условием выхода является достижение счётчиком конечного значения; к телу цикла при этом добавляется оператор изменения счётчика на заданный шаг. Однако специальные операторы цикла со счётчиком могут эффективнее транслироваться, так как формализованный вид такого цикла позволяет использовать специальные процессорные команды организации циклов.
В некоторых языках, например, Си и других, произошедших от него, цикл for, несмотря на синтаксическую форму цикла со счётчиком, в действительности является циклом с предусловием. То есть в Си конструкция цикла:
for (i = 0; i < 10; ++i)
{
... тело цикла
}
фактически представляет собой другую форму записи конструкции[1]:
i = 0;
while (i < 10)
{
... тело цикла
++i;
}
То есть в конструкции for сначала пишется произвольное предложение инициализации цикла, затем — условие продолжения и, наконец, выполняемая после каждого тела цикла некоторая операция (это не обязательно должно быть изменение счётчика; это может быть правка указателя или какая-нибудь совершенно посторонняя операция). Для языков такого вида вышеописанная проблема решается очень просто: переменная-счётчик ведёт себя совершенно предсказуемо и по завершении цикла сохраняет своё последнее значение
http://lib.zabspu.ru/methodic/asm/lab07.htm