Как умножать в паскале

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

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

ВВЕДЕНИЕ

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

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

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

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

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

Источник

Pascal-Паскаль

Программирование. Стандартные функции Pascal-Паскаль

Программирование. Стандартные функции Pascal-Паскаль

Стандартные функции Pascal-Паскаль

Стандартные математические функции Турбо Паскаля
Обращение Тип аргумента Тип результата Примечание
Abs(x) Real, integer Тип аргумента Модуль аргумента
ArcTan(x) Real, integer Real Арктангенс (значение в радианах)
Cos(x) Real, integer Real Косинус, угол в радианах
Exp(x) Real, integer Real Экспонента
Frac(x) Real Real Дробная часть числа
Int(x) Real, integer Real Целая часть числа
Ln(x) Real, integer Real Логарифм натуральный
Pi Нет Real 3,141592653
Sin(x) Real, integer Real Синус, угол в радианах
Sqr(x) Real, integer Тип аргумента Квадрат аргумента
Sqrt(x) Real, integer Real Корень квадратный
Random Нет Real Псевдослучайное число в интервале [0, 1]
Random(I) Integer Integer Псевдослучайное число в интервале [0, I]
Round(x) Real Integer Округление до ближайшего целого
Trunc(x) Real Integer Отбрасывание дробной части числа

Порядок вычислений в выражениях следующий:

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

Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)

Операторы действия

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

Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.

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

Ввод и вывод данных

Пример ввода данных с клавиатуры

read(a,b,c);

readln(a,b,c);

Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).

Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.

Пример вывода данных на экран

Читайте также:  у груши почернели листья что это значит

write(a,b,c);

writeln(a,b,c);

Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

Источник

Выражения Паскаль

Какую структуру имеют выражения Паскаль? Выражения Паскаль задают определенное правило, по которому вычисляется некоторое значение. В состав выражений входят:

Математические операции Паскаль:

Приведем стандартные математические операции в Паскале:

+ — сложение (3+58=61)
— — вычитание (4-42=-38)
* — умножение (8*12=96)
/ — деление (46/23=2)

Однако кроме этих стандартных операций в Паскале предусмотрены еще 2 математические операции:

div — деление нацело (10/3=3)
mod — деление с остатком (10/3=1)

Логические операции Паскаль:

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

Под not понимается логическое отрицание («НЕ»), and означает логическое умножение («И»), or подразумевает логическое сложение («ИЛИ»), xor раскрывает логическое «исключающее ИЛИ».

Операции отношения Паскаль:

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

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

Приоритет операций Паскаль:

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

В математике тем не менее возможно переопределить порядок выполнения операций при помощи скобок. Турбо Паскаль — не исключение:

Математические функции Паскаль:

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

abs(n) — абсолютное значение числа n,

sin(n) — синус числа n, где n — угол в радианах,

cos(n) — косинус числа n, где n — угол в радианах,

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

atan(n) — арктангенс числа n,

exp(n) — число e = 2,718 в степени n,

ln(n) — натуральный логарифм числа n,

pi — число Пи = 3,14,

sqr(n) — квадрат числа n.

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

2^(1.33) = exp(1.33*ln(2))

sqrt(n) — квадратный корень из числа n,

trunc(n) — число, равное целой части числа n (отбрасывается дробная часть числа n, результатом выполнения будет число с типом longint),

frac(n) — число, равное дробной части числа n,

int(n) — число, равное целой части числа n (в результате получается число с типом real),

round(n) — округление числа n (возвращаемое значение будет иметь тип longint),

random(n) — генератор псевдослучайных чисел в диапазоне 0 до n (если аргумент отсутствует, т.е. просто random, то в результате выполнения этой функции появится вещественное число от 0 до 1).

program chislo;

var j: integer;

begin randomize;

for j:=1 to 7 do

writeln(random(26)-10);

inc(m,n) — увеличение значения числа m на n (если число n не указано, то число m увеличивается на единицу),

Читайте также:  постоянно не хватает памяти на телефоне андроид

dec(m,n) — уменьшение значения числа m на n (если число n не указано, то число m уменьшается на единицу).

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Операция Операция
1 a*x 7 -a*x*x+b/x*c+y
2 a*x*x 8 c*n
3 -a*x*x 9 (a-b)
4 b/x 10 c*n/(a-b)
5 b/x*c 11 -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 . Вычислить корни квадратного уравнения

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

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

Источник

Pascal: Занятие №3. Часть2: Цикл While в Паскале

While в Паскале — цикл с предусловием

Алгоритм: Отделяем и удаляем последовательно последнюю цифру, наращивая счетчик.

n счетчик
246 0
24 1
2 2
0 3

В чем сложность?: Заранее не определено и неизвестно, сколько цифр нужно убрать, т.е. сколько шагов необходимо сделать.
Как выполнить: Надо перестать отделять цифры, когда n = 0, т.е. надо выполнять пока n > 0

Блок-схема решения:

Решение примера на Паскале:

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

Блок-схема, соответствующая циклу while в Паскале:

Рассмотрим использование цикла while в Паскале на решенном примере:

var i,n:integer; begin write (‘количество знаков’); readln(n); i:=1; while i [Название файла: L3task3.pas ]

Задача 4. Вычислять с использованием цикла while квадратные корни из чисел 900, 893, 886, 879 и т.д. до тех пор, пока это можно делать.

[Название файла: L3task4.pas ]

Детальный разбор работы цикла While в Паскале рассмотрен в видеоуроке:


которые по модулю больше 0,001:

Алгоритм:

Блок-схема решения:

Решение на Паскале

Результат: S = 1.157

[Название файла: L3task5.pas ]

Вложенные циклы в Паскале

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

const n = 9; <размер таблицы>var i, j :integer; begin for i:=1 to n do <номера строк>begin for j:=1 to n do <номера столбцов>write(i*j:4); writeln; <переход на новую строку>end; end.

const n = 9; <размер таблицы>begin for var i:=1 to n do <номера строк>begin for var j:=1 to n do <номера столбцов>write(i*j:4); writeln; <переход на новую строку>end; end.

Произведение в Паскале

Точно также, как существует сумматор для сложения, для умножения в паскале тоже существует специальная конструкция:

Произведение вычисляется по рекуррентному выражению:

где P – промежуточные произведения

Y — сомножители

var fact, n : integer; begin fact := 1; <начальное значение факториала =0! >n := 1; <начальное значение для условия >while n n := 1 стоит до цикла, если этого не сделать, то условие будет работать некорректно, так как переменная n будет пуста.

Программа возведения в степень числа в Паскале

Для начала уточним, что есть формула вычисления степени на Паскале. Но мы не будем ее использовать, а разберем алгоритм решения задачи возведения в степень.

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

Еще необходимо учесть следующее:

Т.е., решая программу на Паскале, учитываем:

Задача 6. Вычислить в Паскале степень числа, используя цикл while.

Источник

Читайте также:  Как узнать номер накладной
Обучающий проект