Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Переменные с индексами




Массивы

END.

BEGIN

Числовые типы

Целочисленные типы позволяют переменной принимать значения целых чисел согласно следующей таблице:

Тип Диапазон значений Сколько байтов занимает одно значение
Byte 0..255  
ShortInt -128..127  
Word 0..65535  
Integer -32768..32767  
LongInt -2147483648..2147483647  

Зачем нужны Byte и ShortInt, если есть Integer? Они занимают меньше места в памяти. Если, например, ваша переменная по смыслу задачи обозначает минуты (то есть целое число в диапазоне от 0 до 60), то полный смысл придать ей тип Byte.

 

Вещественные типы позволяют переменной принимать значения вещественных чисел согласно следующей таблице:

Тип Примерный диапазон значений Точность (значащих цифр) Сколько байтов занимает одно значение
Real 2.9´10-39 - 1.7´1038 11-12  
Single 1.5´10-45 - 3.4´1038 7-8  
Double 5´10-324 - 1.7´10308 15-16  
Extended 3.4´10-4932 - 1.1´104932 19-20  
Comp [9] примерно от -1019 до 1019    

Типы Single, Double, Extended и Comp могут потребовать для своей работы некоторой настройки Паскаля.

Следует помнить, что дробные числа (например, 1/3) компьютер хранит примерно в таком виде: 0,3333333333333. Вы знаете, что такое представление дробных чисел приблизительно. Чтобы точно представить 1/3, компьютеру понадобилось бы бесконечное количество троек, но память компьютера ограничена. Ячейка под переменную типа Real позволяет хранить всего 11-12 таких троек. Эту приблизительностьнужно иметь в виду, когда вы многократно выполняете арифметические действия над переменными вещественных типов. При определенном сочетании чисел и действий вы можете немедленно получить совершенно неправильный результат. Попробуйте, например, выполнить такую программу:

VAR a,b,y: Real;

a:=55555555555.1; b:=55555555555.0;

y:=a-b;

WriteLn (y:30:3)

Вы обнаружите, что вместо результата 0.100 компьютер выдает результат 0.125.

Для того, чтобы понять массивы, нужно обладать некоторой культурой математического мышления. Если этот материал покажется вам трудным, не поддавайтесь искушению пропустить его. Настоящего программирования без массивов не бывает, да и большая часть дальнейшего материала без массивов не будет понятна.

В математике широко применяются так называемые индексированные переменные. На бумаге они записываются так:

x1 x2 b8 yi yi-6 zij zi+1j

а читаются так: икс первое, икс второе, бэ восьмое, игрек итое, игрек и минус шестое, зет итое житое, зет и плюс первое житое. Поскольку в алфавите Паскаля нет подстрочных букв и цифр, то те же индексированные переменные на Паскале приходится обозначать так:

X[1] X[2] B[8] Y[i] Y[i-6] Z[i,j] Z[i+1,j]

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

Возьмем, например, бесконечный ряд чисел Фибоначчи: 1 1 2 3 5 8 13 21 34..... Попробуйте догадаться, по какому закону образуются эти числа. Если вы сами не догадались, то я подскажу: каждое из чисел, начиная с третьего, является суммой двух предыдущих. А теперь попробуем записать это утверждение с помощью языка математики. Для этого обозначим каждое из чисел Фибоначчи индексированной переменной таким образом:

Первое число Фибоначчи обозначим так: f[1],

Второе число Фибоначчи обозначим так: f[2] и т.д.

 

Тогда можно записать, что f[1]=1 f[2]=1 f[3]=2 f[4]=3 f[5]=5 f[6]=8......

Очевидно, что f[3]=f[1]+f[2],

f[4]=f[2]+f[3],

f[5]=f[3]+f[4] и т.д.

Как математически одной формулой записать тот факт, что каждое из чисел является суммой двух предыдущих? Математики в индексном виде это записывают так:

f[i]=f[i-2]+f[i-1].

Для иллюстрации подставим вместо i любое число, например, 6. Тогда получится:

f[6]=f[6-2]+f[6-1] или

f[6]=f[4]+f[5].

 

Задание 102: Запишите в индексном виде, как получается из предыдущего числа ряда последующее:

1) 14 18 22 26.....

2) 6 12 24 48....

3) 3 5 9 17 33 65....

Вот еще примеры, когда математики предпочитают использовать индексы. Пусть мы на протяжении года каждый день раз в сутки измеряли температуру за окном Тогда вполне естественно обозначить через t[1] температуру первого дня года, t[2] - второго,....., t[365] - последнего. Пусть 35 спортсменов прыгали в высоту. Тогда через h[1] можно обозначить высоту, взятую первым прыгуном, h[2] - вторым и т.д.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 456; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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