TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

1. 7. 1.  Операторы ввода/вывода данных

                                                                             

  Операторы вывода данных на экран    Write("сп");  или  Writeln("сп"); 

                                                                             

Здесь "сп" - список переменных.

            Например,  операторы  Write(a, b, c);   или    Write(a);  Write(b);  Write(c);   или  Writeln(a, b, c);  - выводят значения переменных  "a",  "b",  "c"  начиная с текущей позиции курсора.  После вывода данных оператором  Write("сп");  курсор остается за последним выведенным символом.  Оператор  Writeln("сп");  после вывода данных переводит курсор на первую позицию следующей строки.  Например,  для вывода значений переменных "a",  "b",  "c" в трех строках экрана следует написать:

     Writeln(a);  Writeln(b);  Writeln(c);

Оператор  Writeln;  переводит курсор на начало следующей строки экрана.

Оператор  Write('Моя первая программа !');  выводит на экран указанный текст.

            В операторах вывода допускается производить арифметические действия,  например,  оператор  Writeln(32*a+Sin(x));  соответствует операторам  b:=32*a+Sin(x);  Writeln(b);

            При выводе данных можно задавать формат вывода.  Для этого после имени переменной ставится знак двоеточие " : " ,  например:  Writeln(a:5:2);  - при выводе значения переменной вещественного типа отводится 5 позиций (включая отрицательный знак и точку),  из них 2 позиции отводится для вывода цифр в дробной части.  При выводе значения переменной целого типа задается количество позиций для числа (включая отрицательный знак),  например: Writeln(i:8);

            При выводе значений символьных и строковых переменных формат определяет число позиций для вывода значения переменной (текста).

            При выводе число или текст выравниваются по правому краю отведенного поля,  например: если  а:=5. 02;, то оператор  Writeln('а=',  a:6:2); выведет на экран: а= _ _ 5. 02,  если  n:= '116';  s:= 'Школа N';,  то оператор  Writeln(s:7, n:6);

выведет на экран надпись:   Школа N _ _ _ 116 .

            Для выравнивания числа или текста по левому краю отведенного поля первый знак формата задается отрицательным,  например:

оператор  Writeln('а=',  a:-8:2);   выведет на экран надпись:  а=5. 02

оператор  Writeln(s:7,  n:-6);  выведет на экран надпись:   Школа N116 . 

 

            При недостатке количества позиций для вывода число или текст выводятся полностью,  а формат игнорируется,  кроме формата вывода дробной части числа.  Если формат вывода не задавать,  то значения целых и строковых переменных выводятся полностью,  а вещественных - в экспоненциальной форме с количеством цифр,  соответствующих типу переменной,  например,  оператор  Writeln('а=',  a);   выведет на экран надпись: a=5. 0200000000E+00  (тип Real,  расчет без сопроцессора ),  либо   a=5. 02000000000000E+0000 ( тип Double,  расчет с сопроцессором ).

            Приведем пример программы,  выполняющей различные операции с переменными разного типа.

 

Program N_1;                                                            { работа с переменными разного типа }

var  x,  y,  z : real;           x0, y0:  byte;                                      { описание типов переменных }

     x1, y1, z1: integer;     xb, yb, zb:  boolean;

     c1, c2, c3: char;        s1, s2, s3:  string;

 

Begin

      x := 5. 8;    y:= 3. 4;      x1:= 43;    y1:= 28;                                    { присвоение значений }

      c1:= 'Z';   c2:= 'S';      x0:= 65;

      xb:= True;                 yb:= False;

      s1:= 'Иванов _ ';            s2:= 'Петров _ ';

 

Writeln('Математические операции:');              Z:= x+y;                                           { и т. д.  }

     Write('x:=',  x:3:1,  ' _ _ y:=',  y:3:1);

     Writeln(' _ _ Z:= x+y;',   ' _ _ z=',  z:5:2);

     Writeln;                                    z1:= x1 div y1;                                                           { и т. д.  }

     Write('x1:=',  x1:3,  ' _ _ y1:=',  y1:3);

     Writeln(' _ _ Z1:= x1 div y1;',   ' _ _ z1=',  z1:2);

     Writeln;                                                                                                         { Пустая строка }

     readln;                                                                        { Задержка экрана до нажатия Enter }

Writeln('Логические операции:');               Zb:= xb and yb;                                        { и т. д.  }

     Write('xb:=',  xb,  ' _ _ yb:=',  yb);

     Writeln(' _ _ Zb:= xb and yb;',  ' _ _ zb=',  zb);

     Writeln;                                                                                                         { Пустая строка }

     readln;                                                                        { Задержка экрана до нажатия Enter }

 

Writeln('Операции сравнения:');                   Zb:= c1 > c2;                                         { и т. д.  }

                                                                      { символы сравниваются по номеру ASCII кода }

     Write('c1:=',  c1,  ' _ _ c2:=',  c2);

     Writeln(' _ _ Zb:= c1 > c2;',  ' _ _ zb=',  zb);       Writeln;

                                           { строки сравниваются по номеру ASCII кода первых символов }

                                    { если первые символы совпадают,  то сравниваются вторые и т. д.  }

                                                   Zb:= S1>S2;      { и т. д.  }

     Write('s1:=',  s1,  ' _ _ s2:=',  s2);

     Writeln(' _ _ Zb:= s1 > s2;',  ' _ _ zb=',  zb);

     Writeln;                                                                                                             { Пустая строка }

     readln;                                                                        { Задержка экрана до нажатия Enter }

 

Writeln('Математические функции:');            Z:= sin(x*Pi/180);                                { и т. д.  }

     Write('x:=',  x:4:2);

     Writeln(' _ _ Z:= sin(x*Pi/180);',  ' _ _ z=',  z:10:7);

     Writeln;                                                                                                         { Пустая строка }

     readln;                                                                        { Задержка экрана до нажатия Enter }

 

Writeln('Математические процедуры:');

     Write('x1:=',  x1);                               Inc(x1);                                                          { и т. д.  }

     Writeln(' _ _ Inc(x1);',  ' _ _ x1=',  x1);

     Writeln;                                                                                                         { Пустая строка }

     readln;                                                                        { Задержка экрана до нажатия Enter }

 

Writeln('Функции преобразования типов:');            c3:= Chr(x0);                             { и т. д.  }

     Write('x0:=',  x0);

     Writeln(' _ _ c3:=Chr(x0);',  ' _ _ c3=',  c3);

     readln                                                                         { Задержка экрана до нажатия Enter }

end.

            Все приводимые ниже задания предполагают написание и отладку программ,   выполняющих указанные в заданиях действия.

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz