Как сделать сумму чисел в паскале

Добавил пользователь Skiper
Обновлено: 05.09.2024

На занятии будет объяснен алгоритм работы с функциями на Паскале, рассмотрены стандартные функции. Будут разобраны примеры использования функций с параметрами и без параметров.

Стандартные функции языка Pascal

Арифметические функции (основные)

Функция Назначение Тип результата
abs (x) абсолютное значение аргумента совпадает с типом аргумента
sqr (x) квадрат аргумента совпадает с типом аргумента
sqrt (x) квадратный корень аргумента вещественный
cos (x) косинус аргумента вещественный
sin (x) синус аргумента вещественный
arctan (x) арктангенс аргумента вещественный
exp (x) ex вещественный
ln (x) натуральный логарифм вещественный
int (x) целая часть числа вещественный
frac (x) дробная часть числа вещественный

Функции преобразования типов

round (x) — округляет вещественное число до ближайшего целого.
trunc (x) — выдает целую часть вещественного числа, отбрасывая дробную.

Пользовательские функции Pascal

Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.

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

    формальные параметры в паскале

    параметры-переменные в паскале

    тип функции

    локальные переменные в функции

    результат функции

    Решение:

    пример функции в паскале

    вызов функции в паскале

    Вызов функции:

    1. Мы должны написать тип значения, которое возвращает функция.
    2. Переменная Result хранит результат функции.

    function f(x: real): real; begin Result := x * x + 1; end;

    Вызов функции стоит в выражении:

    // основная программа begin var x := 5; var r := Sqrt(x) + f(x); end.

    Задача function 0. Написать функцию, которая вычисляет наибольшее из заданных трех значений. Функция с тремя параметрами.

    var x,y:integer; function f(a,b:integer):integer; begin f:= a+b; end; begin writeln('первое число:'); readln(x); writeln('второе число:'); readln(y); writeln('сумма= ',f(x,y)); end.

    В рассмотренном примере использования функции в Паскале: функция f имеет два целочисленных параметра — a и b . Через двоеточие в заголовке функции (строка 2) указано, что значение, вычисляемое функцией, будет тоже целочисленным. В теле функции вычисляемая сумма присваивается имени функции. А в основной программе вызов функции осуществляется в качестве параметра оператора writeln .

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

    Задача function 1. При помощи функции найти среднее арифметическое двух чисел (функция с двумя параметрами).

    var x:integer; function fact(a:integer):integer; var i: integer; begin if a a . Вычисляемое функцией значение имеет целочисленный тип, это указывается в заголовке функции (строка 2). В теле функции в цикле for вычисляется факториал числа. Результат вычисления присваивается имени функции (строка 9). В теле программы для вывода результата функции она вызывается в операторе writeln (строка 14), который и выводит результат на экран.

    function Sq(x: real) := x * x + 1; begin var x := 10; var r := Sq(x) + Sq(2) end.

    Задача function 2. Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования. N — параметр функции.

    Пример:

    Задача function 3. Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна (в два раза больше предыдущего результата), на 3-ю – 4 зерна, на 4-ю – 8 зерен…). N — параметр функции.

    Пример:

    Задача function 4. Описать функцию IsDigit(A) , которая возвращает истину, если целое число A представляет цифру (то есть A лежит в диапазоне 0–9). В основной программе вывести значение этой функции для N (N >= 0) данных чисел.

    Задача function 5. Вычисление степени числа с помощью функции на языке Паскаль.

    Пример:

    Задача function 6. Описать функцию Calc(A, B, Operation) вещественного типа, выполняющую над ненулевыми вещественными числами A и B одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром Operation : 1 — вычитание, 2 — умножение, 3 — деление, остальные значения — сложение. С помощью Calc выполнить для данных A и B операции, определяемые данными целыми N1 , N2 , N3 .

    Пример:

    Самостоятельная работа

    1 вариант: Описать функцию CircleS(R) вещественного типа, находящую площадь круга радиуса R ( R — вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса R вычисляется по формуле S=p*R 2 . В качестве значения Пи использовать 3.14 .

    Пример:

    2 вариант: Описать функцию TriangleP(a, h) , находящую периметр равнобедренного треугольника по его основанию a и высоте h , проведенной к основанию ( a и h — вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты (периметр = сумме длин всех сторон). Для нахождения боковой стороны b треугольника использовать теорему Пифагора: b 2 =(a/2) 2 +h 2 .

    Пример:

    Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

    Условие задачи : Найти сумму цифр в числе. Число вводит пользователь.

    Сложность : легкая.

    Подобная задача уже была разобрана (ссылка), но там мы искали сумму цифр зная , что число трехзначное.

    Сейчас же число вводит пользователь и нам не известно сколько в нем цифр.

    Для решения задачи нам понадобятся операции div и mod. Что мы будем делать?

    Сначала пустим цикл и в нем уже произойдет следующее. Допустим у нас число 732405.

    Мы применяем операцию mod чтобы отсеять одну цифру и сразу прибавляем её к сумме. А у числа 732405 мы убираем последнюю цифру с помощью операции div.

    Читайте также: