- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
6.8. Метки операторов. Оператор безусловного перехода
Любому исполнимому оператору языка Pascal может быть присвоено уникальное символьное имя - метка. Идентификаторы, используемые в качестве меток, описываются специальным оператором:
LABEL И1, И2, . . . Иn;
Ключевое Перечень
слово имен
Пример:
Label m1, m2, mm;
Звуковая транскрипция: запомни: идентификаторы m1, m2, mm будут использованы в программе как имена операторов!
Правило: имя (метка) присваиваемое оператору, записывается перед оператором и отделяется от него символом-разделителем – двоеточием.
Пример: m1: a:= sqrt(a*a + 3);
Звуковая транскрипция: присвой имя m1 указанному за ним оператору!
Синтаксис оператора принудительного изменения активной позиции программы: GOTO Меt;
где GOTO – ключевое слово, за которым следует пробел-разделитель, Меt - имя (метка) оператора.
Звуковая транскрипция: продолжать выполнение программы начиная с оператора, помеченного именем Меt!
6.9. Циклические вычисления. Операторы зацикливания
Все численные методы решения математических задач, в конечном счете, сводятся к многократному (тысячи и миллионы раз) повторению однотипных вычислений, т.е. к расчетам по одним и тем же формулам, но при различных значениях, входящих в эти формулы: аргументов и коэффициентов. Обычно, точность получаемого численного решения прямо пропорциональна количеству проделанных однотипных вычислений.
Опр. Циклическими вычислениями (циклами) называются многократные повторения расчетов по одной и той же последовательности операторов.
Опр. Тело цикла – последовательность операторов (фрагмент текста программы) выполняемый циклически.
Опр. Операторы зацикливания – операторы управления программой, которые заставляют процессор многократно повторять выполнение одного и того же фрагмента программы.
Организация циклических вычислений операторами if then goto
Опр. Счетчиком цикла называется рабочая переменная, в которой содержится (вычисляется) порядковый номер повторения некоего фрагмента программы.
Счетчик цикла – всегда целочисленная переменная, т.к. команда «повторить некое действие три с половиной раза» непонятна даже человеку.
Для примера, рассмотрим задачу извлечения «х» - квадратного корня из положительного числа «а» по методу Герона Александрийского (он же метод Ньютона для решения уравнения х2=а).
Рекурентная формула Герона
xi+1 = 0.5(xi + a / x i) (1)
позволяет вычислить xi+1 - очередное (уточненное) значение искомого корня по известному предыдущему значению xi. В качестве самого первого (исходного) значения x1 можно взять любое число.
Проведем «ручные вычисление» по формуле (1) для конкретного варианта, которые нам обязательно понадобяться для контроля правильности работы будущей программы.
Пусть а=4 и x1=1, тогда: x2 = 0.5(1+4/1) = 2.5
x3 = 0.5(2.5+4/2.5) = 2.05
x4 = 0.5(2.05+4/2.05) = 2.001
Важно понять: каждое очередное значение искомого корня можно размещать в том же информационном объекте (переменной), где ранее задавалось предыдущее его приближение. На языке Pascal, соответствующий оператор имеет вид
x:=0.5*(x + a / x); (2)
Семантика (звуковая транскрипция) этого оператора: выполни вычисления указанные в правой части оператора, и помести результат именно в переменную «х», где ранее находилось предыдущее значение искомого «х».