Над данными целого типа также определены следующие операции

1. Операции отношения
=, <>, >, <, <=, >=
(дают результат логического типа — да или нет)

2. Так как целый тип данных относится к типам, на которых определено отношение порядка, то работают стандартные функции
Succ(x) — определяет следующее значение по порядку в последовательности целых чисел.
Pred(x) — определяет предыдущее значение последовательности целых чисел.

Chr(x) – Возвращает символ, ASCII-код которого равен x

Ord(‘x’) – Возвращает ASCII-код символа x

Odd(x) – Возвращает результат логического типа (да или нет)

для четного аргумента — нет (false),
для нечетного аргумента — да (true).

Abs(x) – Возвращает модуль числа x

Sqr(x) – Возвращает квадрат числа x

Sqrt(x) – Возвращает значение корня квадратного из х

Exp(x) – Возвращает е в степени х (экспоненту), результат вещественного типа

Sin(x) – Возвращает синус х, результат вещественного типа

Cos(x) – Возвращает косинус х, результат вещественного типа

Ln(x) – Возвращает натуральный логарифм х

Arctan(x) Возвращает арктангенс х.

3. Для целых чисел определены следующие стандартные процедуры:

Dec(x, i) – x :=x – i; – уменьшает значение x на i, если i не задано, то на 1.

Inc(x, i) – x :=x + i; – увеличивает значение x на i, если i не задано, то на 1.

Задача 5.Отделить в двухзначном числе цифру единиц и цифру десятков.

 
  Над данными целого типа также определены следующие операции - student2.ru

1. Наберите программу в среде TP.

2. Определите тип переменных.

3. В окне просмотра значения переменных в пошаговом режиме просмотрите значения переменных.

4. Запишите комментарии к каждой команде.

Экспериментальный раздел работы

Задание 6.Измените программу для нахождения цифр трехзначного числа.

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

Вещественные типы данных представляют собой вещественные значения, которые используются в арифметических выражениях и занимают в памяти от 4 до 6 байт. Паскаль допускает представление вещественных значений и с плавающей, и с фиксированной точкой.

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

Тип   Диапазон   Мантисса   Требуемая память  
real -2.9*10-39..1.7*1038 11 — 12
single 1.5*10-45..3.4*1038 7 — 8
double 5.0*10-324..1.7*10308 15—16
extended 3.4*10-4932..1.1*104932 19 — 20
comp -9.2*1018..9.2*1018 10 — 20

Вещественные значения могут изображаться в форме с фиксированной точкой, например 7.32, 456.721 или 0.015, а также в форме с плавающей точкой, т. е. парой чисел вида <мантисса> Е<порядок>.

Числа из предыдущего примера в форме с плавающей точкой будут записаны так:7.32Е+00, 4.56721Е+02, I.5E —02.

Над данными вещественного типа определены следующие операции

1. Арифметические операции: +, —, *, /. Результат выполнения этих операций получается также вещественного типа.

2. Операции отношения: =, <>, <, >, <=, =>, вырабатывающие результат логического типа (да или нет).

3. Стандартные функции:

abs(x) – возвращает модуль х, результат вещественного типа;

sqr(x) –возвращает квадрат числа х, результат вещественного типа;

sqrt(x) –возвращает значение корня квадратного из х, результат вещественного типа;

ехр(х) – озвращает е в степени к (экспоненту), результат вещественного типа:

sin(x) –возвращает синус х, результат вещественного типа;

cos(x) –возвращает косинус х, результат вещественного типа;

1n(х) –возвращает натуральный логарифм х, результат вещественного типа;

arctan(x) –возвращает арктангенс х, результат вещественного типа;

trunc(x) –преобразует вещественный аргумент х в целое число путем отбрасывания дробной части;

round(x) – преобразует вещественный аргумент х в целое число путем округления до ближнего целого.

Выражение, составленное из переменных целого и вещественного типа, имеет вещественный тип.

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

Совместимость типов

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

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

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

Тем не менее, в ТР существуют специальные средства (процедуры), позволяющие преобразовать одни типы данных в другие.

Процедуры Trunc и Round используются для преобразования вещественного типа данных в целочисленный.

Задание 7.Подпишите значения переменных при выполнении каждой команды в программе.

Program tipi;

Var

R1, R2 : Real;

T1, T2, T3 : Integer;

L: Longint;

Begin

R1 :=1.25; {Переменная R1 типа Real может иметь вещественное значение}
R2:=2.45; {Переменная R2 типа Real может иметь вещественное значение}
R2 :=3; {переменная R2 типа Real может иметь целое значение, хотя в памяти данное значение будет храниться как вещественное: 3.00}
R2 := R1; {вещественная переменная R2 может принимать любое значение, хранимое в переменной R1, т.к. это переменные одного типа}
T1 := 4; {переменная Т1 типа Integer может иметь целое значение, так как оно входит во множество возможных значений Integer}
T1 := 5.67; {переменная Т1 типа Integer не может иметь вещественные значения}
T2 := Т1; {переменная Т2 типа Integer может иметь любое значение, хранимое в переменной Т1 того же типа}
T2:=R2; {хотя значением переменной R2 является число 3, в памяти оно хранится как 3.00, то есть как вещественное, поэтому переменной Т2 нельзя присвоить данное значение}
   
T1 :=30000;  
T2 :=30000;  
T3:=T1+T2; {попытка некорректного присвоения переменной Т3 значения 60000, выходящего за пределы множества типа Integer}
T3:=T1/T2; {попытка некорректного присвоения переменной значения 1.00, выходящего за пределы множества типа Integer, следовательно, тип результата выражения автоматически становится Real}
L:=105;  
T:=L; {хотя пример и корректен, не рекомендуется использовать такого рода присвоения, так как на этапе выполнения программы в переменной типа Longint может оказаться число, выходящее за пределы множества допустимых значений типа изменяемой переменной. Данная ошибка – динамическая}.
T2:=trunc(R2)  
T1:=round(R2)  

End.

Домашнее задание

  1. Учить теорию по темам «Величины: переменные и константы. Оператор присваивания», «Типы данных: целочисленные типы данных, вещественные типы данных. Совместимость типов».
  2. Дана часть программы.

а:= 15 Div (16 Mod 7);

b:= 34 Mod а*5 — 29 Mod 5 * 2;

а:= 4*5 Div 3 Mod 2;

b:= 4 * 5 Div ( 3 Mod 2);

а) Наберите программу в среде TP (все необходимые части программы).

б) Определите оптимальные типы для всех переменных, участвующих в программе.

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

г) Программу сохраните на дискету под именем DZ_7_2.pas

д) В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.

  1. Наберите программу по нахождению цифр трехзначного числа. Сохраните файл под именем DZ_7_3. В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.
  2. Найдите цифры четырехзначного числа. Сохраните файл под именем DZ_7_4. В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.
  3. Дано двузначное число. Определить сумму, разность, произведение и частное цифр числа. Сохраните файл под именем DZ_7_5. В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии
  4. Дано трехзначное число. Найти число-палиндром (число, образованное перестановкой цифр исходного числа). Сохраните файл под именем DZ_7_6. В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.
  5. Измените программу задания 7 классной работы, так, чтобы она проходила процесс компиляции. Сохраните файл под именем DZ_7_7. В тетради запишите программу на языке Pascal. К каждой команде напишите комментарии.

Наши рекомендации