Как в паскале определить, целое число или нет?
При нажатии на клавишу , делай proverku = true; ( а в моём примере — начальное число, b — то, что мы прибавляем) Если программа увидит, что проверка == труе, то она выполнит суммирование . Если что, проверку можно зациклить на время работы всей программы. Если что-то непонятно — обращайся.
16. 4 числа:
1915 – не могло: в порядке неубывания число делится на 1 и 915, 915 – не сумма двух цифр
20 – не могло: не делится на два числа в порядке неубывания, только 2 и 0
101 – не могло: не делится на два числа в порядке неубывания, только 10 и 1
1213 – могло, например, для числа 6667
1312 – не могло: в порядке неубывания число делится на 1 и 312, 312 – не сумма двух цифр
312 – могло, например, для числа 1266
1519 – не могло: в порядке неубывания число делится на 1 и 519 или 15 и 19, 519 и 19 – не сумма двух цифр
112 – могло, например, для числа 1066
1212 – могло, например, для числа 6666
10. Дан массив [1, 5, 3, 6, 7, 12, 1, 3, 3, 1].
Изначально m = 0, при обходе массива если элемент Lose[t] больше 3, то к m прибавляется Lose[t].
Значит, после выполнения программы на экране будет напечатана сумма элементов массива, больших трёх. Эта сумма равна 5 + 6 + 7 + 12 = 30.
9. Изначально u = 30. Затем для каждого i от 1 до 6 из u вычитается значение i, после цикла u равно 30 — 1 — 2 — 3 — 4 — 5 — 6 = 9. Это значение будет выведено на экран.
7. Путь Димы: С:\Музыка\Хиты – С:\Музыка\Хиты\Ретро – С:\Музыка\Хиты – С:\Музыка\Хиты\Лучшие
В последней папке он запустил Белые_розы.mp3. Полное имя файла состоит из пути к папке и имени файла:
С:\Музыка\Хиты\Лучшие\Белые_розы.mp3
Как проверить целое ли число в паскале
В Паскале используется несколько типов представления числовых значений, на начальном этапе будут рассмотрены лишь некоторые из них:
integer – целые числа в интервале от -2147483648 до 2147483647
real – вещественные (реальные) – целые и дробные положительные и отрицательные числа
Описания констант в декларативной части производится перед переменными, и предусматривают определенную форму записи чисел (дополнительно тип константы не оговаривается): если константа записана с точкой, тип константы считается real. При записи значения константы используется знак равенства.
Пример описания констант:
c1=3.14159265; // с1 имеет тип real
с2=2; // c2 имеет тип integer
Переменная – это вид объектов в программе, предназначенный для хранения информации во время выполнения программы. По правилам Паскаля каждая переменная должна быть объявлена, т.е. описана в декларативной части программы.
Переменная не имеет какого-либо конкретного значения до тех пор, пока компьютеру не будет дано точное предписание, поместить что-либо определенное в соответствующую ячейку памяти.
На Паскале такого рода предписание обычно выражается предложением назначения, имеющим вид:
имя_переменной:=выражение_или_значение
например: 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) представляются с некоторым приближением.
Некоторые стандартные математические функции
При использовании стандартных функций необходимо контролировать тип аргумента (возможные типы указаны в скобках).
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).
Проверка натурального числа
Задача 1.1
Дано число Х. Если оно натуральное, то вывести на экран сообщение: “Х — натуральное число”, иначе — вывести сообщение “Х — действительное число”.
Прежде чем начать решать эту задачу, давайте вспомним, что такое натуральные и действительные числа.
Что такое натуральное число
Натуральные числа (от лат. naturalis — естественный; естественные числа) — это числа, возникающие естественным образом при счёте (например, 1, 2, 3). Последовательность всех натуральных чисел, расположенных в порядке возрастания, называется натуральным рядом.
Существуют два подхода к определению натуральных чисел:
- Натуральные числа — это числа, возникающие при подсчёте (нумерации) предметов (первый, второй, третий и т.д.).
- Натуральные числа — это числа, возникающие при обозначении количества предметов (нет предметов, один предмет, два предмета и т.д).
В первом случае ряд натуральных чисел начинается с единицы, а во втором — с нуля.
Отрицательные и нецелые (рациональные, вещественные, …) числа к натуральным не относятся.
Что такое действительное число
Вещественное, или действительное число (от лат. realis — действительный) — это математический объект, возникший из потребности измерения геометрических и физических величин окружающего мира, а также проведения таких вычислительных операций, как извлечение корня, вычисление логарифмов, решение алгебраических уравнений, исследование поведения функций.
Если натуральные числа возникли в процессе счёта, а рациональные — из потребности оперировать частями целого, то вещественные числа предназначены для измерения непрерывных величин.
Не будем углубляться в теорию. Попробуем подвести итог простыми словами. Итак,
Натуральное число — это целое положительное число.
Вещественное (действительное) число — это не целое число (число с дробной частью).
Теперь попробуем найти решение задачи. Вариантов может быть несколько. Мы попробуем два из них — проверку натурального числа и проверку действительного числа. Они мало чем отличаются, но всё же.
Чтобы как-то отличить их, оформим их в виде функций.
Как проверить натуральное число
Можно выбрать, например, такой алгоритм:
- Получить число Х
- Проверить, не является ли число отрицательным
- Если да, то вывести “Х — действительное число”
- Если нет, то
- Выделить дробную часть числа
- Если она равна нулю, то вывести “Х — натуральное число”
- Иначе вывести “Х — действительное число”
- Завершить программу
Поскольку мы решили оформить решения в виде функций, то проверка натурального числа поместится в одну строку исходного кода.
Проверка действительного числа
Как я уже говорил, такая проверка мало чем отличается от предыдущей и также помещается в одну строку исходного кода:
Ниже приведены примеры программ на языках Паскаль и С++.
ВАЖНО!
Из-за особенностей представления вещественных чисел в памяти компьютера эти примеры не будут работать с большими числами. Например, эти функции, скорее всего, определят, что число 567894,01 является натуральным, а число 567894,1 — действительным. Числа с меньшими значениями будут определяться более точно. Например, число 1,0000001 (шесть нулей) определится как вещественное, а число 1,00000001 (семь нулей) определится как натуральное.
Можно, конечно, постараться и сделать работу этих функций более точной. Но это уже будет более сложное решение.
Pascal-Паскаль
Программирование. Числовые типы данных Pascal-Паскаль
- Скачено бесплатно: 25100
- Куплено: 414
-
->Программирование. Числовые типы данных Pascal-Паскаль
Программирование. Числовые типы данных Pascal-Паскаль
Числовые типы данных Pascal-Паскаль
Наиболее распространенные в математике числовые типы – это целые числа, которые представляют бесконечное множество дискретных значений, и действительные числа, которые представляют неограниченный континуум значений.
Описание числовых типов данных (целые) Паскаля
В пределах одного языка могут быть реализованы различные подмножества множества целых чисел. Диапазон возможных значений целых числовых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта. Так, в Паскале 7.0 используются следующие целые числовые типы данных:
| Числовые типы данных (ЦЕЛЫЕ ТИПЫ) Паскаля | ||
|---|---|---|
| Название числового типа данных | Длина, байт числового типа данных | Диапазон значений числового типа данных |
| Byte | 1 | 0..255 |
| ShortInt | 1 | -128..+127 |
| Word | 2 | 0..65535 |
| Integer | 2 | -32768..+32767 |
| LongInt | 4 | -2 147 483 648..+2 147 483 647 |
С целыми числовыми типами данных Паскаля можно выполнять следующие операции:
- Арифметические:
сложение(+);
вычитание(-);
умножение(*);
остаток от деления (mod);
возведение в степень;
унарный плюс (+);
унарный минус (-).
- Операции отношения:
отношение равенства (=);
отношение неравенства (<>);
отношение меньше (<);
отношение больше (>);
отношение не меньше (>=);
отношение не больше (<=).
При действиях с целыми числовыми типами данных тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, — типу того операнда, который имеет максимальную мощность (максимальный диапазон значений). Возможное переполнение результата никак не контролируется (это важно!), что может привести к ошибкам.
Особое внимание следует уделить операции деления целых числовых типов данных. В Паскале допускается две операции деления, которые соответственно обозначаются ‘/’ и div. Нужно знать, что результатом деления ‘/’ является не целое, а вещественное число (это справедливо, даже если вы делите 8 на 2, т.е. 8/2=4.0). Деление div – это целочисленное деление, т.е. тип результата целый.
Описание числовых типов данных (действительные) Паскаля
К вещественному числовому типу данных относится подмножество вещественных чисел, которые могут быть представлены в так называемом формате с плавающей запятой и фиксированным числом цифр. С плавающей точкой каждый числовой тип данных представляется в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая – порядком. В общем виде числовой тип данных в форме с плавающей точкой может быть представлено так: X= <+|->MP <+ | ->r , где M – мантисса числа; r – порядок числа (r – целое число); P – основание системы счисления. Например, для десятичного основания представление 2Е-1 (здесь Е – основание десятичной системы счисления) будет иметь вид: 2*10 -1 =0.2, а представление 1.234Е5 будет соответствовать: 1.234*10 5 =123400.0.
В Паскале используются следующие типы вещественных чисел, которые определяют произвольное число лишь с некоторой конечной точностью, зависящей от внутреннего формата вещественного числа:
| Длина числового типа данных, байт | Название числового типа данных | Количество значащих цифр числового типа данных | Диапазон десятичного порядка числового типа данных |
|---|---|---|---|
| 4 | Single | 7..8 | -45..+38 |
| 6 | Real | 11..12 | -39..+38 |
| 8 | Double | 15..16 | -324..+308 |
| 10 | Extended | 19..20 | -4951..+4932 |
| 8 | Comp | 19 . .20 | -2*10 63 +1..+2*10 63 -1 |
При описании вещественной переменной типа real в памяти компьютера будет создана переменная размерностью 4 байта. При этом 3 байта будут отданы под мантиссу, а один – под порядок.
Над действительными числовыми типами данных можно выполнять следующие операции:
- Арифметические:
сложение (+);
вычитание(-);
умножение(*);
деление(/);
возведение в степень;
унарный плюс (+);
унарный минус (-).
- Операции отношения:
отношение неравенства (<>);
отношение меньше (<);
отношение больше (>);
отношение не меньше (>=);
отношение не больше (<=).
Как видим, Паскаль характеризуется богатой гаммой вещественных типов, однако доступ к числовым типам данных single, double и extended возможен только при особых режимах компиляции. Эти числовые типы данных рассчитаны на аппаратную поддержку арифметики с плавающей точкой и для их эффективного использования в состав ПК должен входить математический сопроцессор.
Особое положение в Паскале занимает числовой тип данных comp, который трактуется как вещественное число без экспоненциальной и дробной частей. Фактически, comp – это «большое» целое число со знаком, сохраняющее 19..20 значащих десятичных цифр. В то же время числовой тип данных comp в выражениях полностью совместим с другими вещественными типами: над ним определены все вещественные операции, он может использоваться как аргумент математических функций и т.д.
О преобразовании числовых типов данных Паскаля
В Паскале почти невозможны неявные (автоматические) преобразования числовых типов данных. Исключение сделано только для типа integer, который разрешается использовать в выражениях типа real. Например, если переменные описаны следующим образом:
будет синтаксически правильным, хотя справа от знака присваивания стоит целочисленное выражение, а слева – вещественная переменная, компилятор сделает преобразование числовых типов данных автоматически. Обратное же преобразование автоматически типа real в тип integer в Паскале невозможно. Вспомним, какое количество байт выделяется под переменные типа integer и real: под целочисленный тип данных integer выделяется 2 байта памяти, а под real – 6 байта. Для преобразования real в integer имеются две встроенные функции: round(x) округляет вещественное x до ближайшего целого, trunc(x) усекает вещественное число путем отбрасывания дробной части.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту