Функции Sqrt и Sqr
Функция Sqrt в Паскале вычисляет квадратный корень числа. Синтаксис функции следующий:
function Sqrt(Х : ValReal) : ValReal;
Эта функция возвращает квадратный корень числа, переданного через параметр Х. Число Х должно быть положительным, иначе произойдёт ошибка во время выполнения программы (так написано в документации, но в моей версии компилятора ошибки не происходит, а функция в случае отрицательного параметра возвращает значение NaN).
Функция Sqr в Паскале вычисляет квадрат числа. Синтаксис функции для разных типов приведён ниже:
Эта функция возвращает результат вычисления квадрата числа, переданного через параметр. То есть Sqr = х * х.
О типе ValReal я рассказывал здесь.
Квадрат числа
Здесь всё крайне просто. Квадрат числа Х равен произведению Х на Х. То есть функция Sqr на первый взгляд кажется бесполезной. Потому что во многих случаях проще написать так:
Единственный случай, когда использование функции Sqr является обоснованным с точки зрения упрощения кода, это когда в качестве параметра передаётся вещественное число (константа) с большим количеством знаков после запятой, или очень большое целое число, или сложное выражение. Например:
Х := 5.3456753322 * 5.3456753322
Также возведение в квадрат числа в Паскале сложного выражения тоже будет проще, если использовать функцию Sqr:
Вычисление квадратного корня
Когда мы изучали функции вычисления экспоненты и натурального логарифма, то мы узнали, что с их помощью можно возвести число в любую степень. То есть вычислить, в том числе, и корень любой степени.
Однако использование этих функций всё-таки немного сложновато. Поэтому для вычисления квадратного корня в Паскале имеется специальная функция (потому что квадратный корень приходится вычислять намного чаще, чем, например, корень n-й степени).
Эту функцию вы уже знаете — это функция Sqrt.
А здесь я напомню что такое квадратный корень для тех, кто подзабыл математику.
Итак, квадратный корень из числа А (корень 2-й степени) — это решение уравнения:
То есть квадратный корень из числа А, это число Х, которое при возведении в квадрат даёт число А.
ВАЖНО!
Число А может быть только положительным числом. Извлечение корня из отрицательного числа тоже возможно, но это уже будут комплексные числа.
Источник статьи: http://info-master.su/programming/pascal-functions/sqrt-and-sqr.php
Вычисление квадратного корня
Друзья а ваот еще одна программа. Она вычисляет квадратный корень.
а случайно не так надо писать??
Var a :longint, z :longint;
Ну ты сам подумай. Это все равно что написать слово яблоко тире яблоко.
А во вторых попробуй напиши эту программу как у меня написанно и проверь ее у себя. А потом напиши как ты сам решил то есть (Var a :longint, z :longint;) и увидеш что получиться.
Met, Алексей так спросил, т.к. в vb6 нужно отдельно объявлять тип для каждой переменной.
Зачем задовать глупые вопросы?. Но я думаю что Алексей и сам может ответить или ты унас адвокат. Но а во вторых прежде чем задовать вопрос надо сначало его проверить. Веть есть же программа , так возьми и проверь ее у себя , а потом задавай вопросы.
Met, не умничай! я задал такой вопрос так как в vb6 так из за variant и уменя нету Паскаля и я немогу нечего проверить.
Я немогу понять так тяжко нормально ответить на заданный вопрос по статье.
Так если у тебя нет Паскаля, то зачем задавать вопросы которые не относяться к программе, на которой ты программируеш. Я не умничяю а просто не люблю вопросов не по существу.Если у тебя стоит Паскаль и ты на нем программируеш и у человека что то не получается то он спрашивает у форумчан и ответить ему на его проблему я считаю нет ни чего зазорного, но когда человек спрашивает просто так, во первых он отнимает у меня время а во вторых зачем спрашивать если ты на этом языке не программируеш. Я же не спрашиваю у программистов на С++ ка и что можно сделать, потому что я на этом языке не программирую. И не отвлекаю людей вопросами которые ко мне не имеют ни какого отношения. Просто прежде чем спросить надо подумать а ЗАЧЕМ ЭТО НУЖНО.
даааа ужж вижуу у тебя дохера времени. а ответить на вопрос займёт минуту. а то что ты тут завёл целую без смысленную поэму это твои проблемы.
ЕСЛИ В ПАДЛУ ОТВЕТИТЬ ТО НЕОТВЕЧАЙ И ПРОМОЛЧИ.
я имею право спрашивать в любом месте.
Свои права ты можеш отстайвать в суде, а вопрос надо задавать по существу.И если ты задал мне вопрос то это не мои проблемы а твои проблемы. И я тебе советую остыть и не выражаться. А если тебе не нравиться как я тебе ответил то можеш не вступать в палемику . Будь умнее.
я бы вообще молчал если бы не это . Met [11.06.2012 11:21]
Я сейчас в Pascal ABC и на этот код овечает,»Ошибка: неизвестный индентификатор Sgrt
Источник статьи: http://vbbook.ru/turbo-pascal/vuchislenie-kvadratnogo-kornya/
Вычисление квадратного корня
Друзья а ваот еще одна программа. Она вычисляет квадратный корень.
а случайно не так надо писать??
Var a :longint, z :longint;
Ну ты сам подумай. Это все равно что написать слово яблоко тире яблоко.
А во вторых попробуй напиши эту программу как у меня написанно и проверь ее у себя. А потом напиши как ты сам решил то есть (Var a :longint, z :longint;) и увидеш что получиться.
Met, Алексей так спросил, т.к. в vb6 нужно отдельно объявлять тип для каждой переменной.
Зачем задовать глупые вопросы?. Но я думаю что Алексей и сам может ответить или ты унас адвокат. Но а во вторых прежде чем задовать вопрос надо сначало его проверить. Веть есть же программа , так возьми и проверь ее у себя , а потом задавай вопросы.
Met, не умничай! я задал такой вопрос так как в vb6 так из за variant и уменя нету Паскаля и я немогу нечего проверить.
Я немогу понять так тяжко нормально ответить на заданный вопрос по статье.
Так если у тебя нет Паскаля, то зачем задавать вопросы которые не относяться к программе, на которой ты программируеш. Я не умничяю а просто не люблю вопросов не по существу.Если у тебя стоит Паскаль и ты на нем программируеш и у человека что то не получается то он спрашивает у форумчан и ответить ему на его проблему я считаю нет ни чего зазорного, но когда человек спрашивает просто так, во первых он отнимает у меня время а во вторых зачем спрашивать если ты на этом языке не программируеш. Я же не спрашиваю у программистов на С++ ка и что можно сделать, потому что я на этом языке не программирую. И не отвлекаю людей вопросами которые ко мне не имеют ни какого отношения. Просто прежде чем спросить надо подумать а ЗАЧЕМ ЭТО НУЖНО.
даааа ужж вижуу у тебя дохера времени. а ответить на вопрос займёт минуту. а то что ты тут завёл целую без смысленную поэму это твои проблемы.
ЕСЛИ В ПАДЛУ ОТВЕТИТЬ ТО НЕОТВЕЧАЙ И ПРОМОЛЧИ.
я имею право спрашивать в любом месте.
Свои права ты можеш отстайвать в суде, а вопрос надо задавать по существу.И если ты задал мне вопрос то это не мои проблемы а твои проблемы. И я тебе советую остыть и не выражаться. А если тебе не нравиться как я тебе ответил то можеш не вступать в палемику . Будь умнее.
я бы вообще молчал если бы не это . Met [11.06.2012 11:21]
Я сейчас в Pascal ABC и на этот код овечает,»Ошибка: неизвестный индентификатор Sgrt
Источник статьи: http://vbbook.ru/vuchislenie-kvadratnogo-kornya/
Язык паскаль онлайн
Математические операции в паскале – Pascal Математические функции для работы с числами
Многие начинающие программисты задаются подобный вопросом : «Какие операции можно совершать с числами в языке программирования паскаль ?». В данном уроке мы подробно ответим на этот вопрос.
Арифметические операции
Начнем , пожалуй , с самого простого — арифметические операции с числами в паскале. В паскаль встроены многие привычные нам арифметические операции ( Сложение , вычитание , умножение , деление и т.п ).
Как же осуществляются подобные операции с числами ?. Давайте разберем это на примере исходника одной программы.
Результатом выполнения данной программы будет вывод на экран трех чисел 14 7 2 . Разберемся в том , как это работает.
В начале программы мы объявляем 2 целочисленные ( integer ) переменные «a» и «b» , а также 1 переменную «c» вещественного ( real ) типа. Подробнее прочитать о переменных в паскаль и их типах здесь.
Зачем нам нужна вещественная переменная ? Для записи результата деления целочисленная переменная не подходит , так как у нас получается дробь , а не целое число.
Теперь мы присваиваем переменной «a» значение 7 , а переменной «b» значение 3
. Переменную «c» при этом оставляем нулевой ( она нам пока не понадобится ).
Далее (в блоке begin end) мы расписываем арифметические операции с нашими числами. Обратите внимание на то , что после символов // идет комментарий , который не компилируется программой.
Запомните : Строка a:= a — b; выглядит так a:= 7 — 4; , а не так 7:= 7 — 4;
Другие операции с числами
В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.
1. Как найти квадрат числа в паскале ?
Для нахождения квадрата числа в паскале предусмотрена функция sqr(x) , где x — число.
Пример :
Результат : переменной «а» присваивается значение 25.
2. Как найти корень числа в паскале ?
Для нахождения корня числа в паскале предусмотрена функция sqrt(x) , где x — число.
Пример :
Результат : переменной «а» присваивается значение 5.
3. Как округлить число в паскале ?
Для того , чтобы округлить некоторое число используется операция round(x).
Пример :
4. Как убрать дробную часть у числа в паскале ?
Для того , чтобы отбросить дробную часть числа используется операция trunc(x).
Пример :
Результат : переменной «а» присваивается значение 25.
5. Как убрать целую часть у числа в паскале ?
Для того , чтобы отбросить целую часть числа используется операция frac(x).
Пример :
Результат : переменной «а» присваивается значение 0.2.
6. Как получить модуль числа в паскале ?
Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :
Результат : переменной «а» присваивается значение 8.
Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.
Выводы :
Для работы с числами в паскале предусмотрено множество различных операций. Мы можем делать с числами все , что угодно ( складывать , умножать , возводить в квадрат и т.п ).
Этот раздел содержит описание математических операций, которыми можно пользоваться в выражениях на языке Паскаль. Вывести результат вычисления выражения можно такой нехитрой программе:
Конечно, результат вычисления выражения можно и записать в переменную для дальнейшего использования, и передать в другую функцию.
Не все операции и действия в этом разделе будут вам понятны. Ничего страшного — просто помните, что сюда можно вернуться, когда вам что-то понадобится.
Математические операции
В Паскале, как и в большинстве языков программирования, несколько специфически передаются основные математические операции — так математические выражения надо записывать в одну строку, а не в несколько уровней, как принято в классической математической нотации. Это достигается значительно более массовым использованием скобок, что иногда огорчает начинающих. Также всегда нужно писать знак умножения *. Кроме того, параметры функций всегда должны быть в скобках. Например:
Математическое выражение | Запись на языке Паскаль |
2+2=4 | 2+2=4 |
a*(1+sqr(e))/2 | |
(-b+sqrt(sqr(b)-4*a*c))/(2*a) | |
exp(2*x+y) | |
abs(cos(x)*sin(x)*cos(y)/tan(y)) если компилятор не поддерживает Tan. |
Базовая арифметика
Название операции | Оператор | Пример | Примечание |
Добавление | + | 2+2 (=4) | |
Вычитание | — | 18.3-11 (=7.3) | |
Умножение | * | 7*8 (=56) | |
Деление | / | 7/8 (=0.875) | Результат всегда действительного типа (real) |
Целая часть деления | div | 7 div 2 (=3) | |
Остаток от деления | mod | 7 mod 2 (=1) |
Сравнение
Все операции сравнения возвращают значение типа boolean, то есть могут использоваться в операторах ветвления и циклах, например
Название операции | Оператор | Пример | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Равно | = | 2+2=4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Не равно (?) | <> | 2+2<>5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Больше | > | 72>71.99 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Больше или Равно | >= | x*x>=0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Меньше | Функции для преобразования действительных и целых чисел Паскаль — язык программирования со статической сильной типизацией. Это означает, что компилятор не выполняет преобразований значений между типами, которые могут привести к потере информации; в частности, если подставить в конструкцию, предусматривает целое значение, действительное число, компилятор сообщит об ошибке, даже если это число имеет целое значение. Так, как мы видели выше, 13 and 11 равна 9, но выражение 13.0 and 11 вызовет сообщение компилятора об ошибке! Чтобы избежать этого, надо явно задавать преобразования действительного числа на целое с помощью следующих функций:
Логические и побитовые операцииЛогические операции используются для объединения нескольких логических условий в одну.
Логические операторы, применены к целым типов, могут использоваться, как побитовые. Чтобы получить результат побитовой операции, надо представить операнды в двоичной системе (так, как они представлены в компьютере), после чего применить соответствующую операцию в соответствующих разрядов, причем 1 означает true 0 — false. так,
Кроме того, есть еще две побитовых операции сдвига:
Алгебраические функцииCерым обозначены функции, которые не поддерживаются в Turbo Pascal
Примечание: корень степени Y из числа X можно представить как X 1 / Y, и, соответственно, как Power (X, 1 / Y) или в Turbo Pascal как Exp (Ln (X) / Y). Тригонометрические функцииТригонометрические функции используют значения углов в радианах , будьте внимательны!
Функции для работы со случайными величинамиДля имитации случайных процессов в Паскале есть генератор псевдослучайных чисел (ГПВЧ) и функции для работы с ним; такие числа достаточно непредсказуемыми для практического использования (то есть каждое последующее использование функции Random даст какой-то мере неожиданный результат), но их последовательность может быть полностью воспроизведена, если установить начальное значение ГПВЧ.
Функции для работы со сочтеными типамиДля величин сочтеных типов (все цели, буквенный, логическое и перечни) существуют также несколько удобных стандартных функций и процедур:
Приоритет операцийВо время разбора математического выражения Паскаль сначала выполняет операции с высоким приоритетом, затем с низким, все справа налево. Так, в выражении 2 + 2 * 2 сначала будет вычислено 2 * 2 = 4, а уже затем 2 + 4 = 6 — так же, как в обычной математике; в выражении 10 mod 2 * 3 сначала будет выполнено 10 mod 2 = 0, а уже потом 0 * 3 = 0! Источник статьи: http://mypascal.ru/blog/chisla-v-paskale/ Подписаться авторизуйтесь 0 Комментарий Старые |