Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Записи (структуры)




Типы

Переменные и константы

Оформление программы

Для самостійної роботи

Ділення

Добуток

Добуток двох нормалізованих чисел знаходимо додаванням їх порядків і добутком мантис.

╔═··· Приклад 7. Знайти добуток двох нормалізованих чисел:

(0.11101·10101) · (0.1001·1011) = (0.11101·0.1001) 10(101+11) = 0.100000101•101000.

╚═···

Частка двох нормалізованих чисел знаходимо відніманням їх порядків і часткою мантис.

╔═··· Приклад 8. Знайти добуток двох нормалізованих чисел:

0.1111·10100: 0.101·1011 = (0.1111: 0.101) · 10(100–11) = 1.1·101 = 0.11·1010.

╚═···

Критерії оцінювання: 1-5балів – конспект приведених прикладів;

Завдання 1- 4 бали, завдання 2 – 8 балів. Максимальна кількість балів – 12.

 

Варіант Завдання 1. Виконати додавання в кодах ЕОМ в форматі з фіксованою комою. Завдання 2. Виконати додавання (добуток) в кодах ЕОМ в форматі з плаваючою комою.
  320,1 -100,3 67,5 101,6
  225,5 -197,5 120,3 88,2
  400,3 -333,7 56,1 111,4
  -126,4 500,4 66,3 90,3
  -244,2 366,2 95,5 44,4
  555,9 -204,7 46,7 111,9

 

Грамотно оформленная программа должна быть удобочитаема и иметь необходимые комментарии. В Delphi (Pascal) комментарии могут содержать русские буквы и должны начинаться с «//», например:

 

// Расчет положения прямоугольника на форме

 

В Borland C++ Builder комментарии оформляются аналогично.

Названия переменных и констант в программе должны иметь только английские буквы и цифры. Рекомендуется для удобства использовать английские слова. Возможно объединение нескольких слов (два - три) в одно без пробелов, каждое слово с большой буквы. Примеры названий переменных и констант приведены ниже.

 

Position // Позиция объекта на форме

Razmer // Размер прямоугольника

SpeedTelegka // Скорость тележки

 

Вложения одних частей программы в другие, такие как команды (тело) подпрограмм, блоки команд условных функций, циклов, выборки и т.д., необходимо показывать отступами с помощью пробелов или клавиши «Tab». Например, на языке Pascal:

 

отступ
for i:=0 to 10 do

begin

A:=A+i; // с помощью <Tab> показываем, что данная

// строка вложена в цикл for

end;

 

На языке C++:

 

отступ
for (i=0;i<10;i++)

{

A+=i; // с помощью <Tab> показываем, что данная

// строка вложена в цикл for

};

 

На приведенных выше примерах показаны логические скобки «begin-end;» и «{-};», обозначающие начало и конец вложения. Для улучшения восприятия программы рекомендуется эти логические скобки располагать на одном уровне вложения (одно расстояние с левой стороны).

Другие примеры оформления показаны далее в п. 1.3.

При выполнении программы всегда есть необходимость хранить какие-нибудь данные. Чаще всего данные хранятся либо в оперативной памяти компьютера, либо непосредственно в программе. В первом случае имеется возможность изменять значения этих данных в процессе выполнения программы. И такие ячейки называют «переменные». Во втором случае данные фиксированы и не могут быть изменены, поэтому их называют «константы».

Пользователь сам определяет, какие типы ячеек следует использовать в программе согласно логическому построению будущей программы. Если данные не будут изменяться, то их следует оформить как константы. Тем самым высвобождаются ресурсы оперативной памяти для других данных. Примером константы может быть число Pi, которое определено значением 3.14159265…

Как переменные, так и константы могут содержать различные типы данных. Название, размерность и объявления на языках Pascal и С++ наиболее часто употребляемых типов данных представлены в таблице 1.1.

 

Таблица 1.1 – Типы переменных

Тип Размер байт Pascal (объявление) С++ (объявление)
Целое без знака 0…255   i:byte; unsigned char i;
Целое без знака 0…65 535   a:word; unsigned short int a; unsigned short a;
Целое без знака 0… 4 294 967 295   b:longword; unsigned int b;
Целое -128…127   i:shortint; char i;
Целое -32 768..32 767   a:smallint; short int a;
Целое -2 147 483 648 …2 147 483 647   b:longint; b:integer; int b;
С плавающей запятой (десятичные дроби, 7 знаков) ±1.18∙10-38… ±3.4∙10+38   c:single; float c;
С плавающей запятой (десятичные дроби, 15 знаков) ±2.23∙10-308… ±1.79∙10+308   d:real; d:double;   double d;
Логический False…True   f:boolean; bool f;
Символ ‘0’, ‘a’, ‘D’,…   s:char; s:=’a’; // пример char s; s=’a’; // пример
Строка символов N s:string; s:=’aBc’; // пример AnsiString s; s=’aBc’; // пример

 

Выбор того или иного типа переменной или константы осуществляется самим программистом исходя из поставленной задачи и характера данных, оперируемых программой.

Для удобства восприятия многочисленных переменных их можно логически группировать в некую структуру с единым именем. Чаще всего группируются переменные, относящиеся к одному конкретному объекту, действию или событию. Например, для математического описания движения объекта «тележка мостового крана» необходимы следующие переменные:

- положение тележки относительно крана;

- скорость тележки;

- ускорение тележки.

Так как все переменные предназначены для хранения данных в виде десятичных дробей, например «1.25», (для повышения точности – целый тип в этом случае неприменим!), то тип переменных должен быть «real» или «double». Организация записи на языке Pascal в этом случае будет выглядеть следующим образом:

 

type // Служебное слово для обозначения

// пользовательского типа

TTelegka = record // Имя пользовательского типа TTelegka

// Служебное слово, обозначающее

// начало записи.

s: real; // 1-я переменная, позиция

v: real; // 2-я переменная, скорость

a: real; // 3-я переменная, ускорение

end; // конец записи

 

var // Служебное слово для обозначения

// списка пользовательских переменных

Telegka: TTelegka; // Переменная Telegka типа TTelegka

 

На языке C++:

 

typedef // Служебное слово для обозначения

// пользовательского типа

struct // Служебное слово, обозначающее

// начало структуры.

{

double s; // 1-я переменная, позиция

double v; // 2-я переменная, скорость

double a; // 3-я переменная, ускорение

} TTelegka; // Имя пользовательского типа TTelegka

 

TTelegka Telegka; // Определение переменной Telegka типа

// TTelegka

 

В приведенных выше примерах имя типа похоже на имя определяемой переменной за исключением буквы «T» в начале (от первой буквы служебного слова «Type»). Строго говоря, это требование не обязательное, так как имя типа и имя переменной могут совершенно не совпадать. Но для облегчения восприятия программы, когда это возможно, следует пользоваться данным правилом.

В самой программе доступ к той или иной переменной в записи (структуре) осуществляется следующим образом.

На языке Pascal:

 

Telegka.s:= 0; // Имя записи и переменной в этой записи

Telegka.s:= Telegka.s + Telegka.v * 0.01;

 

На языке C++:

 

Telegka.s = 0; // Имя записи и переменной в этой записи

Telegka.s = Telegka.s + Telegka.v * 0.01;

 




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


Дата добавления: 2015-07-02; Просмотров: 314; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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