Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika-otvety (2).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
493.88 Кб
Скачать
  1. Концепция данных. Перечисляемый тип

Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.

Тип данных определяет:

внутреннее представление данных в памяти компьютера;

множество значений, которые могут принимать величины этого типа;

операции и функции, которые можно применять к величинам этого типа.

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

Все типы языка С++ можно разделить на простые (скалярные), составные (агрегатные) и функциональные. Простые типы могут быть стандартными и определенными программистом.

В программу можно ввести и переменные какого-либо типа, не совпадающие ни с одним из стандартных типов. Такой тип задается перечислением значений при объявлении типа; любое из этих значений может принимать переменная данного типа, объявленная далее в программе. Общий вид описания перечисляемого типа:

type

nm = (word1, word2, …, wordN);

var

w: nm;

здесь nm – идентификатор типа (произвольный), word1, word2… - конкретные значения, которые может принимать переменная w, принадлежащая типу nm. Значения данного типа считаются упорядоченными, т.е. описание типа одновременно вводит упорядочение word1 < word2 < wordN. Порядковые значения отсчитываются с 0.

К переменным типа перечисления можно применять функции ord, pred, succ и процедуры inc и dec.

  1. Целый тип данных

Целое, целочисленный тип данных (англ. Integer), в информатике — один из простейших и самых распространённых типов данных в языках программирования. Служит для представления целых чисел.

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

В программировании различают беззнаковые целые числа и целые числа со знаком. Знак числа обычно кодируется старшим битом машинного слова. Традиционно, если старший бит равен 1, то число считается отрицательным, только, если оно не определено как без знаковое.

Тип

Диапазон допустимых значений

Отводимая память, в байтах

shotint

-128…127

1

integer

-32 768…32 767

2

longint

-2 147 483 648…2 147 483 647

4

byte

0…255

1

word

0…65 535

2

Переменные целого типа могут принимать только целые значения. Такие переменные в программе описываются следующим образом: a, b, c: integer;

Здесь a, b, c… - имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.

  1. Вещественный тип данных

В языке Паскаль существует несколько типов для представления действительный чисел. Однако чаще всего для их представления используется тип Real.

Тип

Диапазон

Число цифр

Память, байт

Real

2.9e-39 … 1.7e38

11-12

6

Single

1.5e-45 … 3.4e38

7-8

4

Double

5.0e-324 ...1.7e308

15-16

8

Extended

3.4e-4932 … 1.1e493

19-20

10

Comp

-9.2e63 … (9.2e63)-1

19-20

8

Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.

Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.

Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.

  1. Структура программы. Операторы языка

Правило. В любом месте программы можно использовать лишь те элементы, которые были объявлены ранее по тексту программы.

Основной блок – это собственно программа, использующая всё, что было объявлено. Он начинается словом begin и заканчивается словом end с точкой. После завершающей точки любой текст игнорируется.

Основной блок состоит из операторов (предложений языка программирования), записанных в соответствии с алгоритмом. Операторы отделяются друг от друга символом “ ; ”.

program

имя_программы;

Заголовок

uses

 

Раздел объяв-

лений

 

список используемых библиотек (модулей);

label

 

 

список меток в основном блоке программы;

const

 

 

определение констант программы;

type

 

 

описание типов;

var

 

 

определение глобальных переменных программы;

procedure

 

 

определение процедур;

function

 

 

определение функций;

begin

 

Основной блок программы

 

операторы;

end.

 

ператоры подразделяются на простые и структурные. К простым операторам относятся операторы присваивания, перехода, процедуры. К структурным – операторы условия, выбора, цикла, составные. Составной оператор представляет собой последовательность операторов, заключенных в слова begin и end.   

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

 

Пример.

program primer;                                          { Программа сложения двух чисел }

var

  x, y, summa: real;                                       {        Описание переменных           }

begin

  readln (x,y);                                               {         Ввод исходных чисел            }

  summa:= x+y;                                            {               Расчет суммы                    }

  writeln (‘Сумма x и y равна’, summa);     {            Вывод результата                }

end.

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

Об управляющих структурах

В реальных программах выполнение операций не бывает строго последовательным: постоянно требуются различные переходы, ветвления, повторения и т.д. Так, если мы обратимся к блок-схеме даже такого простого алгоритма, который требуется для игры "угадай число" (см. рис. 1.1), то увидим там целых два ветвления, причем оба с переходом.

Собственно за переход, в классическом варианте, отвечает небезызвестная инструкция безусловного перехода goto, которая в Pascal используется совместно с метками, декларируемыми в заголовочной части программы при помощи ключевого слова label. Использование инструкции безусловного перехода восходит корнями к тем временам, когда создавались первые высокоуровневые языки программирования, в том числе и Pascal. Она досталась им в наследство от низкоуровневых языков типа Assembler, в которых описание программы создавалось в виде, удобным для машины. Но на сегодня такой подход уже не востребован и вышел из употребления, вместе с безусловным переходом и инструкцией goto.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]