Программа будет считать сумму двух чисел введённых пользователем и выводить результат на экран.
Сначала введём название программы
program summa;
Далее нужно подключить модуль работы с экраном, в дальнейшем он нам пригодится
uses crt;
Раз программа считает сумму двух чисел, то и понадобятся две переменные
var x,y:integer;
Далее пишем слово begin, оно обозначает начало программы
begin
Для удобства лучше написать команду для очистки экрана, а иначе при каждом запуске программы будет отображаться всё что было на экране при предыдущих запусках (сообщения и т.д) , кстати именно из-за неё мы подключали модуль crt (uses crt).
clrscr;
При запуске программы должно появляться сообщение объясняющее пользователь что нужно сделать.
writeln (‘vvedite pervoe chislo’);
После этого надо будет ввести число, программа будет ждать пока переменной (x) не будет присвоенно число
readln (x);
то же самое нужно сделать со второй переменной (y)
writeln (‘vvedite vtoroe chislo’);
readln (y);
Затем нужно чтобы вывелось сообщение с суммой чисел, чтобы вывести текст и значение переменной в одном сообщении нужно чтобы текст во writeln был отделён от переменной запятыми. Текст должен быть в апострофах (запятые сверху ), а переменные или действия с ними без апострофов.
Например:
(‘ТЕКСТ’, переменная)
(переменная ,’ТЕКСТ’)
(‘ТЕКСТ’, переменная, ‘ТЕКСТ’) и т.д.
writeln (‘Summa ‘, x+y);
В конце лучше всегда ставить пустой readln, чтобы программа не сразу выходила, а ждала нажатия клавиши
readln;
И в конце обязательно должен быть End с точкой.
End.
program summa;
uses crt;
var x,y:integer;
begin
clrscr;
writeln (‘vvedite pervoe chislo’);
readln (x);
writeln (‘vvedite vtoroe chislo’);
readln (y);
writeln (‘Summa ‘, x+y);
readln;
end;
program z1;
var a,b;
begin
writeln(‘введите a’); readln (a);
writeln(‘введите b’); readln (b);
Writeln(a+b);
end.
program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой
var-переменные программы
в Паскале означает величину, которая в процессе программы может изменять свое значение
begin-начало тела программы
вместо writeln можно также писать write,на ваше усмотрение.
Когда вы пишете write,числа пишутся в одну строку.Например:34,504
С помощью writeln числа пишутся в две строки.
Вот так:
34
504
end.- конец программы.после end ВСЕГДА ставится точка.
begin и end. означают открытие операторных скобок,а также их закрытие.
удачи.
Aimez-vous les baguettes? 193 / 26 / 27 Регистрация: 25.10.2017 Сообщений: 165 |
|
1 |
|
Сложить два числа23.03.2018, 19:22. Показов 8330. Ответов 10
Задача такая: на ввод подается 2 числа, необходимо найти их сумму и вывести на экран.
0 |
Alvin Seville 342 / 272 / 134 Регистрация: 25.07.2014 Сообщений: 4,537 Записей в блоге: 9 |
|
23.03.2018, 19:26 |
2 |
Сообщение было отмечено alex5code как решение Решениеalex5code, попробуйте решить это сами.
2 |
Status 418 3856 / 2136 / 571 Регистрация: 26.11.2017 Сообщений: 5,004 Записей в блоге: 2 |
|
23.03.2018, 19:27 |
3 |
Неполное условие. Задача не решается.
0 |
6806 / 4565 / 4817 Регистрация: 05.06.2014 Сообщений: 22,438 |
|
23.03.2018, 19:50 |
4 |
Как сложить два числа в паскале Добавлено через 44 секунды Не по теме: alex5code, кхммм… Что-то я не совсем понял. Извините.
0 |
MRGRD56 0 / 0 / 0 Регистрация: 18.09.2017 Сообщений: 6 |
||||
29.03.2018, 18:01 |
5 |
|||
Такие элементарные вещи можно и погуглить…
0 |
Status 418 3856 / 2136 / 571 Регистрация: 26.11.2017 Сообщений: 5,004 Записей в блоге: 2 |
|
29.03.2018, 18:34 |
6 |
Такие элементарные вещи можно и погуглить… А если ввести числа: 2147483647 и 2147483646.
0 |
0 / 0 / 0 Регистрация: 18.09.2017 Сообщений: 6 |
|
29.03.2018, 18:42 |
7 |
Можно использовать другой тип данных, но в условии не был указан диапазон используемых чисел.
0 |
DimaKovalev 0 / 0 / 0 Регистрация: 31.03.2018 Сообщений: 3 |
||||
31.03.2018, 14:22 |
8 |
|||
Этому ещё в школе учат
0 |
Супер-модератор 32569 / 21040 / 8131 Регистрация: 22.10.2011 Сообщений: 36,314 Записей в блоге: 8 |
|
31.03.2018, 14:32 |
9 |
Этому ещё в школе учат А тому, что числа бывают не только натуральные — в школе не учат? Попробуй сложить 1.1 и 2.2 твоим кодом, например. А тому, что бывают натуральные числа, которые не поместятся ни в integer, ни в int64 — в школе не учат? Попробуй сложить своим кодом 9499888588868868232282888484777366465 и 200. например.
0 |
0 / 0 / 0 Регистрация: 31.03.2018 Сообщений: 3 |
|
31.03.2018, 17:42 |
10 |
В данном сообщение задано условие:Сложить два числа а не три
0 |
Модератор 9593 / 4912 / 3245 Регистрация: 17.08.2012 Сообщений: 15,346 |
|
31.03.2018, 17:48 |
11 |
DimaKovalev, ??? Какие три числа, где Вам их удалось увидеть?
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
31.03.2018, 17:48 |
Помогаю со студенческими работами здесь Нужно сложить два числа, состоящие из 200 цифр Сложить два целых числа, имеющих более 100 цифр program Project2; Как сложить два массива с разными индексами Как сложить два плюс два? если оба числа символьные? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 11 |
На занятии будет объяснен алгоритм работы с функциями на Паскале, рассмотрены стандартные функции. Будут разобраны примеры использования функций с параметрами и без параметров.
Содержание:
- Стандартные функции языка Pascal
- Арифметические функции (основные)
- Функции преобразования типов
- Пользовательские функции 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
Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.
- Функция – это подпрограмма, результатом работы которой является определенное значение.
- Функции используются для:
- выполнения одинаковых расчетов в различных местах программы;
- для создания общедоступных библиотек функций.
- Синтаксис:
- заголовок начинается служебным словом
function
- описание формальных параметров (тех, значения которых передаются из основной программы в функцию):
- параметры-переменные — параметры, значения которых становятся доступны и в основной программе (возвращаются в программу)
- тип возвращаемого функцией результата описывается в конце заголовка функции через двоеточие:
- Вызывается функция в теле основной программы, только если ее имя фигурирует в каком-либо выражении. В отличие от процедуры, которая вызывается отдельно.
- Внутри функции можно объявлять и использовать локальные переменные:
- значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции; объявлять ее НЕ НАДО:
Рассмотрим синтаксис:
var …;{объявление глобальных переменных} function название (параметры): тип результата; var…; {объявление локальных переменных} begin … {тело функции} название:=результат; {результат вычислений всегда присваивается функции} end; begin … {тело основной программы} end.
Пример: написать функцию, которая вычисляет наибольшее из заданных двух значений
Решение:
Вызов функции:
PascalABC.NET
:
Правила описания функции:
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. Написать функцию, которая вычисляет наибольшее из заданных трех значений. Функция с тремя параметрами.
✍ Пример результата:
Введите три числа: 4 1 6 наибольшее = 6
Пример: Написать функцию на Паскале, которая складывает два любых числа
✍ Пример результата:
первое число: 2 второе число: 5 сумма = 7
✍ Решение:
1 2 3 4 5 6 7 8 9 10 11 12 |
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. При помощи функции найти среднее арифметическое двух чисел (функция с двумя параметрами).
✍ Пример результата:
Введите два числа: 4 7 среднее арифметическое = 5,5
Пример: Составить программу с функцией для вычисления факториала числа.
Показать решение:
Pascal | PascalABC.NET | ||||
|
|
В рассмотренном примере функция имеет один параметр — a
. Вычисляемое функцией значение имеет целочисленный тип, это указывается в заголовке функции (строка 2). В теле функции в цикле for
вычисляется факториал числа. Результат вычисления присваивается имени функции (строка 9). В теле программы для вывода результата функции она вызывается в операторе writeln
(строка 14), который и выводит результат на экран.
PascalABC.NET
:
Короткое определение функции:
function Sq(x: real) := x * x + 1; begin var x := 10; var r := Sq(x) + Sq(2) end.
Короткая запись
Если тело функции состоит только из одного оператора, PascalABC.NET позволяет использовать при описании сокращенный синтаксис, без ключевых слов begin
и end
:
1 2 3 4 5 6 |
## function SumXY(x,y: real) := x + y; // основная программа begin Print (SumXY(9,2)); //11 end; |
Задача function 2. Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования. N — параметр функции.
Пример:
Введите число: 100 сумма = 5050
Задача function 3. Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна (в два раза больше предыдущего результата), на 3-ю – 4 зерна, на 4-ю – 8 зерен…). N
— параметр функции.
Пример:
Введите номер клетки: 28 На 28-ой клетке 134217728 зерен.
Задача function 4. Описать функцию IsDigit(A)
, которая возвращает истину, если целое число A
представляет цифру (то есть A
лежит в диапазоне 0–9). В основной программе вывести значение этой функции для N
(N ≥ 0) данных чисел.
Пример:
Введите N: 3 Введите число: 2 >>> true Введите число: 34 >>> false Введите число: 4 >>> true
Задача function 5. Вычисление степени числа с помощью функции на языке Паскаль.
Пример:
Введите число: 3 Введите степень числа: 2 Результат 3^2 = 9
Задача function 6. Описать функцию Calc(A, B, Operation)
вещественного типа, выполняющую над ненулевыми вещественными числами A
и B
одну из арифметических операций и возвращающую ее результат. Вид операции определяется целым параметром Operation
: 1
— вычитание, 2
— умножение, 3
— деление, остальные значения — сложение. С помощью Calc
выполнить для данных A
и B
операции, определяемые данными целыми N1
, N2
, N3
.
Пример:
Введите два числа: 5 7 Введите номер операции (1 — вычитание, 2 — умножение, 3 — деление, остальные значения — сложение): 2 Результат 5*7 = 35
* Из задачника М. Э. Абрамян (Proc22)
Самостоятельная работа
1 вариант: Описать функцию CircleS(R)
вещественного типа, находящую площадь круга радиуса R
(R
— вещественное). С помощью этой функции найти площади трех кругов с данными радиусами. Площадь круга радиуса R вычисляется по формуле S=π∗R2
. В качестве значения Пи использовать 3.14
.
* Из задачника М. Э. Абрамян (Proc18)
Пример:
Введите радиус: 5.2 Площадь круга = 16,328 ___ Введите радиус: 6.3 Площадь круга = 19,782 ___ Введите радиус: 7.1 Площадь круга = 22,294
2 вариант: Описать функцию TriangleP(a, h)
, находящую периметр равнобедренного треугольника по его основанию a
и высоте h
, проведенной к основанию (a
и h
— вещественные). С помощью этой функции найти периметры трех треугольников, для которых даны основания и высоты (периметр = сумме длин всех сторон). Для нахождения боковой стороны b
треугольника использовать теорему Пифагора: b2=(a/2)2+h2
.
* Из задачника М. Э. Абрамян (Proc20)
Пример:
Введите основание треугольника: 6 Введите высоту треугольника: 5 Периметр треугольника = 17,83095 ___ Введите основание треугольника: ... Введите высоту треугольника: ... Периметр треугольника = ... ___ Введите основание треугольника: ... Введите высоту треугольника: ... Периметр треугольника = ...
Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:
Program s1; uses crt; var A,B,S:integer; begin clrscr; writeln('ÂÂåäèòå A='); readln(A); writeln('ÂÂåäèòå B='); readln(B); If (A>=0) and (B<=1000)then begin S:=A+B; writeln('ÑóììГ* Г·ГЁГ±ГҐГ«=',S); end; If (A<0) and (B>1000) then begin writeln('ГЌГҐГўГҐГ°Г*Г®'); end; If (A<0) and (B<=1000) then begin writeln('ГЌГҐГўГҐГ°Г*Г®'); end; If (A>=0) and (B>1000) then begin writeln('ГЌГҐГўГҐГ°Г*Г®'); end; readkey; end.