Как сделать таблицу квадратов в паскале
На занятии будет объяснен алгоритм работы с функциями на Паскале, рассмотрены стандартные функции. Будут разобраны примеры использования функций с параметрами и без параметров.
Стандартные функции языка 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=π∗R 2 . В качестве значения Пи использовать 3.14 .
Пример:
2 вариант: Описать функцию TriangleP(a, h) , находящую периметр равнобедренного треугольника по его основанию a и высоте h , проведенной к основанию ( a и h — вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты (периметр = сумме длин всех сторон). Для нахождения боковой стороны b треугольника использовать теорему Пифагора: b 2 =(a/2) 2 +h 2 .
Пример:
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Этот оператор возводит в квадрат заданное ему число или переменную. Обозначается, как "sqr" без кавычек. В программе пишется как sqr(a), где a - любая другая переменная или число.
2. Оператор корня
Этот оператор находит корень из переменной или числа. Обозначается, как "sqrt" , без кавычек. В программе пишется как sqrt(a), где a - любая другая переменная или число.
3. Оператор модуля
Данный оператор переводит число из обычного в число по модулю, то есть меняет его знак всегда на положительный. Обозначается, как "abs" без кавычек, в программе пишется, как abs(a), где a - любое число или другая переменная.
На сегодня урок окончен, с другими уроками вы можете познакомиться в категории "Уроки паскаль"
Сумма всех квадратов целых чисел в заданном диапазоне
Области применения
Данную задачу можно использовать при составлении самостоятельных, контрольных и домашних работ в средней общеобразовательной школе или при прохождении курса информатики в СПО.
Текст задания.
Составить программу на языке Паскаль, которая находит сумму всех квадратов целых чисел в заданном диапазоне [a; b].
Решение задачи на языке Паскаль
Решение задачи разбивается на несколько частей.
Первоначально, мы должны задать тот самый указанный диапазон. Учитывая, что числа у нас целые, поэтому начальная и конечная границы должны быть заданы целыми числами. Поэтому тип вводимых значений будет integer. Переменные a и b необходимы для задания верхней и нижней границ диапазона целых чисел.С помощью оператора ввода значения readln() осуществляем ввод нижней и верхней границ диапазона.
Первоначально сумма должна быть принудительно обнулена. При помощи оператора присваивания :=После этого, для вычисления необходимой суммы необходимо организовать цикл с шагом увеличения на единицу. Для этого, в Паскале используется оператор цикла for.
Код программы на языке Паскаль
Пример ввода данных и результата в окне вывода
Введите значение нижней границы диапазона a=-12
Введите значение нижней границы диапазона b=10
Сумма квадратов чисел в диапазоне от -12 до 10. S=1035Надеюсь, что данный материал поможет вам лучше понять язык Паскаль программирования и уяснить общие принципы работы при составлении программ.
© 2013-2020 Информатика. Полезные материалы по информационным технологиям. Использование материалов без активной ссылки на сайт запрещено! Публикация в печати только с письменного разрешения администрации.
Этот оператор возводит в квадрат заданное ему число или переменную. Обозначается, как "sqr" без кавычек. В программе пишется как sqr(a), где a - любая другая переменная или число.
2. Оператор корня
Этот оператор находит корень из переменной или числа. Обозначается, как "sqrt" , без кавычек. В программе пишется как sqrt(a), где a - любая другая переменная или число.
3. Оператор модуля
Данный оператор переводит число из обычного в число по модулю, то есть меняет его знак всегда на положительный. Обозначается, как "abs" без кавычек, в программе пишется, как abs(a), где a - любое число или другая переменная.
На сегодня урок окончен, с другими уроками вы можете познакомиться в категории "Уроки паскаль"
Так как в воскресенье на сайте открывается новая рубрика — решение задач, мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.
Давайте разберемся, что такое функция и процедура. Это подпрограмма — часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. В чем же разница между процедурой и функцией?
Процедуры — мини-программы.
Например, программист хочет в своем суперкоде между блоками выходящих значений прописывать 20 амперсандов. Чтобы облегчить себе задачу, он напишет простую подпрограмму.
Функции в Паскале — мега переменные.
Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.
Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!
Структура функции представлена на картинке ниже.
Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.
Операции div и mod.
Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.
Для того, чтобы найти частное от деления, мы используем операцию div.
- 25 div 20 = 1;
- 20 div 25 = 0;
- 39 div 5 = 7;
- 158 div 3 = 52.
Для того, чтобы найти остаток от деления, мы используем операцию mod.
- 25 mod 20 = 5;
- 20 mod 25 = 0;
- 39 mod 5 = 4;
- 158 mod 3 = 2.
Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:
Задача 1. Найти сумму цифр двухзначного числа.
Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.
Задача 2. Найти сумму цифр трехзначного числа.
Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.
Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок.
Читайте также: