русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Взаимные преобразования чисел


Дата добавления: 2014-11-28; просмотров: 920; Нарушение авторских прав


Если переменной типа R присваивается значение типа Integer, то целое значение автоматически преобразуется в вещественный эквивалент, но переменной типа Integer нельзя присваивать вещественное значение. Таким образом, если Count — переменная типа Integer то каждый из приведенных в примере операторов присваивания вызовет ошибки вида «несоответствие типов»

Пример.

Count = 3.14

Count = SQRT(2)

Count = 0.5

Ясно, что переменная типа Integer не может принять значения 0,5, так как 0,5 не имеет соответствующего целочисленного эквивалента. Поэтому соответствующий оператор присваивания вызовет ошибку при выполнении программы (конечно, если Count описана как переменная типа Real, то оператор присваивания приемлем).

Чтобы обойти это ограничение, используют функции преобразования типов. Эти функции используют в качестве аргументов переменные типа Real и преобразуют их в целочисленные значения:

TRUNC(x) результат — целая часть х.

ROUND(x) результат — значение, округленное до ближайшего целого.

 

Различны ли эти функции? В некоторых случаях они дают одинаковые значения. При х = 3.2 и TRUNC, и ROUND дадут значение 3. Но при х = 3.6 функция TRUNC даст значение 3, в то время как ROUND возвращает значение 4. Это объясняется тем, что функция ROUND анализирует дробную часть аргумента, чтобы решить, округлять х до ближайшего большего или до ближайшего меньшего целого значения, в то время как TRUNC просто отбрасывает дробную часть.

Примеры:

TRUNC ROUND
TRUNC (5.8) = 5 ROUND (5.8) = 6
TRUNC (3.14) = 3 ROUND (3.14) = 3
TRUNC (-7.7) = -7 ROUND (-7.7) = -8

Целые и вещественные переменные можно использовать одновременно в одном арифметическом выражении. Если некоторый операнд выражения имеет тип REAL, то и все выражение будет иметь тип REAL. Вещественные функции, подобные SQRT(x), всегда возвращают вещественный результат. Это означает, что функция SQRT(4) возвращает вещественное значение 2.0, а не целое 2.



Задача. Вычислить значение функции

var a,b,x,y:real;

begin

a:=1;

b:=1.71;

x:=42;

y:=sqrt(abs(cos(x)+ln(a)-b));

writeln('y=',y:8:5);

end.

 

 

Контрольные вопросы по теме «Основы языка программирования Паскаль»

1. Какие типы величин используются в языке программирования Паскаль?

2. Какой тип данных используется для хранения целых чисел? А для дробных?

3. Укажите диапазон значений величин целого и действительного типов.

4. Какие имена переменных допустимы в программе? Как задать тип переменной в программе?

5. Что следует сделать, если в программе используется величина, не изменяющаяся за все время работы программы?

6. В чем отличие между операциями mod, div и /?

7. Зачем нужны функции trunc и round? В чем между ними разница?

8. Какое максимальное значение может принимать переменная типа integer? Что делать, если необходимо сохранить целое число, в 10 раз большее этого значения?

9. Как записать на Паскале «2,5 в степени 16,7»?

10. Что означает запись «1Е5», «ЗЕ-4», «.2Е7»?

11. Что нужно использовать, чтобы изменить приоритет выполнения математических операций?

12. Чему равно и какой тип данных имеет выражение
trunc(sqrt(2+52 div 8))-sqr(15 mod 4/3)?

13. Указать имена стандартных функций для вычисления

14. Можно ли в качестве операнда в арифметическом выражении использовать:

а) имя массива;

б) имя стандартной функции, например Sin(y);

в) имя символьной переменной или переменной логического типа?

15. Назвать последовательность действий при выполнении арифметического оператора присваивания

16. Написать арифметический оператор присваивания для вычисления значения:

17. Указать старшинство выполнения операций при вычислении арифметического выражения.

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

19.Как организовать вывод значений, сопровождая выводное числовое значение наименованием переменной? Как организовать пропуск одной, двух строк при выводе?

20. Как выбрать значения исходных данных для тестового варианта счета?



<== предыдущая лекция | следующая лекция ==>
Математические функции и процедуры | Условные операторы. Оператор if


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.056 сек.