- •3. Система программитрования турбо паскаль
- •3.1 Окно среды разработчика
- •3.2. Элементы диалоговой среды
- •3.3. Команды редактора
- •3.4. Модули
- •4. Общие сведения о языке паскаль
- •4.1 Алфавит языка
- •4.2. Типы данных в TurboPascal 7.0
- •4.3. Операции и выражения в языке Паскаль
- •4.4 Стандартные функции в языке Паскаль
- •5. Линейные алгоритмы
- •5.1. Структура программы на языке Паскаль
- •5.2. Конструкция «следование»
- •6. Разветвляющиеся алгоритмы
- •And, * (умножение), / (деление), div, mod;
- •6.1. Операторы условных переходов
- •Var a, b, c : Real; lv : Boolean;
- •Var a, b, c : Real; lv : Boolean;
- •Var X, y : Real;
- •6.2. Оператор безусловного перехода
- •Var n, p, X : Real;
- •20: WriteLn('Факториал числа ' , n:4:2,' равен ' ,p:4:2);
- •7. Циклические алгоритмы
- •7.1. Цикл с предусловием While
- •X, xn, xk, dx, y, s, p: real;
- •7.2. Цикл с постусловием repeat
- •X1, x0, X, eps: real;
- •7.3. Цикл с параметром for
- •I: integer; c: char;
- •7.4. Принудительное завершение цикла
- •X, xn, xk, dx: real;
- •8. Символьный тип
- •8.1. Особенности символьного типа
- •8.2. Объявление символьной переменной
- •8.3. Операции с символами
- •Строковые переменные
- •9.1. Определение и типы строк
- •9.2. Упакованный строковый тип
- •9.3. Строковый тип
- •9.5. Примеры работы со строками
- •9.6. Индивидуальные задания по работе со строками и символами
- •10. Массивы
- •10.1. Организация данных в массиве
- •10.2. Объявление массивов
- •10.3. Ввод и вывод значений элементов массива
- •10.4. Подсчет количества элементов по заданному условию
- •10.5. Поиск минимального элемента массива
- •10.6. Вычисление произведения ненулевых элементов массива
- •10.7. Сортировка элементов массива
- •10.8. Заполнение массива случайными числами
- •10. 9. Индивидуальные задания по работе с массивам
- •11. Процедуры и функции
- •11.1. Понятие подпрограммы
- •11.2. Описание процедуры
- •11.3. Описание функции
- •11.4. Области действия имен
- •11.5. Индивидуальные задания по разработке процедур и функций
- •Var k,l; real;
5.2. Конструкция «следование»
С ледованием называется конструкция, представляющая собой последовательное выполнение двух или более операторов. Линейная программа описывает буквально конструкцию СЛЕДОВАНИЕ.
Программа включает операторы присваивания, процедуры ввода – вывода.
Присваивание – занесение значения в память. В общем виде. В операторе присваивания слева всегда стоит имя переменной, а справа – значение, например:
A:=sin (x) * (c+d);
Y:= 4+1;
В последующем примере сначала из ячейки памяти, в которой храниться значение переменной y, выбирается это значение. Затем к нему прибавляется 1, после чего получившийся результат записывается в туже самую ячейку. При этом то, что хранилось там ранее6 теряется. Правая и левая части оператора присваивания должны быть, как правило, одного типа.
Процедуры ввода-вывода. Любая программа при вводе исходных данных и выводе результатов взаимодействует с внешними устройствами. Совокупность стандартных устройств ввода и вывода, то есть клавиатуры и экрана монитора , называется консолью. для ввода с клавиатуры применяются процедуры read и readln.
Read (x1, x2, …,xn); илиreadln [(x1, x2,…,xn)];
где x1, x2, …, xn – список вводимых переменных.
Квадратные скобки указывают на то, что список может отсутствовать. Например readln. Когда в программе встречается оператор read, ее действие приостанавливается до тех пор, пока не будут введены исходные данные. Вводимые переменные отделяются друг от друга пробелом, или ENTER.
Ввод данных выполняется через буфер – специальную область оперативной памяти. Процедура Read в отличии от Readln, не очищает буфер, поэтому следующий за ней ввод будет выполняться с того места, на котором закончился предыдущий, то есть начинается с символа конца строки. Например фрагмент программы.
Program odin; Usus crt; Var A, b, c: real; Begin Read (a, b); C:=a+b; …………………………..
Для вывода информации применяются стандартные процедуры write и writeln
Write (список);
Writeln [(список)];
Процедуры write и writeln последовательно выводят все переменные на экране дисплея. Если используется процедура writeln, то после вывода информации курсор перемещается на новую строку.
Вещественные данные выводятся в формате с плавающей точкой.
#.# # # # # # # # # # E ± # # #,
где # любая десятичная цифра от 0 до 9. причем 10 из символов отводится под его дробную часть.
Форматированный вывод информации. В процедурах write (writeln) есть возможность указать константу (или выражение целочисленного типа, определяющую ширину поля вывода). Для целых и строковых выражений она указывается через двоеточие после имени выводимой переменной или вырпажения. При выводе вещественных значений, кроме ширины поля вывода через двоеточие надо указывать количество позиций, необходимых для дробной части числа.Форматированный вывод вещественных чисел позволяет увидеть значение на экране в формате с фиксированной точкой.
Writeln (a: m: n), где m – ширина поля вывода, n – количество знаков в дробной части числа. Если число a не помещается в m позиции й, то поле вывода расширяется до минимально необходимого. Допустим являются форматы a:2:2, a:1:2.
В этом случае фактически указывается только количество разрядов в дробной части числа, а ширина поля вывода определяется в момент вывода вещественного числа на экран.
Пример линейной программы.
Вариант |
Формулы для вычисления |
Исходные данные |
|
х |
у |
||
|
k= (h) n=[h] |
31.01 |
-0.4917 |
Переменные с именами i, j, k, l, m, n – данные целого типа. Округление числа обозначается символом ( ). Операция отсекания дробной части числа обозначается символом [ ].
Program Z1; Usus crt; Const ramka =
‘********************’; Var K,
n : integer; {целый тип} X,
y, h: real;
{вещественный тип} Begin Clrscr;
{очистка экрана} Write
(‘ввод х=’); Readln(x);
Write (‘ввод
у=’); Readln(y);
H:=(x*y+sin(x))/(abs(1-y)*ln(x)); K:= round (h); N:= trunk (h); Writeln(“:35,
ramka);
Writeln(“:35,’*k=’,k,’ n=’,n,’ *’);
Writeln(“:35,’*x=’,x:8:4,’ y=’,y:8:4,’*’);
Writeln(“:35,’*h=’,h:8:4,’’:12,’*’); Writeln(“:35,ramka);
{два апострофа двоиточие 35 – это
35 пробелов}
Readln; End.