6184

Дослідження цілих типів даних

Лабораторная работа

Информатика, кибернетика и программирование

Дослідження цілих типів даних Мета лабораторної роботи - дослідити та вивчити систему напередвизначених типів мов Паскаль та Сі, устрій значень напередвизначених типів та операції над значеннями цих типів. Теоретичні відомості Програмні об'єкти...

Украинкский

2012-12-30

86.5 KB

7 чел.

Дослідження цілих типів даних

Мета лабораторної роботи - дослідити та вивчити систему напередвизначених типів мов Паскаль та Сі, устрій значень напередвизначених типів та операції над значеннями цих типів.

Теоретичні відомості

Програмні об’єкти використовуються для зберігання даних під час виконання програм і можуть розглядатися як контейнери для даних. Програмними об’єктами є літерали, константи, змінні, та інш.

Кожний програмний об’єкт має тип. Тип об’єкту визначає набір значень, які він може зберігати, та множину операцій над ними.

Програмний об’єкт повинний бути визначений та описаний (задекларований) перед використанням. Програмні об’єкти в мові Паскаль декларуються у спеціальній секції програми. Програма на мові С не має будь-якої спеціальної секції для декларування об’єктів, тому об’єкти можуть бути задекларовані у різних частинах програми. Декларація об’єкта включає його ідентифікатор та індикатор типу. Ідентифікатор є іменем об’єкту, яке дозволяє оперувати з ним. Програміст складає ідентифікатор відповідно до певних правил.

В мовах програмування існують певні набори напередвизначених типів об’єктів. Вони є стандартними типами мови і можуть використовуватися при описі об’єктів без будь-яких додаткових визначень.

Опис програмних обєктів

<опис константи>::=const< ідентифікатор >=< статичний - вираз>

<опис змінної> ::= var< ідентифікатор >:< індикатор типу>>{<базування>}01

<індикатор типу> ::= <ідентифікатор>|<індикатор напередвизначеного типу>

<базування>::=absolute<зображення значення вказівного типу>|

  base< ідентифікатор >

Наприклад:

const PI = 3.14; \\ опис константи PI

var sum : integer; \\ опис змінної sum

\\ опис змінної mult, розташованої в тому місті памяті, що і  sum

var mult: longint base sum;

\\ опис змінної avg, розташованої в памяті за адресою $DSEG:$000F

var avg : real absolute $DSEG:$000F;

Літерали та константи є об’єктами з незмінним значенням. Змінні є програмними об’єктами, які зберігають дані, що можуть змінюватись під час виконання програм.

Описані програмні об’єкти повинні бути ініціалізовані перед використанням шляхом надання їм початкового значення при створенні або за допомогою оператора привласнення.

Ініціалізація змінних  при створенні

ініціалізація::=const< ідентифікатор >:< індикатор типу >=< статичний вираз >

Наприклад:

const r : real  = 5;   \\ опис та ініціалізація змінної r

const db_pi : real  = 2 * PI; \\ опис та ініціалізація змінної db_pi

Оператор привласнення

<оператор привласнення>::=< ідентифікатор >:=<вираз >

Наприклад:

len := db_pi   *  r ;

Загальна спрощена структура програми

програма::=program<позначка>;{<описи>}0begin{<оператори>}0end.

Program <Program_Name>;     

{Секція опису типів та програмних об’єктів }

 Type

  {Секція визначень типів}

 Const

 {Секція визначень констант}

 Var

 {Секція визначень змінних}

{Виконуюча секція}

 Begin

 { Тіло програми, що включає оператори програми}

 end.

 

Методичні вказівки

Правила складання ідентифікаторів

а) Smalltalk- стиль.

Для написання позначок використовуйте малі літери. Якщо позначка складається з декількох слів, тоді кожне слово починайте з великої літери.

 

б) Написання префіксів. Угорська нотація

Таблиця 3

Тип

Приставка

Приклад

Char

c

cDriveName

Int

n

nIndex

Long

l

lFileSise

Double

f

fVolume

Long pointer

p

lpszDirName

Член структурних даних

m_

m_NIndex

Позначка константи

Нижній регістр

ONE,TWO

ASCIIZ-строка

sz

szName

Правила опису об’єктів у програмі

1. Не розташовуйте в одному рядку більше одного ідентифікатора при описі об'єктів.

2. Розташовуйте описи за алфавітом та вирівнюйте розташування описів за стовбчиками, наприклад,

int  ab,

bcd,

z;

3. Супроводжуйте позначки пробілами (за винятком: перед та після дужок,  перед комою,  крапкою,  крапкою з комою).

4. Використовуйте позначки з сенсом, якщо у позначці є цифри,  розташовуйте їх в кінці.

5. Не використовуйте одну позначку для декількох цілей.

6. Уникайте литералів, а використовуйте константи.

7. Для позначок використовуйте Smalltalk – стиль та Угорську нотацію.

8. Вирівнюйте усі оператори привласнення вертикально.

 9. Не розташовуйте на одному рядку більше одного оператору привласнення.

Завдання

