Как посчитать выражение в паскале

Подсчитать значение выражения, заданного в виде строки

Входные данные:
5*3-9/3

Выходные данные:
12

код выводит 2 а не 12

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

Вывести значение целочисленного выражения, заданного в виде строки S
Доброго дня! Есть такая задачка на рекурсию.. Как её решить не знаю, поэтому обращаюсь к вам за.

Вывести значение логического выражения, заданного в виде строки S
Вывести значение логического выражения, заданного в виде строки S. Выражение определяется.

Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеВывести значение целочисленного выражения, заданного в виде строки
Выражение определяется следующим образом: ::= | + |.

Решение

Не нужно ни скобок, ни операнда, даже точки с запятой не нужно, поскольку после readln следует end, который является разделителем.

mr-Crocodile, а почему это вдруг нужно использовать стек?

Можно сначала выполнить мультипликативные операции, причём аддитивную операцию, предшествующую первому операнду, считать знаком первого операнда.
После этого вставить промежуточный результат назад в строку на место операндов и операции, причём обязательно со знаком (если число больше или равно 0, в начале числа должен быть ‘+’).
После чего просуммировать получившийся ряд чисел, считая операции знаками следующих за ними операндов.

Без проверки корректности выражения, как для целых, так и для вещественных чисел, для Pascal ABC, в комментариях есть вариант для всех диалектов паскаля:

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

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

Вывести значение целочисленного выражения, заданного в виде строки
вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется.

Вывести значение целочисленного выражения, заданного в виде строки S
Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется.

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

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

Источник

Язык программирования TurboPascal

Turbo Pascal. Программирование арифметических выражений

Оператор присваивания

Оператор присваивания является одним из основных операторов любого языка программирования.

Оператор присваивания предназначен для присваивания переменной значения выражения.

Формат оператора присваивания:

В операторе присваивания слева от знака присваивания «:=» записывается переменная, а справа – выражение, численное значение которого присваивается этой переменной.

Выполнение оператора присваивания приведет к вычислению выражения и присваиванию значения выражения переменной.

Обязательным является требование, чтобы выражение и переменная были совместимы по присваиванию.

Например, оператор присваивания

Следует обратить внимание, что всем переменным в правой части оператора присваивания ранее уже были присвоены значения предыдущими операторами, например,

Здесь переменной t присваивается значение, которое до этого момента имела переменная t, плюс 1. Если переменная t имела до выполнения этого оператора значение равное 7, то после исполнения оператора t:=t+1 значение переменной будет равно 8.

Арифметические выражения

Арифметические выражения строятся из арифметических констант, переменных, функций и операций над ними.

Правила записи и смысл арифметических выражений в Паскале почти не отличаются от обычной математической записи.

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

ОперацияЗнак операции
Сложение+
Вычитание
Умножение*
Деление/
Деление целых чиселdiv
Остаток от деления целых чиселmod

Примеры арифметических операций:

Арифметические операции выполняются в порядке старшинства: сначала вычисление функции, затем умножение, деление, сложение, вычитание.

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

Рассмотрим арифметическое выражение

В таблице приведен порядок выполнения операций:

ОперацияОперация
1a*x7-a*x*x+b/x*c+y
2a*x*x8c*n
3-a*x*x9(a-b)
4b/x10c*n/(a-b)
5b/x*c11-a*x*x+b/x*c+y-c*n/(a-b)
6-a*x*x+b/x*c

ЗАМЕЧАНИЕ. Все данные, входящие в арифметическое выражение, должны быть одного типа.

Исключение составляют только константы и переменные целого типа (integer), которые разрешается использовать в выражениях вещественного типа (real). Если в выражении используются данные целого и вещественного типа, результат операции будет вещественного типа. В других случаях необходимо выполнять преобразование данных.

Пример. Пусть переменные x и y описаны следующим образом:

Следующие операторы являются ошибочными:

Для обеспечения совместимости типов необходимо выполнять преобразования данных. Для преобразования Real в Integer имеются две функции:

Round() – округляет Real до ближайшего целого;

Trunc() – усекает Real путем отбрасывания дробной части.

Правильная запись рассматриваемых операторов: x:=y+2; и x:=y/x; имеет вид:

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

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

ФункцияНазначение
Abs(x)Абсолютное значение аргумента x
Sqr(x)Вычисляет квадрат аргумента x
Sqrt(x)Вычисляет квадратный корень аргумента x
Exp(x)Возвращает экспоненту аргумента e x (степень числа e=2,72)
Ln(x)Вычисляет натуральный логарифм аргумента x
PiЗначение числа p=3.1415926
Frac(x)Дробная часть числа x
Int(x)Целая часть числа x
Sin(x)Синус аргумента x (угол в радианах)
Cos(x)Косинус аргумента x (угол в радианах)
Arctan(x)Арктангенс аргумента x (угол в радианах)
RandomizeИнициализация генератора случайных чисел
Random(x)Если x отсутствует, то значением функции является случайное число типа real из диапазона 0 x n = exp(n*ln(x));

Примеры записи простых арифметических выражений и операторов присваивания приведены в таблице:

Обычная математическая записьЗапись на Турбо Паскале
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеx/(y*z) или x/y/z
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеy*x/z
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскале(x+a)/(y+b)
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскале1/(m*sqrt(a+b))
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеx1:=(-b+sqrt(b*b-4*a*c))/(2*a)
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеy:=sin(x)
Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскалеsqr((x+y-z)/2/a)

Типичные ошибки в записи выражений:

4x+1 Пропущен знак умножения между 4 и x

a+sinx Аргумент x функции sinx не заключен в скобки

((a+b)/sqr(c*7) не хватает закрывающей скобки

ЗАДАЧА2 . Вычислить корни квадратного уравнения

по известным формулам

Как посчитать выражение в паскале. Смотреть фото Как посчитать выражение в паскале. Смотреть картинку Как посчитать выражение в паскале. Картинка про Как посчитать выражение в паскале. Фото Как посчитать выражение в паскале

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

Источник

Информационные технологии 1

Основные понятия и операторы языка Паскаль

ВВЕДЕНИЕ

Целью курса «Информационные технологии» является обучение студентов программированию с применением методов вычислительной математики, использованием современных средств вычислительной техники и компьютерных технологий, дальнейшее развитие компьютерной грамотности на основе дисциплин «Информатика», «Математика», «Начертательная геометрия и инженерная графика», «Физика».

Задачи изучения дисциплины заключаются в практическом освоении языка и среды Турбо Паскаля (версии 7.0), в приобретении студентами навыков составления алгоритмов задач теплоэнергетического профиля, отладки программ, в умении проводить анализ полученных результатов и корректировать свои действия с целью улучшения качественных показателей программ.

Язык Турбо Паскаль является классическим языком программирования, широко применяемым в инженерных расчётах. Его изучение позволяет сформировать у студентов особый вид мышления – алгоритмический. Студентам, успешно овладевшим этим языком, не составит особого труда в будущей своей трудовой деятельности применять свои знания и составлять программы не только на языке Паскаль, но и на других языках программирования. Особенно важным является то, что знание языка Паскаль нужно для составления программ в среде Windows при помощи прикладного пакета Delphi, всё более популярного в последнее время.

К настоящему моменту имеется огромное количество библиотек программ, процедур и функций с примерами реализации большинства инженерных задач на языке Паскаль и в среде визуального программирования Delphi. Умелое применение этих наработок предполагает хорошее базовое знание языка Паскаль.

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

Источник

Как посчитать выражение в паскале

В таблице приведены основные математические операции Турбо Паскаль.

Символ операцииНазвание операцииПример
умножение2*3 (результат: 6)
деление30/2 (результат: 1.5E+01)
сложение2+3 (результат: 5)
вычитание5-3 (результат: 2)
целочисленное деление5 div 2 (результат: 2)
остаток от деления5 mod 2 (результат: 1)

Логические операции

Над логическими аргументами в Турбо Паскаль определены следующие операции:

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

AB not A A and B A or B A xor B
truetruefalsetruetruefalse
truefalsefalsetruetrue
falsetruetruefalsetruetrue
falsefalsefalsefalsefalse

Операции отношения

К операциям отношения в Турбо Паскаль относятся такие операции, как:

В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.

Основные математические функции

В этом разделе приведены основные математические функции, встроенные в системную библиотеку Турбо Паскаль.

Функций тангенс и котангенс в Турбо Паскале нет. Для их вычисления используйте выражение sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).

Возвращает арктангенc числа X. Возвращает число, равное e в степени X. Возвращает число, равное натуральному логарифму от числа X. Число Пи. Возвращает число, равное квадрату числа X.

Функции возведения в произвольную степень в Турбо Паскале нет. Используйте многократное умножение для возведения в целочисленную степень, либо функции Exp и Ln для возведения в вещественную степень.

Перед использованием random в программах рекомендуется сначала инициализировать генератор псевдослучайных чисел процедурой Randomize. В противном случае при каждом запуске программы будет генерироваться одна и та же последовательность случайных чисел.

Увеличивает значение числа X на Y. Если число Y не указано, то увеличение происходит на 1. Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.

Источник

Выражения в Pascal

В операторах присваивания можно использовать арифметические выражения. Например:

Скобки обеспечивают необходимый порядок вычислений. Если бы в первом примере скобки были опущены:

то сначала было бы выполнено деление, приоритет которого выше. Приоритет в арифметических выражениях выше у операций умножения (*) и деления (/), ниже у сложения и вычитания.

Во втором из приведенных примеров производится присваивание значения целого числа. Функция trunc дает целый результат, а число 1 записано без десятичной точки; таким образом, оба слагаемых в сумме дают целое значение. Вообще, когда все члены выражения – целые, само выражение принимает целое значение.

У сформулированного выше правила существует важное исключение: деление (с использованием знака /) всегда дает вещественный результат:

Деление нацело (нахождение частного и остатка) может быть выполнено при помощи операций div и mod.

Выражение может включать в себя и целые и вещественные члены. Наличие хотя бы одного вещественного члена или знака / приводит к тому, что значение результата будет вещественным. Функции trunc и round могут быть использованы для преобразования вещественного числа в целое.

Функция sqr возводит значение аргумента (записанного внутри скобок) в квадрат. В Паскале нет оператора возведения в произвольную степень. Возведение в степень здесь осуществляется с использованием логарифмов. Вместо математического выражения a x на Pascal можно написать exp(ln(a) * x).

Знаки = и подобные также играют роль операций. Выражения, содержащие подобные операции, принимают логическое значение и называются логическими выражениями. В состав логических выражений могут входить логические операции not (не), and (и), or (или). Такие логические выражения называются сложными.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *