Процедура вывода информации

Процедуры вывода (или записи информации) Write или WriteLn обеспечивают вывод числовых данных, символов, строк на дисплей. В отличии от процедуры ввода процедура вывода WriteLn может не иметь параметров. В этом случае процедура WriteLn обеспечивает лишь перевод курсора на следующую строку.

Синтаксис процедуры Write и WriteLn:

Write (X,Y);

или "Слепой" вывод значений переменных.

WriteLn (X,Y);

Write (X+Y);

или Вывод результата выражения.

WriteLn (X+Y);

Write (X:6:2);

или Форматированный вывод значения переменной.

WriteLn (X:6:2);

Write ('Фраза');

или Вывод некоторой фразы на дисплей.

WriteLn ('Фраза');

Write ('Фраза',Y);

или Вывод фразы и значения переменной на экран,

WriteLn ('Фраза',Y); "неслепой" вывод значения переменной,

где:

1) X, Y - переменные, значения которых нужно вывести на экран;

2) 'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной;

3) X:6:2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.

Оператор присваивания

Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоит результат переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу. Его синтаксис:

Y:=2;

X:='Строка';

P:=V1;

Summa:=V2;

где:

1) X,Y,P,Summa - имена переменных, описанных в разделе описания переменных;

2) 2, 'Строка' - некоторые значения;

3) V1,V2 - выражения, значения которых нужно вычислить.

Пустой оператор

Пустой оператор не обозначается и не вызывает никаких действий. Пустой оператор - это просто символ ";" (точка с запятой) в программе. Операторы отделяются друг от друга символом "точка с запятой" (;). Поэтому точку с запятой часто называют разделителем . Если разделитель между двумя операторами отсутствует, то это приведет к возникновению ошибки, поскольку компилятор часто не может "понять", что же хотел сказать автор программы. Пусть, например, записано

x:=1

y:=2;

Несмотря на то, что операторы присваивания записаны на разных строчках, компилятор будет воспринимать эту запись как

x:=1y:=2

В итоге получается "оператор", в котором используются два знака присваивания и неправильный идентификатор 1y (идентификатор не может начинаться с цифры).

Составной оператор

Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками - зарезервированными словами в языке Pascal - begin и end. Составной оператор используется в том случае, если необходимо выполнить последовательность операторов внутри какой-либо конструкции как единое целое.

Операторы условного перехода (If, Case)

Операторы условного перехода позволяют выбрать для исполнения один из нескольких операторов-компонентов в зависимости от условия.

1.Оператор If

Его синтаксис:

If A then

else ;

где: 1) A - булевское выражение (возвращающее TRUE или FALSE); 2) - операторы (возможно пустые или составные).

Лабораторная работа 12. Работа с массивами

Цель задания 1. Получение практических навыков в работе с массивами.

2. Знакомство с алгоритмами упорядочения.

Постановка задачи

Для конкретного варианта составить массив исходных данных. Изучив алгоритмы упорядочения, выбрать один из них. Написать программу, которая работает с любым допустимым набором данных. Входную информацию и результаты счета вывести на печать, снабдив их соответствующими заголов – ками.

Методические указания

1.Исходные данные должны включать и положительные числа, и отрицатель-ные и нули.

2.Пример программы. Дан двумерный массив различных вещественных чисел, содержащий 5 строк и 4 столбца. Строку, содержащую максимальный элемент массива, поменять местами со строкой, содержащей минимальный элемент:

PROGRAM MAS (INPUT, OUTPUT);

TYPE MMM = ARRAAY [1..4] OF REAL;

VAR M:ARRAY[1..5] OF MMM;

M1: MMM;

MAX, MIN,: REAL; MAXI, MINI, I, J: INTEGER;

BEGIN

WRITELN(‘ВВВЕДИ ИСХОДНЫЙ МАССИВ’);

FOR I: = 1 TO 5 DO

FOR J: = 1 TO 4 DO READ(M[I, J]);

MAX: = M[1,1]; MIN: = M[1,1];

MAX I: = 1; MIN I: =1;

FOR I: = 1 TO 5 DO

FOR J: = 1 TO 4 DO

BEGIN

IF MAX< M[I, J] THEN BEGIN

MAX: = M[I, J{]; MAXI: = I

END;

IF MIN > M [I, J] THEN BEGIN

MIN: = M[I, J{]; MINI: = I

END;

END;

M1: = M[MAXI];

M[MAXI]: M[MINI];

M[MINI]: = M1:

WRITELN(‘МАССИВ ПОСЛЕ ПЕРЕСТАНОВКИ СТРОК’);

FOR I: = 1 TO 5DO

BEGIN

FOR I: = 1 TO 4 DO WRITE (M[I, J]:5: 2);

WRITELN

END

END.

Протокол работы программы MAS:

ВВЕДИ ИСХОДНЫЙ МАССИВ

1.1 1.2 1.3 1.4

2.1 2.2 2.3 2.4

3.1 3.2. 3.3 3.4

4.1 4.2 4.3 4.4

5.1 5.2 5.3 5.4

МАССИВ ПОСЛЕ ПЕРЕСТАНОВКИ СТРОК

5.20 5.30 5.40

2.20 2.30 2.40

3.10 3.20 3.30 3.40

4.10 4.20 4.30 4.40

1.10 1.20 1.30 1.40

Варианты задания

1.В массиве из 20 целых чисел найти наибольший элемент и поменять его местами с первым элементом.

2. В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом.

3. В массиве из 15 вещественных чисел найти наибольший элемент и поменять его местами с последним элементом.

4. В массиве из 25 вещественных чисел найти наименьший элемент и поменять его местами с первым элементом.

5. Упорядочить по не убыванию массив, содержащий 20целых чисел.

6. Упорядочить по не возрастанию массив, содержащий 10 целых чисел.

Наши рекомендации