Паскаль real что это за программа

Содержание
Читайте также:
Samsung что это за программа

Паскаль real что это за программа

В Паскале используется несколько типов представления числовых значений, на начальном этапе будут рассмотрены лишь некоторые из них:

integer – целые числа в интервале от -2147483648 до 2147483647

real – вещественные (реальные) – целые и дробные положительные и отрицательные числа

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

Пример описания констант:

c1=3.14159265; // с1 имеет тип real

с2=2; // c2 имеет тип integer

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

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

Урок по Pascal. Тип Данных Real.

На Паскале такого рода предписание обычно выражается предложением назначения, имеющим вид:

имя_переменной:=выражение_или_значение

например: a:=25; или rt:=a+b;

Выполнение такого предложения начинается вычислением выражения, стоящего справа от символа назначения (:=). Полученное значение потом помещается в переменную (присваивается ей), указанную слева от =:

Описание переменных следует за описанием констант. В описании переменных после двоеточия указывается тип переменной:

var a,d,c : integer;

В Паскале возможны следующие действия (группы операций записаны в порядке приоритета):

1) Операция возведения в степень (в стандартном Паскале отсутствует) – функция i:=power(x,y), где i — результат, x — основание, y — степень;

2) умножение ( * ), деление ( / ), деление целочисленное (div), получение остатка от целочисленного деления (mod);

3) сложение ( + ), вычитание ( — ).

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

Если хотя бы одна из переменных, используемых в операциях умножения, сложения, вычитания относится к типу real, результат операции будет типа real.

Результат операции деления всегда типа real. Результат операций div и mod — integer.

Пример записи математической операции:

в программе на Паскале это будет выглядеть так:

Примечание. Квадрат числа sqr(c) можно (и проще!) записать как с*с

Обратите внимание на использование знака операции присваивания :=

При проведении математических операций следует учитывать, что вещественные числа (real) представляются с некоторым приближением.

Некоторые стандартные математические функции

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

PASCAL. Урок 2. Вывод (read/readln). типы данных(integer, real), переменные. ПАСКАЛЬ

