Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 3

Вводятся натуральные числа X, Y, m и n. Вычислить сумму Xm+Yn (для определения степени числа написать процедуру)

22.10.2017, 20:00. Показов 2710. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачи на Паскале авс ! Желательно с пояснениями
1)Вводятся натуральные числа X, Y, m и n. Вычислить сумму Xm+Yn (для определения степени числа написать процедуру).
2)Вычислить наименьшее общее кратное двух натуральных чисел a и b, используя алгоритм Евклида для вычисления их наибольшего общего делителя (вычисление НОД(a,b) оформить в виде процедуры)...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2017, 20:00
Ответы с готовыми решениями:

Дано целое число N (> 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени.
Дано целое число N (> 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени....

С клавиатуры вводятся натуральное число N и вещественное число x. Вычислить
С клавиатуры вводятся натуральное число N и вещественное число x. Вычислить:...

Вводятся 3 натуральных числа. Найти сумму цифр каждого из них
Вводятся 3 натуральных числа. Найти сумму цифр каждого из них (создать функцию для нахождения ...

4
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
23.10.2017, 03:45
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//Алгоритм Евклида. Стоит отметить, что он также работает только с натуральными числами
//дробные и отрицательные числа не являются натуральными
//чаще и 0 не считается натуральным, но в этом решении считается
//сам алгоритм можно посмотреть в ВИКИ. Он простой 
function algorithEvklid(a, b : integer) : integer;
begin 
   while (b <> 0) and (a <> 0) do
   begin
      if a > b then a := a mod b
      else b := b mod a;
   end; 
   algorithEvklid := a + b;
end;
 
//Функция возведения в степень. a и pow должны быть натуральными числами
//дробные и отрицательные числа не являются натуральными
//чаще и 0 не считается натуральным, но в этом решении считается
function pow(a, pow: integer) : integer;
begin
   if (a = 0) and (pow = 0) then result := 0
   else result := 1;
   for var i := 1 to pow do result := result * a;
   pow := result;
end;
 
//Читаем число из консоли. Если оно удовлетворяет диапазону (startRange..endRange), то 
//возвращаем число. Если не удовлетворяет, то просим ввод заново.
function readNumber(text : String; startRange, endRange : integer) : integer;
begin
   repeat
      write(text, ' [', startRange, ' <= число <= ', endRange, ']: ');
      readln(result);
   until (result >= startRange) and (result <= endRange);
   readNumber := result;
end;
 
var
   a, b : integer;
   x, y : integer;
   m, n : integer;
begin
   writeln('Задание №1: Вычислить сумму X^m+Y^n');
   x := readNumber('Введите число Х', 0, 1000);
   y := readNumber('Введите число Y', 0, 1000);
   m := readNumber('Введите степень m', 0, 1000);
   n := readNumber('Введите степень n', 0, 1000);
   var sum := pow(x, m) + pow(y, n);
   writeln('Ответ: ', x, '^', m, ' + ', y, '^', n, ' = ', sum, ';');
   
   writeln('==============================================');
   writeln('Задание №2: Найти НОД 2-х чисел по алгоритму Евклида');
   a := readNumber('Введите число a', 0, 1000);
   b := readNumber('Введите число b', 0, 1000);;  
   writeln('Ответ: НОД(', a, ', ', b, ') = ', algorithEvklid(a, b), ';');
end.
1
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 3
23.10.2017, 04:51  [ТС]
Спасибо,однако проблема вся в том, что задания нужно решить с помощью процедуры,а не функции!
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
23.10.2017, 05:22
Лучший ответ Сообщение было отмечено Екатерина2411 как решение

Решение

Я думаю, процедура и функция одно и тоже, иначе как ты процедурой вернёшь к пример число в степени или НОД 2-х чисел?

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

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//Алгоритм Евклида. Стоит отметить, что он также работает только с натуральными числами
//дробные и отрицательные числа не являются натуральными
//чаще и 0 не считается натуральным, но в этом решении считается
//сам алгоритм можно посмотреть в ВИКИ. Он простой 
procedure algorithEvklid(a, b : integer);
begin 
   write('НОД(', a, ',', b, ') = ');
   while (b <> 0) and (a <> 0) do
   begin
      if a > b then a := a mod b
      else b := b mod a;
   end; 
   writeln(a + b, ';');
end;
 
//Функция возведения в степень. a и pow должны быть натуральными числами
//дробные и отрицательные числа не являются натуральными
//чаще и 0 не считается натуральным, но в этом решении считается
procedure pow(var a : integer; pow : integer);
begin
   if pow >= 2 then for var i := 2 to pow do a := a * a
   else if (pow = 0) and (a = 0) then a := 0
   else if (pow = 0) and (a <> 0) then a := 1;
end;
 
//Читаем число из консоли. Если оно удовлетворяет диапазону (startRange..endRange), то 
//возвращаем число. Если не удовлетворяет, то просим ввод заново.
function readNumber(text : String; startRange, endRange : integer) : integer;
begin
   repeat
      write(text, ' [', startRange, ' <= число <= ', endRange, ']: ');
      readln(result);
   until (result >= startRange) and (result <= endRange);
   readNumber := result;
end;
 
var
   a, b : integer;
   x, y : integer;
   m, n : integer;
begin
   writeln('Задание №1: Вычислить сумму X^m+Y^n');
   x := readNumber('Введите число Х', 0, 1000);
   y := readNumber('Введите число Y', 0, 1000);
   m := readNumber('Введите степень m', 0, 1000);
   n := readNumber('Введите степень n', 0, 1000);
   
   write('Ответ: ', x, '^', m, ' + ', y, '^', n, ' = ');
   pow(x, m);
   pow(y, n);
   writeln(x + y, ';');
   
   writeln('==============================================');
   writeln('Задание №2: Найти НОД 2-х чисел по алгоритму Евклида');
   write('Введите число a: ');
   readln(a);   
   write('Введите число b: ');
   readln(b);  
   algorithEvklid(a, b);
end.
1
0 / 0 / 0
Регистрация: 22.10.2017
Сообщений: 3
23.10.2017, 05:36  [ТС]
Абсолютна согласна,однако я решила с помощью функции,а мне дали дополнительное задание, преобразовать через процедуру!!!Спасибо огромное!!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2017, 05:36
Помогаю со студенческими работами здесь

Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй степени+7 х=1,2..10
18. Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй...

Возведение числа A в натуральную степень B (функцию возведения в степень оформить в модуле)
Написать программу возведения числа а в натуральную степень b. Функцию возведения в степень...

Вводятся действительные а и х и натуральное n. Вычислить Y
Вводятся действительные а и х и натуральное n. Вычислить Y Y=nx^n-1+ (n-1)x^n-2 +... +2x + 1

Найти сумму пяти нечетных чисел натурального ряда, начиная с N>0. N вводятся с клавиатуры
Вычислить значение суммы N членов следующего ряда: 16+k/3+k/6+k/9…. N&gt;0,K&gt;0 вводятся с клавиатуры ...

Вводятся k натуральных чисел. Найти сумму цифр каждого из них
Вводятся k натуральных чисел. Найти сумму цифр каждого из них.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru