- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.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. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
Программа вычисления корня по формуле Герона.
Текстовое описание алгоритма программы.
Прочесть (консольно) значение вещественного числа «а» и целого числа N-количество итераций.
Проверить допустимость введенного числа a>0,
Присвоить некое исходное значение переменной «х»,
Присвоить начальное значение счетчику цикла, т.е. некой целочисленной переменной ii=0.
Вычислить очередное приближение корня по формуле (2).
Увеличить счетчик цикла на единицу.
Проверить значение счетчика: если ii<N то перейти (вернуться) к выполнению пункта 5.
Вывести на экран результат расчетов.
Текст программы.
Program Pr1; {текст программы следует сохранить
в одноименном файле, т.е. в файле с именем PR1.PAS !}
Var ii, N: integer; x, a: real;
Label MMM;
Write(‘Введите положительное число а=’); Readln(a);
Write(‘Введите количество итераций N=’); Readln(N);
if a<0 then
begin
Writeln(‘Программа извлекает корни только из положительных чисел’);
Exit {команда: завершить выполнение программы}
end;
x:=1; ii:=0;
MMM: x:=0.5*(x+a/x);
ii:=ii+1;
{печать промежуточных результатов: удобно для отладки программы !}
WRITELN(ii,’ ‘,x);
if ii<N then goto MMM;
Writeln(‘корень x=’,x,’ квадрат корня =’,x*x);
end.
6.9.3. Оператор цикла for to
Синтаксис оператора:
FOR Iсчет := Iнач TO Iкон DO Опер ;
FOR – ключевое слово оператора, за которым обязательно следует разделитель-пробел (пробелы),
Iсчет – целочисленная переменная – счетчик цикла,
:= два символа – разделителя (избыточный синтаксис языка Pascal),
Iнач - целочисленная константа или переменная, содержащая начальное (наименьшее) значение счетчика цикла,
TO - служебное слово-разделитель (избыточный синтаксис языка Pascal),
Iкон - целочисленная константа или переменная, содержащая конечное (наибольше) значение счетчика цикла,
DO - служебное слово-разделитель (избыточный синтаксис языка Pascal),
Опер – оператор, выполнение которого повторяется несколько раз, т.е. собственно само «тело цикла».
Пример:
Var ii, k: integer;
. . . . . . . . . . . .
for ii:=k to 7 do a:=Sqrt(a+1);
Звуковая транскрипция операторов управления обычно дается несколькими предложениями-командами: Повторяй выполнение оператора, указанного после слова DO, последовательно наращивая на единицу содержимое переменной ii! Начальное значение возьми из переменной k!. Как только значение счетчика цикла превысит число семь - выполнение оператора прекрати!
Текст программы, реализующей задачу из предыдущего раздела,
но использующей новый оператор цикла.
Program Pr2; {программу сохранить в файле PR2.PAS !}
Var ii, N: integer; x, a: real;
Write(‘Введите положительное число а=’); Readln(a);
Write(‘Введите количество итераций N=’); Readln(N);
if a<0 then begin Writeln(‘Требуется A>0’); Exit end;
x:=1;
for ii:=1 to N do
begin
x:=0.5*(x+a/x);
WRITELN(ii,’ ‘,x);
end;
Writeln(‘корень x=’,x,’ квадрат корня =’,x*x);
end.
Настоятельно рекомендуется: записывать сложносоставные операторы управления – СТРУКТУРИРОВАНО, как это сделано в примере. Визуальное восприятие таких операторов существенно облегчается, если служебные слова FOR BEGIN и END (или IF BEGIN END) размещать:
либо в разных строках, но начиная с одной и той же позиции,
либо все три слова в одной строке, что возможно только для коротких предложений.