Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2017, 20:31   #1
SASFM
Форумчанин
 
Аватар для SASFM
 
Регистрация: 26.03.2015
Сообщений: 191
По умолчанию Вычисление степень число А

Здравствуйте друзья. Есть такая задачка:

Описать процедуру PowerA234(A, B, C, D), вычисляющую вторую, третью и четвертую степень числа A и возвращающую эти степени соответственно в переменных B, C и D (A — входной, B, C, D — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти вторую, третью и четвертую степень пяти данных чисел.

Написал следующий код:
Код:
Program MyProg;
procedure PowerA234(A: real; var B, C, D: real);
begin    
    B:=a*a;
    C:=a*a*a;
    D:=a*a*a*a;
end;

var a2, b2, c2, d2: real;
    i: byte;
begin
  for i:=1 to 5 do
  begin
    read(a2);
    PowerA234(a2,b2,c2,d2);
    write  (b2:0:2,'     ');
    write  (C2:0:2,'     ');
    writeln(D2:0:2);
  end;
end.
Не знаю почему, но мои результаты:
-9.75 -9.39 -3.30 8.32 -6.68

95.06 -926.86 9036.88
88.17 -827.94 7774.32
10.89 -35.94 118.59
69.22 575.93 4791.74
44.62 -298.08 1991.16
отличаются от результаты которых выводить сам Паскаль. (1000 задач по программирование - Proc 2)
Скажите пожалуйста где я допустил ошибку?
Изображения
Тип файла: png P1.PNG (33.9 Кб, 137 просмотров)
Моя родина там, где мой компьютер

Последний раз редактировалось SASFM; 22.02.2017 в 20:43.
SASFM вне форума Ответить с цитированием
Старый 22.02.2017, 21:03   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

А что за версия Паскаля?
У меня FPC работает с ваши кодом нормально.
Одно замечание:
Код:
write  (b2:0:2,'     ');
Выделенное жирным неверно.
В формате r:m:n
- m - число позиций, которые будет занимать выводимое число: все число с дробной частью, включая точку и возможный знак минуса
- n - число цифр поле запятой.
Код:
write  (b2:8:2,'     ');
Так будет правильнее.


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 22.02.2017, 21:06   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Скажите пожалуйста где я допустил ошибку?
Ну, а взять просто на калькуляторе умножить? И сравнить. Додуматься крайне сложно, почти не вероятно )) Не верь всему, что найдешь в интернете или даже в книжке ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 22.02.2017 в 21:09.
Аватар вне форума Ответить с цитированием
Старый 22.02.2017, 21:53   #4
SASFM
Форумчанин
 
Аватар для SASFM
 
Регистрация: 26.03.2015
Сообщений: 191
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
А что за версия Паскаля?
У меня FPC работает с ваши кодом нормально.
У меня Pascal ABC.NET

Спасибо за:

Цитата:
Сообщение от ViktorR Посмотреть сообщение
В формате r:m:n
- m - число позиций, которые будет занимать выводимое число: все число с дробной частью, включая точку и возможный знак минуса
- n - число цифр поле запятой.
Моя родина там, где мой компьютер
SASFM вне форума Ответить с цитированием
Старый 22.02.2017, 21:58   #5
SASFM
Форумчанин
 
Аватар для SASFM
 
Регистрация: 26.03.2015
Сообщений: 191
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну, а взять просто на калькуляторе умножить? И сравнить. Додуматься крайне сложно, почти не вероятно ))
Даже в голову не пришел ))). Проверил, всё правильно. Спасибо за совет.
Моя родина там, где мой компьютер
SASFM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как возвести число в степень 2^3 yura_zb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 19.10.2012 08:49
возвести число x в степень y Imbire Паскаль, Turbo Pascal, PascalABC.NET 6 31.10.2011 09:40
Как возвести число в степень? Wintrymoon Паскаль, Turbo Pascal, PascalABC.NET 36 09.05.2011 15:11
Отрицательное число в дробную степень n4ela Общие вопросы C/C++ 7 31.10.2010 00:02
Возвести в степень b некоторое число a Михаил70 Общие вопросы Delphi 3 09.09.2009 16:10