Типы данных языка программирования TP 7.0 . Вещественный тип
Оценка 4.7

Типы данных языка программирования TP 7.0 . Вещественный тип

Оценка 4.7
Рабочие тетради
doc
информатика
10 кл—11 кл +1
25.04.2017
Типы данных языка программирования TP 7.0	.  Вещественный тип
Занятие строится таким образом, что после прослушивания теоретического материала (10 –15 мин.), учащимся предлагается практическое задание, которое выполняется ими за 20 - 30 мин. и корректируется в процессе изучения материала в более сложную задачу по изучаемой теме. Автор сознательно избегал сложных примеров, будучи убежденными, в том, что гораздо важнее для учащихся понимание алгоритмов предлагаемых задач, приобретение навыков разработки алгоритмов, их программирования и выполнения на компьютере в течение одного занятия. Такой подход к изучению языка программирования позволяет сосредоточить внимание на самом процессе программирования, который в данном случае более важен для изучения языка, чем решение сложной задачи, наверняка трудной большинству учащихся. Такие задачи, по мнению авторов, неоправданно занимают большое количество учебного времени, превращая учителя из инициатора процесса обучения в диктатора.
Занятие 4ч1.doc
Типы данных языка программирования TP 7.0 .  Вещественный тип       Занятие 4 1. Урок 1. Типы данных языка программирования  (я. п.) TP 7.0. 2. Урок 2. Основные   математические  функции  и  процедуры я. п.  TP 7.0. 3. Урок 3. Практическая работа. 4. Контрольные вопросы и упражнения. Урок  1.   Типы данных языка программирования Turbo Pascal 7.0 1.1. Вещественный тип данных. 1.2. Представление вещественных чисел в компьютере. Форматный вывод вещественных чисел.         Арифметические операции над вещественными числами. 1.3. Практический пример. 1.1. Вещественный тип данных В  TP  7.0 определено пять стандартных вещественных (действительных) типов:  Real  (вещественный),  Single (одинарной   точности),  Double  (двойной   точности),  Extended  (повышенной   точности)   и  Comp  (целое   в   формате вещественного числа).   Диапазон  действительных  типов приведен в таблице 1. Тип Допустимые значения модулей числа Real Single Double Extended Comp 2.9*10­39 ­:­ 1.738 1.5*10­45 ­:­ 3.4*1038 5.0*10­324 ­:­ 1.7*10308 3.4*10­4932 ­:­ 1.1*104932 1 ­:­ 9.2*1018 (263 ­ 1)       Таблица 1 Формат (байт) Точность (знаков) 11 ­:­ 12    7 ­:­   8 15 ­:­ 16 19 ­:­ 20 19 ­:­ 20   6   4   8 10   8 Тип Real доступен всегда. Действия над типами Single, Double, Extended и Comp могут выполняться только при наличии числового сопроцессора,   либо программой эмуляции (моделирования)  сопроцессора,   осуществляемой директивой   {$N+   или   $E+}   в   начале   программы.   Тип  Comp  обеспечивает   точную   обработку   много   разрядных математически целых чисел.  В  TP  7.0 любое значение, которое относится к   вещественному типу, может быть записано в виде дробного числа, например,   a:=7.63;  b:=125.0  (переменным  a   и   b   присвоены значения вещественных чисел   7.63   и 125.0 соответственно). По обеим сторонам записи должна располагаться хотя бы одна цифра (например,  ­0.5   0.0). Или в экспоненциальной форме, например: 5.0000000000E – 01 = 5 * 10 ­1 = 0.5 5.0000000000E + 00 = 5 * 10 0 = 5.0 5.0000000000E + 01 = 5 * 10 1 = 50.0 6.3710421431E + 03 = 6.3710421431 * 10 3 = 6371.0421431 1.2. Представление вещественных чисел в компьютере. Форматный вывод вещественных чисел Представление   вещественных   чисел   в   компьютере   не   является   точным.   Эти   числа   приближенные   с определенной степенью точности, достаточной для получения удовлетворяющего практическим целям результата. 1.2.1. Представление вещественных чисел в компьютере Вещественные   числа   в   компьютере   обычно   представляются     в   форме   с   плавающей   точкой,   т.е.,   число представляется   в   виде   его  цифровой   части   (мантиссы   )  и  порядка   (показателя   степени   10).   Количество разрядов, отводимых   на порядок, определяет диапазон допустимых чисел, а   количество разрядов, отводимое под мантиссу, определяет точность числа.   Машинное число представляет собой с некоторой точностью некоторый диапазон вещественных чисел, где числа в верхней части рисунка обозначают номера двоичных разрядов (см. рис.1). Арифметические операции над ними производятся не точно, как это бывает с целыми числами, а по правилам действий над приближенными числами.  По этой причине следует избегать логических операций сравнения вещественных чисел на их точное равенство.                0     Знак мантиссы      1 ­:­ 10 Модуль мантиссы         11            12 ­:­ 15 Модуль порядка порядка Знак Рис. 1. Представление машинного числа в формате с плавающей точкой. 26 При выводе  на экран дисплея вещественных чисел оператором   Write () индицируются  числа в формате с плавающей точкой (экспоненциальная форма).   1.2.2. Форматный вывод вещественных чисел Для вывода вещественного числа на экран дисплея или на твердый носитель (бумага) необходимо определить формат выводимого числа, т.е.  количество цифр до десятичной точки и количество цифр после десятичной точки. Форматный вывод вещественных чисел определяет количество выводимых чисел, включая десятичную точку и количество чисел после десятичной точки.  Все  необходимые инструкции для этого описываются в операторе  Write (), например,  Write  (c:5:2);, а это значит, что выводится переменная   ‘c’   в виде пяти цифровых символов, один из которых точка, две  цифры выводится до десятичной токи и две после  точки. 1.2.3. Арифметические операции над вещественными числами. Арифметические операции производятся над вещественными числами по законам арифметики. Как и в целом типе, отсутствие операции возведения в степень отчасти возмещается наличием функции  Sqr(x) – квадрат числа x. Операция Унарная + ­ Бинарная + ­ * / Действие     Таблица 2 Пример Сохранение знака Изменение знака Сложение Вычитание Умножение Деление +A ­A A+B A­B A*B A/B Арифметические  выражения строятся из чисел, констант, переменных, стандартных функций и операций над ними. Практический пример. Приведенная   ниже   программа   демонстрирует   выполнение   арифметических   операций   над   вещественными числами. Program V1L05P1; {Демонстрация арифметических операций} Uses Crt; Var a,b,ma,mb,c: real; begin ClrScr; Write('Введи два действительных числа через пробел: '); ReadLn(a,b); {} WriteLn(' Унарная операция – изменение знака:'); ma:=­a; mb:=­b; WriteLn(ma:15:7, ' ',mb:15:7); {} WriteLn(' Умножение'); c:=a*b; WriteLn(a:15:7,' * ',b:15:7,' = ',c:15:7); {} WriteLn(' Деление, если делитель не равен 0'); c:=a/b; WriteLn(a:15:7,' / ',b:15:7,' = ',c:15:7); {} ReadKey; end. {Ввод действительных чисел} Результат работы программы Введи два действительных числа через пробел:  12.3456 13.45678 Унарная операция ­ изменение знака:     ­12.3456000    ­13.4567800 27 Бинарные операции: Умножение      12.3456000 *      13.4567800 =    166.1320232  Деление      12.3456000 /      13.4567800 =      0.9174260  Следует обратить внимание, что при делении целых чисел любого типа,  тип результата будет всегда real. Урок 2.  Основные  математические  функции  и  процедуры   языка программирования  Turbo Pascal 7.0 2.1. Основные математические функции и процедуры. 2.2. Практические примеры. 2.1. Основные  математические  функции и процедуры Основные   математические   функции   и   процедуры   находятся   в   библиотечном   модуле  System,   который вызывается в Pascal­программе по умолчанию. 2.1.1. Основные математические функции          Таблица 3 Функция Abs(x) Sqr(x) Sqrt(x) Exp(x) Ln(x) Sin(x) Cos(x) Arctan(x) Pi Trunc(x) Frac(x) Int(x) Round(x) Random(x) Odd(x) Примечание Математический аналог Тип результата совпадает с типом аргумента Абсолютная величина  x ­> |x| Квадрат числа  x ­> x2 Тип результата совпадает с типом аргумента Результат всегда  типа  real Квадратный корень из числа Экспонента ex Результат типа  real Результат типа  real Логарифм натуральный Аргумент выражен в радианах Синус  угла Аргумент выражен в радианах Косинус  угла Результат угол выраженный в радианах Арктангенс числа 3.1415922654 Число пи Целая часть дробного числа Целое число Дробная часть дробного числа Целое число Целая часть дробного числа Округление дробного числа Случайное число  от  0  до  x TRUE, если  x  нечетно FALSE, если  x  четное Ближайшее меньшее целое Целое число Random – случайное число от  0  до  1 Примечание.   Функции   Sqrt,   Exp,   Ln,  Sin,   Cos,   Arctan   возвращают результат  вещественного  типа. Аргументом  этих функций может быть число любого числового типа. В арифметическом выражении принят следующий приоритет операций. 1. Вычисление арифметического выражения в скобках; 2. Вычисление  значений стандартных математических функций; 3. Умножение и деление; 4. Сложение и вычитание. В языке программирования TP 7.0, математическое выражение записывается в строчку, а порядок выполнения операций регулируется с помощью скобок. Программа vv8 демонстрирует выполнение математических функций языка программирования TP 7.0. Program V1L05P2; {Демонстрация математических функций} Uses Crt; Var n: real; {} begin ClrScr; Write('Введи действительное число:  '); ReadLn(n);  WriteLn; {} WriteLn('Абсолютная величина (модуль) числа'); Abs(',n:15:7,') = ',Abs(n):15:7); WriteLn(' WriteLn('Квадрат числа'); WriteLn('Sqr(',n:15:7,') = ',Sqr(n):15:7); WriteLn('Квадратный корень числа'); 28 if n>0 then WriteLn('Sqrt(',n:15:7,') = ',Sqrt(n):15:7) else WriteLn('   Подкоренное число отрицательно!'); WriteLn('Целая часть дробного числа'); WriteLn('Trunc(',n:15:7,') = ',Trunc(n):7); WriteLn('Дробная часть дробного числа  '); WriteLn('Frac(',n:15:7,') = ',Frac(n):15:7); WriteLn('Целая часть дробного числа'); WriteLn('Int(',n:15:7,') = ',Int(n):15:7); WriteLn(' Округление дробного числа'); WriteLn('Round(',n:15:7,') = ',Round(n):7); {} ReadKey; end. Результаты работы программы Вариант 1 Введи действительное число:  15.871 Абсолютная величина (модуль) числа Вариант 2 Введи действительное число:  ­12.135 Абсолютная величина (модуль) числа Abs(15.1780000)    =      15.8710000 Abs(­12.1350000)    =      12.1350000 Квадрат числа Квадрат числа Sqr(15.1780000)    =     251.8886410  Sgr(­12.1350000)    =     147.2582250 Квадратный корень числа Квадратный корень числа Sqr(15.1780000)    =       3.9838424  Подкоренное число отрицательно! Целая часть дробного числа Trunc(15.1780000)  =      15 Дробная часть дробного числа Целая часть дробного числа Trunc(­12.1350000) =     ­12 Целая часть дробного числа Frac(15.1780000)   = 0.8710000 Frac(­12.1350000) =      ­0.1350000 Округление дробного числа Round(15.1780000)  =      16 Целая часть дробного числа Round(­12.1350000) =     ­12 В качестве примера предлагается программа вычисления математического выражения: C =  72,13  Cos 60   Ln   10 58,7  Sin 60    51,17 30 Cos  Данное математическое выражение представляет собой разность двух математических выражений, которые вычисляются в программе отдельно, затем находится их разность. Program V1L05P3; {Вычисление математического выражения} Uses Crt; Var a,b,C: real; {} begin ClrScr; a:=(13.72+Cos(60*pi/180))*(7.58+Sin(60*pi/180))/Ln(10); {} b:=Sqrt(17.51/Cos(30*pi/180));  {} C:=a­b; WriteLn('C = ',C:7:2); {Вывод на экран результата вычислений} {} ReadKey; end. {Вычисление уменьшаемого} {Вычисление вычитаемого} {Вычисление разности} Результат работы программы C =    47.66 2.1.2. Математические  процедуры Randomize  ­   процедура   инициализации   генератора   случайных   чисел,   которая   обеспечивает   несовпадение последовательностей случайных чисел, функции Random. При генерации случайного числа без процедуры Randomize, при каждом   последующем запуске   программы на исполнение будет генерироваться одно и тоже   случайное число. Пример программы генерации случайных чисел приведен ниже. Program V1L05P4; {Генерация случайных чисел} Uses Crt; Var  a,b,c :real;          d :integer; 29 {Инициализация генератора случайных чисел} {Случайное действительное число от 0 до 1} {Случайное действительное число от 0 до 10} {Случайное целое число от ­10 до 10} {} begin ClrScr; Randomize; a:=Random; b:=Random*10; c:=10*(Random­Random); {} WriteLn('Случайное действительное число от   0 до  1 = ' a:5:3); WriteLn('Случайное действительное число от   0 до 10 = ' b:5:3); WriteLn('Случайное действительное число от ­10 до 10 = ' c:5:3); WriteLn('Случайное    целое    число    от   0 до 10 = ' d:6); {} ReadKey end. Возможный результат работы программы Случайное действительное число от   0 до  1 =     0.825 Случайное действительное число от   0 до 10 =     1.798 Случайное действительное число от ­10 до 10 =    ­5.586 Случайное   целое    число     от   0 до 10 =     5 Урок 3. Практическая работа 1. Вычислить математические выражения: 1)   71,87,5      32,4  7,5  2 7,5     71,8  2 32,4 2         2)   ,5 2 71653  3 Ln    34,2  65 Sin  Tg  31 ; 3)   1 ab2 Ln ba ba     при различных  a и  b. 2. Вычислить площадь треугольника по:  1) трем    сторонам.    S =        где  p =  a + b + c  ­  периметр треугольника; ()  cpbpapp () (  ) ,    при    различных   значениях   сторон, 2) двум сторонам и углу между ними.    S =  1 2 ab Sin , при различных значениях сторон и 3) стороне и трем углам.  S 2 a  2 Sin  Sin  Sin = ,  при различных значениях стороны и угла; углов. 3. По известным сторонам треугольника вычислить значения его углов. Контрольные вопросы и упражнения 1. Как записываются математические выражения в TP 7.0? 2. Чем обеспечивается точность представления вещественного числа в компьютере? 3. Что обеспечивает математическая процедура Randomize? 4. В каких единицах измерения выражается аргумент в тригонометрических функциях языка TP 7.0? 5. Каким приемом можно возвести в целую степень больше  2  вещественное число? 6. Напишите фрагмент программы вычисления  1, 25 1, 25 . 7. Какой прием применяется при вычислении сложных математических выражений? 8. Какие стандартные математические функции возвращают результат вещественного типа? 30 Для заметок, вопросов и ответов ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ ______________________________________________________________________________________________________ 31

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип

Типы данных языка программирования TP 7.0 . Вещественный тип

Типы данных языка программирования TP 7.0	.  Вещественный тип
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
25.04.2017