Написати програми на мовах Паскаль та Сі, які складаються з наступних дій:

  1.  Опису констант цілого типу.
  2.  Опису змінних цілого типу.
  3.  Ініціювання об'єктів при описі.
  4.  Ініціювання об'єктів оператором привласнення, використовуючи значення з варіантів (табл.1). Дослідити входження даних з варіанта до діапазону подання значень відповідного типу.

Примітка: При написанні програми дослідити опис літералів у 10-й, 8-й, 16-й системах числення.

    Таблиця1

варіанта

Цілі типи

Shortint

Integer

Longint

Byte

          Word

1

54

789

3d

800

67.8

-1275978

3475898789

-45.78

567

4

-20

500

288

156378

-40

2

-70

657

7a

-745

20.78

228597

14756987897

71.8

-57

-15

78

320

135

351362

-34

3

20

387

5b

456

74.8

-428557

2568912795

43.3

-45

78

-32

600

70

456239

-37

4

1c

-88

510

1024

-61.37

337752

4015642735

-97.8

2768

125

-54

406

438

74234

-65

5

32

-566

2f

31.55

-3689

99771

231456

47.9

21345678901

111

267

-52

-453

12

135790

6

5d

-100

398

89

23.7

-45621

9876543210

5.5

-42764

-90

200

300

7532

-10

68909

7

-44

3b

157

8.9

40876

-865

-39.1

3152748507

907

17

-17

411

-77

456

100543

8

8a

64

-136

-5.67

98

209754

361

78.9

-2973738122

588

63

-99

87654

-13

67

9

607

3d

-58

903

12.4

-43956

-832

5301090804

39.5

-4

69

288

-45321

90

6543

10

23

150

7a

-53

9.9

42985

-24.8

740

11435684900

56

-43

312

78

-34

68355

11

-409

2e

13

-0.06

2050

153896

38

-3344556677

51.6

547

189

-22

293

71098

-5

12

6c

-67

256

89761

-53

82.4

-37

44.9

6785940321

65

731

-50

123654

-456

879

13

90

379

1f

-753

4.23

51806

-12.47

2918467325

9080

351

-70

16

-75

98765

37

14

135

4e

-86

9.63

-42659

163

10003254761

36.8

472

-37

102

283

1703

403070

-5

15

7b

-64

465

35642

905

-57.91

-2431587690

33578

7.12

73

379

-66

-54

314

69653

Контрольные вопросы

Дайте определение языка. Объясните средства задания языков.

Определите средства описания синтаксиса языков программирования.

Что такое лексемы и лексический анализ?

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

     Что такое дискретный диапазон и дискретные типы?

Что такое обозначение. Приведите классификацию обозначений.

Объясните устройство литерала, константы, переменной, их схемы.

Покажите пути и средства модификации значений программных объектов.

Расскажите о разнице между типизированными и нетипизированными указательными переменными.


 

А также другие работы, которые могут Вас заинтересовать

51090. ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ DLL-БИБЛИОТЕК 50.29 KB
  Разработать два варианта приложения один со статическим вызовом dll-библиотеки другой с динамическим вызовом dll-библиотеки Путем физического замера или программным путем в разработанном приложении измерить Время работы приложения при статическом использовании dll-библиотеки Посчитать отношение периодов работы приложения с двумя типами dllбиблиотек в процентах Сделать вывод относительно преимуществ и недостатков использования dllбиблиотек с двумя типами связывания Краткие теоретические сведения DLL англ. Цели введения DLL...
51091. Вычисление определенного интеграла при помощи метода трапеций в среде Delphi 101.95 KB
  В компоненте Groupbox1 три текстовых поля объекты Edit для ввода значений количества разбиений n начального и конечного значения интервалов а и b; в компоненте Groupbox1 три поля меток объекты Lbel для вывода информации содержащейся в текстовых полях Edit; в компоненте Groupbox2 четыре поля меток объекты Lbel Lbel5 и Lbel7 для вывода результатов значения шага h и вычисления определенного интеграла по методу трапеции; Lbel4 и Lbel6 для вывода соответствующей информации. Аналогично измените свойство Cption для полей меток...
51093. Ринки цінних паперів та методи їх аналізу 1.09 MB
  Ринок цінних паперів - це частина фінансового ринку де здійснюється емісія та купівля-продаж фінансових активів за допомогою прав власності та інструментів обігу (фінансових інструментів), які мають ціну визначену ринком.
51096. Проектирование цехового электроснабжения 425.53 KB
  Целью выполнения данной курсовой работы является закрепление на практике основных вопросов дисциплины «Основы электроснабжения промышленных предприятий», таких как расчет электрических нагрузок, выбор сетевых элементов, расчет токов короткого замыкания и т.д. Ниже и решаются все эти задачи для конкретного цеха с определенным набором электроприемников.
51097. Графические файлы формата BMP 393.32 KB
  Цель работы: Написать программу, реализующую просмотр графического файла (формат BMP). Программа должна: загружать и выводить на экран произвольный файл (с использованием файловых функций); читать все файлы с цветовой палитрой до 256 цветов (black/white,grey,16,256)...
51098. Увеличение и уменьшение цифровых изображений 208.4 KB
  Цель работы: написать программу способную производить увеличение/уменьшение исходного изображения в нецелое число раз методом билинейной интерполяции. Код программы...