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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2018, 17:03   #1
Genzal
Пользователь
 
Регистрация: 23.12.2017
Сообщений: 22
По умолчанию Pascal. Функция.

Вычислить значение функции для заданного K
Y=SIN(K+SIN(K-1+...+SIN(2+SIN(1))...))
Код правильно я написал:
Код:
function Y(const k: Word): Double;
var
    Result: Double;
begin
    if (k > 0)
    then
        Result := Sin(k + Y(k - 1))
    else
        Result := 0;
    Y := Result;
end;
var
    k: Word;
begin
    Write('Input k='); ReadLn(k);
    Write('Y=', Y(k):0:3);
end
Genzal вне форума Ответить с цитированием
Старый 18.01.2018, 17:05   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На калькуляторе например для k=3 вычислить и сравнить слабо?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2018, 17:11   #3
Genzal
Пользователь
 
Регистрация: 23.12.2017
Сообщений: 22
По умолчанию

Ошибка просто.

Последний раз редактировалось Genzal; 18.01.2018 в 17:16.
Genzal вне форума Ответить с цитированием
Старый 18.01.2018, 18:07   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Genzal Посмотреть сообщение
Ошибка просто.
ага. после последнего end обязательно нужна ТОЧКА:
Код:
function Y(const k: Word): Double;
var
    Result: Double;
begin
    if (k > 0)
    then
        Result := Sin(k + Y(k - 1))
    else
        Result := 0;
    Y := Result;
end;
var
    k: Word;
begin
    Write('Input k='); ReadLn(k);
    Write('Y=', Y(k):0:3);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.01.2018, 19:34   #5
Genzal
Пользователь
 
Регистрация: 23.12.2017
Сообщений: 22
По умолчанию

Пишет, что повторно ведена переменная Result.
Genzal вне форума Ответить с цитированием
Старый 18.01.2018, 20:16   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

делфи, например, сам создает переменную result для возврата результата функции. Что там у тебя за паскаль и что он думает по этому поводе не в курсе )) А сообщение об ошибке лучше дословно здесь приводить, а то попробуй расшифровать твой вольный перевод
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.01.2018, 22:43   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Genzal Посмотреть сообщение
Пишет, что повторно ведена переменная Result.
ну так убери её описание:

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
function Y(const k: Word): Double;
var
    Result: Double;
begin
    if (k > 0)
    then
        Result := Sin(k + Y(k - 1))
    else
        Result := 0;
    Y := Result;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Pascal ABC.NET] Функция 0525 Паскаль, Turbo Pascal, PascalABC.NET 4 05.12.2017 16:37
функция SetConsoleCP(Pascal) adrenalin142 Помощь студентам 3 24.10.2014 06:46
(Pascal ABC) Функция с условиями Sanginow Помощь студентам 3 20.02.2012 19:44
Функция arccos в Turbo Pascal 7.0 d00ker Помощь студентам 6 30.09.2010 10:06
Функция, Pascal xxxPascalxxx Помощь студентам 3 17.01.2009 17:01