Произведение в паскале как пишется

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение — знаком «+».

program number6;
uses crt;
var A, B, C: integer;
begin
clrscr;
A:=5;
writeln (A);
writeln ('A');
A:=A+1;
Writeln (' Теперь A=',A);
B:=7;
C:=A*B;
writeln ('Произведение=', C);
Readln
end.

Строка №3. В раздел описания переменных Var записываем 3 переменные «A,B,C» и в дальнейшем мы будем использовать только эти три переменные. После записи переменных через двоеточие указывается тип данных INTEGER (целый). Это означает, что наши переменные «A,B и C» могут быть только целыми числами.

В строке №6 мы присваиваем переменной «A» значение равное 5. Сначала записывается сама переменная, затем ставится знак присваивания (:=), а затем пишем число, которое нужно присвоить. Таким образом, на данном этапе в переменную «A» записывается значение равное 5.

В строке №7 записываем оператор Writeln. Этот оператор выводит сообщение, указанное в скобках на экран. Обратите внимание, что переменная «A», записанная в скобках после оператора Writeln стоит без апострофов ‘ ‘, поэтому на экран выведется не сама буква «A», а то значение, которое мы ей присвоили выше, т.е. число 5.

Строка №8. Здесь буква «A» стоит уже в апострофах, поэтому она сама и выведется на экран.

В строке №9 нашей переменной «A» мы присвоили значение «A+1», т.е. то значение, которое раньше было у «A» (это число 5), мы увеличили на 1 (теперь «A» равна 6). Здесь следует сказать, что при присвоении переменной нового значения, старое значение стирается. Т.е. если раньше в переменной «A» содержалось значение 5, то после выполнения строки №9 число 5 удалится и в переменной будет содержаться новое значение 6.

В строке №10 выводим на экран сообщение «Теперь A=». Это сообщение берется в апострофы, а далее через запятую записываем переменную «A». Т.е. на экран у нас выведется сообщение «Теперь A=» и значение переменной «A» (т.е. число 6).

В строке №11 второй переменной «B» мы присвоили значение 7.

В строке №12 третей переменной «C» мы присвоили значение «A» умноженное на «B». Знак * означает в паскале операцию умножения. Таким образом «C» теперь равно 6*7=42.

Строка №13.На экран будет выведено сообщение «Произведение=», а затем на этой же строчке будет выведено значение, которое мы присвоили переменной C.

Теперь наберем эту программу в Паскале и запустим ее.

umnozhenie i slozhenie v paskalj

umnozhenie i slozhenie v paskalj.

числа в паскаль

Многие начинающие программисты задаются подобный вопросом : «Какие операции можно совершать с числами в языке программирования паскаль ?». В данном уроке мы подробно ответим на этот вопрос.


Арифметические операции

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18


program


mypascal


;



var



a


,


b


:


integer


;



c


:


real


;



begin



a


:


=




7


;



b


:


=




4


;



a


:


=




a









b


;




// a-b = 7 — 4 = 3 , следовательно a = 3 , b = 4 , c = 0


b


:


=




a




+




b


;




// a+b = 3 + 4 = 7 , a = 3 , b = 7 , c = 0


a


:


=




b *




2


;




// b*2 = 7 * 2 = 14 , a = 14 , b = 7 , c = 0


c


:


=




a




/




b


;




// a/b = 14 / 7 = 2 , a = 14 , b = 7 , c = 2


writeln


(


a


,


‘ ‘


,


b


,


‘ ‘


,


c


)


;



end


.

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

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).

Пример :


Результат

: переменной «а» присваивается значение 9.

4. Как убрать дробную часть у числа в паскале ?

Для того , чтобы отбросить дробную часть числа используется операция trunc(x).

Пример :


Результат

: переменной «а» присваивается значение 25.

5. Как убрать целую часть у числа в паскале ?

Для того , чтобы отбросить целую часть числа используется операция frac(x).

Пример :


Результат

: переменной «а» присваивается значение 0.2.

6. Как получить модуль числа в паскале ?

Чтобы получить модуль некоторого числа используется операция abs(x).

Пример :


Результат

: переменной «а» присваивается значение 8.

Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на

этой странице

.


Выводы :

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

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


program


Calculate


;


begin




writeln


(



выражение



)