a:=random(x) – случайное число (если аргумент не указан, то результат real – число в интервале от 0 до 1, если x целое число от 0 до 65535, то результат случайное целое число в интервале от 0 до х-1;

a:=abs(x) – модуль (абсолютная величина) x (real или integer);

a:=int(x) – целая часть числа x (число real, результат integer), округление не проводится, дробная часть отсекается;

a:=frac(x) – дробная часть числа x (число и результат real),

a:=round(x) – целое число, полученное в результате округления числа x по правилам математики

a:=sqr(x) – квадрат числа x (real, integer);

a:=sqrt(x) – квадратный корень из числа x (real, x>0);

a:=sin(x) – синус x (x задается в радианах, real);

a:=cos(x) – косинус x (x задается в радианах, real);

a:=arctan(x) – арктангенс x (real);

а:=power(x,y) – степень числа

Наберите следующую программу и разберитесь в ее работе:

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

var a, s, d, e, o : integer;

writeln(‘Сумма цифр трехзначного числа’);

write(‘Введите целое трехзначное число ‘);

writeln(‘Сумма цифр трехзначного числа=’, s+d+e);

writeln(‘Сумма цифр трехзначного числа=’, s+d+e);

Выполните задания с Begin9° по Begin30° по электронному задачнику (стр.11). Открыть его можно в режиме Помощь – Электронный задачник РТ.

Задачи для самостоятельного решения

1. Составить программу, чтобы компьютер по закону Ома для участка цепи, запрашивая с клавиатуры значения напряжения на концах участка и его сопротивления, определял и выводил на экран значение силы тока (I=U/R).

Источник: www.sites.google.com

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество чисел. Поскольку для кодирования вещественного числа отведено всего шесть байтов памяти, то расчеты выполняются всегда с конечной точностью, которая зависит от формата числа.

Вещественное число записывается и хранится в памяти компьютера в виде X=m*B n , где m – мантисса, В – основание представления числа с плавающей точкой, n – порядок (целое число). Имеют место ограничения –M1

real

Так, для типа REAL основание В равно 10. Размер мантиссы 11—12 десятичных чисел. Диапазон десятичного порядка равен [-39, +38]. Таким образом, на отрезке оси вещественных чисел в заданном диапазоне можно закодировать только конечное число значений, а поскольку на оси таких чисел бессчетное множество, то выбирается интервал, «дискрет», на который этот диапазон (отрезок) делится.

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

Округление результата происходит до ближайшего вещественного числа большего данного по модулю. Следует также отметить, что эти интервалы не являются равными. В соответствии с полулогарифмическим способом своего представления интервалы «растягиваются» с увеличением порядка. Наибольшая точность расчетов достигается в центральной части диапазона изменения вещественного числа X (например, в районе 1.0Е+00 погрешность вычислений 0,00000000001), и наименьшая — на его краях (например, в окрестностях числа 1.0Е+38 погрешность вычисления равна 1000000000000000000000000000).
Существует две формы отображения вещественных чисел (таблица 4): полулогарифмическая (с плавающей точкой) и естественная (с фиксированной точкой).

real.

Над вещественными числами определены операции сложения (+), вычитания (-), умножения (*) и деления (/). Операция возведения в степень не предусмотрена.
Использование типа REAL у начинающего программиста часто вызывает ряд ошибок, приводящих к искажению результата по следующим причинам:

  • ошибки ввода — недостаточная точность исходных данных при сборе, подготовке и их вводе в ЭВМ;
  • ошибки представления обуславливаются ограниченной точностью внутреннего представления данных в конкретной ЭВМ, используемой для расчетов;
  • ошибки вычислений возникают за счет несовершенства математических методов, выбранных для решения задачи. Необходимо оценивать погрешность и держать ее в заданных пределах.

Источник: mojainformatika.ru

#4 Real Вещественный тип данных в Паскаль. Неявное приведение типа. Примеры

vedro-compota's picture

Тип Real служит для описания и хранения данных, являющихся вещественными числами.

Переменные типа Real

Переменные типа real могут быть объявлены стандартным способом (подобно integer):

Читайте также:
Musicfx что это за программа на Андроид нужна ли она

var a, b: real;

Таким переменным можно присваивать литералы вещественных чисел:

var a, b: real; begin a := 2.5; b := 2.0; end.

А также результаты любых арифметических выражений:

var a, b: real; begin a := 2.5; b := a/2 + a*3*2.0; // запоминаем результат выражения end.

Сравнение с Real с Integer

Выражения, возвращающие Integer

Если значение арифметического выражения присваивается переменной типа integer, то в него должны входить только:

  • целочисленные литералы
  • или целочисленные переменные.
  • Над указанными операндами должны выполняться операции (только эти — без операции деления):
    1. $+$ суммы (сложения)
    2. $-$ разности (вычитание)
    3. $*$ произведения (умножение)

    Выражения, возвращающие Real

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

    1. $+$ суммы (сложения)
    2. $-$ разности (вычитание)
    3. $*$ произведения (умножение)
    4. $/$ деление («отношение»)

    Можно сказать что тип, который возвращается выражением (тип его результата) определяется двумя моментами:

    1. типом операций (допустимые перечислены выше)
    2. типом операндов

    Неявное приведение (преобразование) типа

    Неявное приведение типа — это процесс преобразования типа без каких-то особо записанных в коде инструкций, которые бы явно указывали на то, что выполняется преобразование.

    Когда неявное приведение имеет место быть

    Неявное приведение типа возможно в двух случаях:

      В ходе операции присваивания — когда переменной типа real присваивается любое значение типа integer.
      Например:

    var a : real; begin a := 7;

    О втором случае поговорим подробнее.

    Если в арифметическом выражении присутствуют целые числа (переменные, литералы или результаты подвыражений типа integer) и эти числа участвуют в одной операции с типом real, то:

    1. сначала целые числа будут приведены Паскалем к типу real (так как real может хранить любые данные типа integer, а обратное не верно)
    2. а затем уже будет вычислен результат арифметической операции, который тоже будет иметь тип real

    Пусть у нас есть выражение:

    a : real; begin a = 5 + 2.0; // запоминаем результат выражения в переменную

    — этом случае вычисления будут проходить так («под капотом» языка Паскаль):

    5 + 2.0 = 5.0 + 2.0 = 7.0 // получили число 7, но типа real

    — знание этой особенности позволяет правильно определить тип переменной для хранения результата выражения.

    Что к чему приводится неявно

    Если в арифметических выражениях если неявное приведение типа имеет место быть, то это всегда приведения integer к real как к более широкому и универсальному классу чисел.

    Рассмотрим разные выражения и прокомментируем когда происходит неявное приведение типа, а когда нет и почему:

    6 + 3.3 < — неявное приведения типа происходит, так как второй операнд имеет вещественный тип, а потому первый будет приведён к 6.0, а только потом вычислится сумма>4 + 8 < — без неявного приведения — оба операнда типа integer, сумма тоже типа integer>10 — 3/7 < — неявное приведения типа происходит, так как второй операнд (результат подвыражения 3/7) имеет вещественный тип (3/7 — это дробь примерно равная 0.4285714. ), а потому первый будет приведён к вещественному типу и станет = 10.0, а только потом вычислится разность>9.0 + 5 3 + 78

    Присваивание несовместных типов. Что и чему можно присваивать

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

    Рассмотрим примеры присваивания переменным значений с комментариями, показывающими в каких строках ошибка:

    var a,b : integer; begin a := 2; // справа и слева integer a := ‘2’; // ОШИБКА: справа символьный литерал, а слева integer b := 4; // справа и слева integer a := b+5; // справа и слева integer b := ‘123’; // ОШИБКА: справа строковый литерал, а слева integer a := b+5*2; // справа и слева integer a := b+5/2;

    Вывод вещественных чисел на экран

    Переменные, литералы и результаты выражений типа real можно выводить точно также как и целые числа (их переменные, литералы и выражения).

    В некоторых реализациях Паскаля, при выводе на экран может использоваться экспоненциальная форма записи числа, то есть дробное число записывается (две особенности):

    1. в виде некоторого числа (обычно с одной цифрой в целой части), умноженного на $10$ в какой-то степени (вещественное число всегда подразумевается обладающим дробной частью, просто иногда она равна нулю, тогда число называют целым).
    2. вместо множителя $10$ используют букву $E$.

    Примеры экспоненциальной записи чисел

    • Так, например число $125.35$:
      $$125.35 = 1.2535 * 100 = 1.2535 * 10^$$
      в экспоненциальной форме может выглядеть так:

    1.2535E2
    5.567E-3

    Разбор задач

    Пример №1

    Пусть есть задача:

    Выведите на экран произведение чисел $5$ и $7.3$

    Самое простое решение:

    begin writeln(5*7.3); // выводим произведение литералов end.

    Хотя по хорошему выводить данные с пояснениями, например используя в качестве первого аргумента литерал:

    begin writeln(‘5*7.3 = ‘, 5*7.3); // выводим произведение литералов end.

    Или пример с выводом произведения переменных:

    var a: integer; // используем целый тип, так как 5 целое b: real; // 7.3 — вещественное число, а потому объявляем её тип как real begin a := 5; b := 7.3; writeln(‘otvet =’, a*b); // выводим произведение переменных end.

    — тут вторым аргументом процедуры writeln() оказывается арифметическое выражение.

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

    var a: integer; // используем целый тип, так как 5 целое b: real; < мы будем записывать сюда 7.3 — вещественное число, а потому объявляем её тип как real >c: real; // для результата begin a := 5; b := 7.3; c := a*b; // сравниваем значения переменных и записываем результат в переменную «с» writeln(‘otvet =’, c); // выводим значение переменной на экран end.

    Пример №2

    Пусть есть задача:

    Присвойте трем переменных значения $34$, $36.7$ и $7.3$, в четвертую переменную запишите разность между произведением первой и второй переменной и суммой второй и третей и выведете её значение на экран.

    var a :integer; // для 34 достаточно типа integer b, c : real; // вторая и третья (дробные числа) d : real; // сюда запишем результат begin //для начала выполним присваивания по условию задачи a := 34; b := 36.7; c := 7.3; d := a * b — (b + c); // «разность между произведением первой и второй переменной и суммой второй и третей» writeln(d); // «и выведете её значение на экран» writeln(‘otvet: ‘, d); // то же самое, но c пояснением end.

    Для переменной $d$ нам пришлось использовать тип real, так как выражении:

    a * b — (b + c)

    две переменные были вещественного типа, а значит переменная $a$ тоже была бы неявно приведена к вещественному типу (а её значение 34 к 34.0) и результат выражения имел вещественный тип, а присваивать результат вещественного типа переменной целого типа нельзя (об этому говорилось в этом уроке выше и в предыдущем уроке), как как в этом случае неявное преобразование для присваивания не сработает (см. выше первый случай когда имеет место быть неявное преобразование типов).

    Видео-пояснения

    Для данного урока есть следующие видео:

    Вопросы http://fkn.ktu10.com/?q=node/8533″ target=»_blank»]fkn.ktu10.com[/mask_link]

    Язык паскаль онлайн

    Типы Переменных в Паскале – Var Real Integer Pascal – Отличие String от boolean и char

      Browse: Home / Самоучитель паскаль онлайн / Типы Переменных в Паскале – Var Real Integer Pascal – Отличие String от boolean и char

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

    Для простоты понятия переменной , мы будем представлять её в качестве некой коробки , которая в свою очередь имеет свое имя ( адрес , по которому мы будем ссылаться на неё ) и значение внутри «коробки» ( переменной ). И в дальнейшем свой тип.

    В данном случае мы имеем некую переменную с именем «a» , значение которой принимает число 17. В паскале такое выражение записывается так a:= 17;. Обратите внимание на знак := ( двоеточие и равно , означает присвоить ) пробелы между ними и перед ставить не нужно.

    Следует заметить , что имена переменных могут состоять из отдельных слов , например age:= 21; или my_age:= 21;. В названии переменных можно использовать латинские буквы , арабские цифры , а также символ подчеркивания _ . Использовать цифры в начале переменной нельзя ! ( 21age:= 21; ).
    Переменные name и NaMe совершенно одинаковые , то есть паскаль не обращает внимания на регистр переменных.

    Как видно из картинки выше , переменные могут нести в себе не только целые значения ( integer ), но и вещественные и строковые и некоторые другие.

    a:= 3.5; — Вещественная переменная real
    b:= «Hello»; — Строковая переменная string

    Целочисленный тип переменной

    Целочисленные переменные это переменные , которые несут в себе значение целых чисел например :

    3 , 17 , 10 , — 5 ,

    Пример объявления такой переменной ( переменные объявляются в блоке var ) :

    x , y : integer ;

    Дополнительно о типе integer можно прочесть здесь

    Вещественный тип переменной

    Вещественные переменные несут в себе нецелые числа . Например 3.5 , 2.7 . 1/2 тоже является вещественным значением и равна 0.5

    Пример объявления такой переменной :

    x , y : real ;

    Подробное описание real здесь

    Строковой тип переменной

    Строковые переменные несут в себе символы или последовательность символов. Значение такой переменной строго записывается в кавычках. Например b:= «hello»;

    Пример объявления такой переменной :

    t , t1 : string ;

    Читать что такое тип данных string

    Существуют ещё два типа переменных . Логический ( boolean ) и символьный ( char ). Их подробное описание есть здесь и здесь .
    Переменные логического типа имеют только два значения true и false , а переменные символьного типа несут в себе только один символ. ( Явная схожесть с строковых типом , однако в строковой переменной можно использовать сразу несколько символов , в отличии от символьного , в котором можно использовать только один символ )

    Читать Паскаль Обмен значениями двух переменных

    Пример объявления символьной переменной :

    Пример объявления логической переменной :

    f : boolean ;

    Переменные имеют свою диапазон значений , к примеру переменная типа integer(целочисленная) не может превышать значение 32767 или быть меньше чем -32768.

    Посмотреть таблицы с названием типов и их диапазонами можно здесь .

    Все переменные объявляются в блоке var ( между словами var и begin )

    Как объявляются переменные ?
    Вначале пишем имя своей переменной , например «a» далее следует задать тип нашей переменной . Это зависит от того , какой мы хотим её видеть. Например для хранения вашего имени в переменной , нам понадобится тип string. А для возраста тип integer.
    Записывается это так — a:integer; Один и тот же тип можно задать нескольким переменным сразу . Например a,b,c:real;
    Следует помнить о том , что каждая переменная до того , как мы присвоим ей какое-либо значение , имеет значение равное 0

    Операции с переменными

    С каждой переменной можно проводить свои операции . Например складывание , вычитание , деление , возведение в корень и многие другие.

    Как видно на картинке , целочисленная переменная «a» имеет значение 10 , а целочисленная переменная «b» имеет значение 7 . Значение переменной «c» равно разнице «a и b» , проще говоря равно 3.

    Остальные арифметические операции выполняются аналогично . Умножение заменяется знаком * , а деление / .

    При таком взаимодействии переменных, большое внимание следует уделять типам переменных . Так к примеру существуют две переменные «a и b» , «a» равно 1 , «b» равно 2 . Переменная c равна частному «a на b» ( a/b ). В таком случае переменная «c» принимает вещественный тип.

    Команды ввода и вывода на экран :

    Для того , чтобы вывести переменную на экран нам понадобится команда writeln();.
    Для того , чтобы ввести значение некоторой переменной через клавиатуру , нам понадобится команда readln();

    Читать Одномерные массивы в Паскале – Pascal Array для чайников

    Вывод на экран значения переменной «name» осуществляется так — writeln(name);.
    Запись значения переменной с клавиатуры осуществляется так — readln(name);.

    Функции и операции в паскаль

    Функции и операции в паскаль

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

    Некоторые из них вы найдете в данной статье.

    Операции в Паскале

    Где используются операции : прежде всего , операции используются в в работе с переменными ( например их сложение ) , а также в условиях.

    Операции в pascal

    Операции в pascal

    Функции в Паскале

    Функции используются для обработки некоторых переменных. Например для того , чтобы получить корень из какого-либо числа ( переменной ) , нам понадобится функция sqr(x) где x — это переменная , которая будет возведена в квадрат.

    Функции в Паскале

    Отличие writeln() от write()

    Многие задаются таким вопросом : В чем отличие команды writeln() от команды write(). Отличий совсем немного , но они есть.

    Команда writeln() — выводит определенную информация на экран ( текст, переменную и т.п ) и при этом переводит последующий текст на следующую строку ( линию ). Проще говоря , текст внутри writeln() занимает всю строку , а остальной текст будет печататься на следующей строке.

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

    Наглядный пример работы данных команд :

    program mypascal ;
    write ( ‘Привет ‘ ) ;
    writeln ( ‘ друг !’ ) ;
    write ( ‘Как твои дела ?’ ) ;

    На экран будут выведены две строчки. В первой строке будет написано » Привет друг ! «. Во второй строке будет написано «Как твои дела ?».

    Отличия команды readln() и read() аналогичны.
    Write — писать ; ln ( line ) — линия.

    Переменные | Оператор присваивания

    Мы научились выводить результаты вычислений; но значительно чаще эти результаты надо хранить в программе для дальнейшего использования. Сохраняются такие результаты в переменных — участках памяти, которые имеют собственные имена в программе. Рассмотрим код

    program LinearEquation ;
    var a , b , x : real ;
    writeln ( ‘Эта программа развязывает линейное уравнение ax=b’ ) ;
    writeln ( ‘a =’ , a ) ;
    writeln ( ‘b =’ , b ) ;
    writeln ( ‘x =’ , x )

    Раздел var (от англ. Variable — переменная) провозглашает 3 переменные — a, b и x — действительного типа (real, англ. Действительный).

    Переменные действительного типа предназначен для работы с числами, похожих на обычные действительные числа, с определенными ограничениями реализации (они не могут быть больше и меньше определенных значений, и также минимальное расстояние между числами; впрочем, эти ограничения являются достаточно широкими, чтобы в обучении не обращать на них внимания). Альтернативным типом чисел есть целый тип (integer, англ. Цел), числа которого, очевидно, могут приобретать только целых значений. С другими стандартными простыми типами можно ознакомиться в соответствующем разделе .

    Читать Тип string (строковый) в паскале – Процедуры и функции для работы со строками

    В общем виде раздел var выглядит так:

    var идентификатор , идентификатор . . . : тип ,
    идентификатор , идентификатор . . . : тип ,
    идентификатор , идентификатор . . . : тип ,

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

    Строка a = 3; содержит оператор присваивания =; этот оператор записывает свой правый операнд (в этом случае, 3) в левый (a). Таким образом, после выполнения этой строки a становится равным 3. Важно понять, что оператор присваивания — не математическое утверждение «a равна 3», как его часто воспринимают новички, а команда «записать в a значение 3»; любая другая команда может изменить это значение. Довольно часто в Паскале используются команды вроде x = x + 1; эта команда не содержит противоречие, как может показаться, а берет текущее значение x, добавляет к нему 1 и записывает снова в переменное x — то есть ее следует воспринимать как «увеличить x на 1».

    Команда writeln ( ‘a =’, a); выводит значение переменной a; сразу заметим, что формат числа немного необычный: вместо ожидаемого 3 мы видим 3.000000000E +00. Буква e в этом случае синонимом выражения «10 в степени», то есть это можно записать как 3.0 * 10 0 — что, собственно, равен просто 3. Большинство компиляторов Паскаля типично используют такой формат вывода действительных чисел; позже мы научимся изменять формат вывода.

    Строка x = b / a; Как вы уже догадались, вычисляет значение b / a и записывает его в переменную x. Здесь требуется пояснение: компилятор Паскаля не умеет решать уравнения, он только выполняет программу. Поэтому для решения задачи в Паскале надо сначала решить ее математически (получив из уравнения a * x = b выражение x = b / a), и только потом запрограммировать это решение.

    Читать Паскаль вывод на экран – Pascal Ввод и вывод

    Последняя строка выводит вычисленное значение x. Здесь надо отметить, что последние две строки можно было бы совместить в

    Источник: mypascal.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru