Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Тождественность и совместимость типов
Для того, чтобы в программе не получилось путаницы с величинами разных типов нужно правильно применять понятия тождественности и совместимости типов. Два типа называются тождественными, если они описаны вместе или если их определения используют один и тот же идентификатор типа. Type M1, M2= array [1..9] of real S=array[1..9] of integer; M1,M2 - тождественные типы M1,S- не - тождественные типы. Тождественность требуется при замене формальных параметров на фактические в процедурах и функциях. Например, abs(x), где х- целое или вещественное число, мы не можем поставить abs(x), если х- символьная или булевская переменная. Огромную роль в выражениях и операциях сравнения, операторе присваивания играет совместимость типов. В операциях сравнения два типа являются совместимыми, если соблюдается хотя бы одно из условий: Оба типа одинаковые Оба типа вещественные Оба типа целые Один тип является поддиапазоном другого Оба типа поддиапазоны одного и того же типа Один тип строковый, другой символьный Например, ‘a’>’3’-допустимо ‘a’>3- недопустимо!!! В операции присваивания два типа совместимы, если выполняется хотя бы одно из условий: Типы тождественны Первый строковый, второй литерный Первый вещественный, второй целый Например, Var a: integer; B: real; C: char; S: string;
A:=b;- НЕЛЬЗЯ! B:=a; C:=s; - НЕЛЬЗЯ! S:=c; A:=s; - НЕЛЬЗЯ!
Лекция 13. Ввод-вывод данных в Turbo Pascal Ввод данных - передача информации от внешних устройств в ОП. Вывод данных - обратный процесс, передача информации из ОП на внешние устройства. Для ввода- вывода данных в Turbo Pascal существуют 4 процедуры: Read, Readln Write, Writeln Процедура Read обеспечивает ввод данных с клавиатуры в ОП. Формат записи процедуры: Read(х1, х2, х3…хn)- позволяет ввести в ОП значения переменных х1, х2, х3…хn. При выполнении процедуры Read компьютер приостанавливает свою работу и ждет ввода значений указанных переменных. Значения набираются с клавиатуры через пробел. Ввод всех значений списка, заканчивается нажатием клавиши Enter. Зам! Ввод данных производится в строгом соответствии с описанием. Пример, Var C: char; T: integer; D:real; …. Read(d,t,c); И ВВОДИМ ДАННЫЕ: ю 64000 34 Возникнет ошибка выполнения программы, так как d- переменная типа real и мы не имеем права вводить символ «ю», кроме того, значение переменной Т выходит за диапазон значений типа. Если в программе имеются несколько операторов Read, то данные считываются потоком, т.е. после считывания данных для одного оператора данные для другого читаются из той же строки. Read(x,y); Read(z,d,f); Если введем данные 1 2 3 4 5 6 то получим x=1, y=2, z=3, d=4, f=5. Оператор readln отличается от оператора read только тем, что после считывания последнего в списке значения для одного оператора readln, данные для следующего оператора считываются с новой строки. Readln(x,y); Readln(z,v); Если введем 2 4 6 7 3 9 то получим в памяти x=2, y=4, z=3, v=9. Примечание, по возможности, показать все на компьютере при помощи Debug® Watch. Оператор вывода имеет следующий формат записи Write(<список вывода>); Элементами списка вывода могут быть постоянные, переменные, выражения.
При выводе на экран нескольких выражений, они отделяются друг от друга запятой. При появлении этих выражений не экране они записываются подряд, не отделяясь друг от друга пробелами. X:=4; Y:=5; Z:=7; Write(x,y,z); На экране 457. Чтобы «отделить» числа друг от друга можно выводить пробелы- Write(x,’ ‘,y,’ ‘,z,’ ‘); или использовать форматы вывода. Формат вывода определяет представление информации на экране и записывается в списке вызова через двоеточие. Write(x:r)- значение х выводится в крайние правые позиции поля шириной R. X:=14; Write(x:5); НА экране _ _ _ 14 Наш пример можно записать Write(x:2,y:3,z:4). НА ЭКРАНЕ: _ 4_ _5_ _ _ 7 Кроме того, форматы вывода очень важны при выводе действительных (вещественных) чисел. В общем случае, вещественное число выводится в форме с плавающей точкой (запятой). Пример, Const n=0.2; … write(n); НА ЭКРАНЕ: 2.0000000Е-01 Такое представление информации является не привычным для нас. Поэтому будем использовать следующий формат вывода: Write(x:r:w)- значение х выводится крайние правые позиции поля шириной R, причем W знаков отводится под дробную часть. write(n:6:2); НА ЭКРАНЕ: _ _ _ _0.2 0 Оператор Writeln работает так же как и оператор Write, только после вывода всего списка он передает курсор на следующую строку. Пример, X:=3; Y:=x/2; Z:=x*2; Write(‘x=’,x); Write(z:2, y:4:2) НА ЭКРАНЕ: х=3_ 6_ 1,50
X:=3; Y:=x/2; Z:=x*2; Writeln(‘x=’,x); Writeln(z:2, y:4:2) НА ЭКРАНЕ: х=3 _ 6_ 1,50
|