end


.

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

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


Математические операции

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

Математическое выражение Запись на языке Паскаль
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))

или

abs(cos(x)*sin(x)*cos(y)/(sin(y))/cos(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, то есть могут использоваться в операторах ветвления и циклах, например


if




2


+


2


=


4




then




writeln


(


‘Два и два вместе дают четыре!’


)


else




writeln


(


‘Не может быть такого!’


)


;

Название операции Оператор Пример
Равно = 2+2=4
Не равно (?) <> 2+2<>5
Больше > 72>71.99
Больше или Равно >= x*x>=0
Меньше < 0<22
Меньше или Равно <= 1<=1


Функции для преобразования действительных и целых чисел

Паскаль — язык программирования со статической сильной типизацией. Это означает, что компилятор не выполняет преобразований значений между типами, которые могут привести к потере информации; в частности, если подставить в конструкцию, предусматривает целое значение, действительное число, компилятор сообщит об ошибке, даже если это число имеет целое значение. Так, как мы видели выше, 13 and 11 равна 9, но выражение 13.0 and 11 вызовет сообщение компилятора об ошибке! Чтобы избежать этого, надо явно задавать преобразования действительного числа на целое с помощью следующих функций:

Название функции описание пример
Round(X) Возвращает целое значение, ближайшее к X Round(1.7)=2, Round(-3.1)=-3
Int(X),

Trunc(X)
Возвращает целую часть X Int(1.8)=1, Trunc(-11.3)=-11
Floor(X) Возвращает наибольшее целое значение, не превышает X Floor(1.7)=1, Floor(-3.1)=-4
Ceil(X) Возвращает наименьшее целое значение, не менее от X Ceil(1.7)=2, Ceol(-3.1)=-3



Логические и побитовые операции


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

Название операции оператор пример описание
Логическое И, and, логическое умножение and (2+3=5) and (0>-1) Истинное, если оба операнда истинны
Логическое ИЛИ, or, логическое сложение or (2+2=5) or (1=1) Истинное, если хотя бы один из операндов истинный
Логическое исключающее ИЛИ, eXclusive or xor (2+2=5) xor (1=1) Истинное, если ровно один из операндов истинный
Отрицание, логическое НЕ, not not not (2+2=5) Истинное, если операнд ложный

Логические операторы, применены к целым типов, могут использоваться, как побитовые. Чтобы получить результат побитовой операции, надо представить операнды в двоичной системе (так, как они представлены в компьютере), после чего применить соответствующую операцию в соответствующих разрядов, причем 1 означает true 0 — false. так,

выведет 9, потому что

13 в двоичной системе будет 1 1 1
11 в двоичной системе будет 1 1 1
9 в двоичной системе будет 1 1

Кроме того, есть еще две побитовых операции сдвига:

Название операции оператор пример описание
сдвиг вправо shr 14 shr 2 (=3) Сдвигает двоичные разряды первого операнда справа на второй операнд разрядов;эквивалент целой части деления на степень 2
смещение слева shl 7 shl 3 (=56) Сдвигает двоичные разряды первого операнда слева на второй операнд разрядов;эквивалент умножению на степень 2



Алгебраические функции


Серым обозначены функции, которые не поддерживаются в Turbo Pascal

Название функции описание Заменитель (для Turbo Pascal)
Pi Возвращает значение числа { displaystyle pi ~}

(+3,141592653589793238462643383279 … с точностью, определенным типом real)

Abs(X) Абсолютное значение (модуль) X
Sign(X) Знак числа X: 1, если X отрицательный, 1, если положительный 0, если X = 0
Exp(X) Экспонента X (e X)
Ln(X) Натуральный логарифм X
Log2(X) Логарифм X по основанию 2 Ln(X)/Ln(2)
Log10(X) Логарифм X по основанию 10 Ln(X)/Ln(10)
LogN(X,Y) Логарифм Y по основанию X Ln(Y)/Ln(X)
Power(X,Y) Степень X Y Exp(Y*Ln(X))
Sqrt(X) Корень квадратный из X
Sqr(X) квадрат X
Max(X,Y) Более из значений X и Y
Min(X,Y) Меньше из значений X и Y

Примечание: корень степени Y из числа X можно представить как X 1 / Y, и, соответственно, как Power (X, 1 / Y) или в Turbo Pascal как Exp (Ln (X) / Y).



Тригонометрические функции


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

Название функции описание Заменитель (для Turbo Pascal)
DegToRad (X) Вычисляет радианной меру угла X, представленного в градусах X * Pi / 180
RadToDeg (X) Вычисляет градусную меру угла X, представленного в радианах X * 180 / Pi
Sin (X) Синус X (X в радианах)
Cos (X) Косинус X (X в радианах)
Tan (X) Тангенс X (X в радианах) Sin (X) / Cos (X)
ArcTan (X) Арктангенс X, угол, тангенс которого равен X, в радианах
ArcSin (X) Арксинус X, угол, синус которого равен X, в радианах ArcTan (X / sqrt (1-sqr (X)))
ArcCos (X) Арккосинус X, угол, косинус которого равен X, в радианах 2 * ArcTan ((1-X) / (1 + X))
Sinh (X) Гиперболический синус X (Exp (X) -exp (-X)) / 2
Cosh (X) Гиперболический косинус X (Exp (X) + exp (-X)) / 2
Tanh (X) Гиперболический тангенс X (Exp (2 * X) -1) / (exp (2 * X) +1)



Функции для работы со случайными величинами


Для имитации случайных процессов в Паскале есть генератор псевдослучайных чисел (ГПВЧ) и функции для работы с ним; такие числа достаточно непредсказуемыми для практического использования (то есть каждое последующее использование функции Random даст какой-то мере неожиданный результат), но их последовательность может быть полностью воспроизведена, если установить начальное значение ГПВЧ.

Название функции описание Заменитель (для Turbo Pascal)
Randomize Устанавливает начальное значение ГПВЧ равным текущему значению часов
Randomize (X) Устанавливает начальное значение ГПВЧ равным X
Random Возвращает псевдослучайное действительное число от 0 (включительно) до 1 (без включительно)
Random (X) Возвращает псевдослучайное целое число от 0 до X-1
Random (X, Y) Возвращает псевдослучайное целое число от X до Y X + Random (Y-X + 1)



Функции для работы со сочтеными типами


Для величин сочтеных типов (все цели, буквенный, логическое и перечни) существуют также несколько удобных стандартных функций и процедур:

Название функции описание
Succ (X) Возвращает значение, идет после X (для целых — X + 1, для буквенного — символ с последующим значением, для перечисления — следующее значение: так, Succ ( ‘A’) возвращает ‘B’
Pred (X) Возвращает, предшествующий X (для целых — X-1, для буквенного — символ с предыдущим значением, для перечисления — предварительное значение: так, Pred ( ‘A’) возвращает ‘@’
Inc (X) Увеличивает значение X на 1, эквивалент X = Succ (X)
Inc (X, N) Увеличивает значение X на N, эквивалент N приложений Inc (X)
Dec (X) Уменьшает значение X на 1, эквивалент X = Pred (X)
Dec (X, N) Уменьшает значение X на N, эквивалент N применений Dec (X)
Ord (X) Возвращает X (для нечисловых типов)
Odd (X) Проверяет X на нечетность, true, если X нечетный или false, если X имеет четное значение



Приоритет операций


Во время разбора математического выражения Паскаль сначала выполняет операции с высоким приоритетом, затем с низким, все справа налево. Так, в выражении 2 + 2 * 2 сначала будет вычислено 2 * 2 = 4, а уже затем 2 + 4 = 6 — так же, как в обычной математике; в выражении 10 mod 2 * 3 сначала будет выполнено 10 mod 2 = 0, а уже потом 0 * 3 = 0!

операции приоритет вид операции
@ Not — + Первый (высший) Унарные операции (плюс и минус унарные, то есть только в форме -a, а не cd!)
* / Div mod and второй Операции типа умножение
+ — or xor третий Операции вроде добавления
= <> <> <=> = In четвертый операции сравнения
() F () Пятый (ниже) Скобки, вызов функции




[Всего голосов: 16    Средний: 3.7/5]


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

Содержание:

  • While в Паскале — цикл с предусловием
    • Вложенные циклы в Паскале
  • Произведение в Паскале
  • Программа возведения в степень числа в Паскале

Пример: Определить количество цифр в введенном целом числе, не превышающем 2000000.

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

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

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

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

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

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

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

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

while условие do {Пока условие истинно выполняется оператор}
   оператор;
  • Здесь оператор, стоящий после служебного слова do, образует тело цикла и будет выполняться, пока значение "условия" равно true (истина).
  • Если операторов должно быть несколько, тогда необходимо применять составной оператор.
  • Условие пересчитывается каждый раз при входе в цикл.
  • Непосредственно условием цикла while может быть переменная или логическое выражение.
  • Операторы тела цикла while выполнятся только в том случае, если условие будет истинно, если условие ложно — они игнорируются, и программа продолжается с тех операторов, которые стоят уже после конструкции. Таким образом, это существенное отличие цикла с предусловием от цикла с постусловием.

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

Пример: Печатать «ноль» указанное количество раз

Показать решение:

Pascal PascalABC.NET
1
2
3
4
5
6
7
8
9
10
var i,n:integer;
begin
write ('количество знаков');
readln(n);
i:=1;
while i<=n do begin {составной оператор}
  write(0);
  i:=i+1
end;
end.
1
2
3
4
5
6
7
8
begin
var n:=readInteger('количество знаков');
var i:=1;
while i<=n do begin {составной оператор}
  write(0);
  i:=i+1
end;
end.

Задача 3. Ввести целое число и найти сумму его цифр.
Пример:

Введите целое число:
1234
Сумма цифр числа 1234 равна 10.

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

  • Можно использовать сложные условия:
  • сложные условия в while

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

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

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

    Пример: найти сумму всех элементов последовательности:

    найти сумму всех элементов последовательности
    которые по модулю больше 0,001:

    Алгоритм:

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

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

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

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

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

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

    Задача 5: Вычислить сумму элементов следующей последовательности с точностью 0,001:
    Найти сумму элементов последовательности с точностью 0,001

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

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

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

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

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

    Рассмотрим пример:

    Пример: Вывести таблицу умножения, используя вложенные циклы в паскале.

    Показать решение:

    Pascal PascalABC.NET
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    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.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    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=P*Y,

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

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

    Рассмотрим пример вычисления факториала числа в Паскале с использованием цикла while.

    Пример цикла While в Паскале для вычисления факториала 10! (10!=1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    var
      fact, n : integer;
    begin
      fact := 1; {начальное значение факториала =0! }
      n := 1;    {начальное значение для условия }
      while n<=10 do     {условие }
       begin             {начало тела конструкции с составным оператором }
         fact := fact*n; {вычисление факториала n! }
         n := n + 1       {n должно меняться в теле конструкции}
       end;                {конец тела цикла }
      writeln(10!=,fact);  {вывод результата расчета }
    end.

    Здесь необходимо обратить внимание на то, что присваивание n := 1 стоит до цикла, если этого не сделать, то условие будет работать некорректно, так как переменная n будет пуста.

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

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

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

    Таким образом, возведение числа n в степень d можно выразить так:
    nd = n1 * n2 * n3 * … * nd, где нижние индексы просто указывают очередное по счету число n.

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

    • число в нулевой степени равняется 1
    • если показатель степени отрицателен, т.е. d < 0, то задача решается по формуле:
      nd = 1 / (n1 * n2 * n3 * … * nd)

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

    • в программе на языке Паскаль количество итераций (повторений) цикла while должно быть равно показателю степени числа по модулю;
    • если показатель степени — отрицательное число, то нужно впоследствии единицу разделить на результат.

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

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

    Задача 7. Дана последовательность вещественных чисел, признак завершения которой — число 0 (оно не считается элементом последовательности). Найти сумму всех положительных элементов этой последовательности.

    Пример результата:

    Введите член последовательности
    4
    Введите член последовательности
    -1
    Введите член последовательности
    5
    Введите член последовательности
    7
    Введите член последовательности
    0
    Сумма положительных чисел = 16

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

    Понравилась статья? Поделить с друзьями:

    Не пропустите также:

  • Произведение в бианки не относящееся к жанру сказок несказок
  • Прожег или прожог как пишется правильно
  • Произведение беспалова о мальчике федотке как называется рассказ
  • Прожевать хлеб как пишется
  • Произведение бежин луг выберите один ответ a роман b повесть c поэма d рассказ

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии