Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Сумма прогрессии с чередующимся знаком 
:(
    Опции темы
Tan9
  Дата 26.10.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.10.2009

Репутация: нет
Всего: нет



Парни, помогите решить в pascal  smile 

user posted image

Это сообщение отредактировал(а) Tan9 - 26.10.2009, 16:25
PM MAIL   Вверх
HoTMetaL
Дата 30.10.2009, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 15.4.2007

Репутация: 1
Всего: 4



Записываешь обощённую формулу и прогоняешься её в цикле 10 раз.
PM MAIL   Вверх
SoWa
Дата 30.10.2009, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 3
Всего: 74



Код

function pow(a,b: integer) //Функция возведения в степень
begin
return exp(b*ln(a));
end;

function foo(n: integer)
var retval: real;
begin
if n=1 then return 1;
retval = ( 1+( (n-1)*3 ) ) / (3*pow(2, n-2));
if (n mod 2)=0 then retval = retval*(-1);
return retval;
end;

var sum: integer = 0;

begin
for i:=1 to 10 do
begin
sum:=sum+foo(i);
end;
end.


Как-то так.. Синтаксис проверяй сам, ибо я уже года два не писал на рассоле ) 
Объявлять пременные гдето в одном месте... застрелите меня )

Это сообщение отредактировал(а) SoWa - 30.10.2009, 07:54


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
RockClimber
Дата 30.10.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(SoWa @  30.10.2009,  07:53 Найти цитируемый пост)
Объявлять пременные гдето в одном месте... застрелите меня )

[HOLYWAR_DETECTED] Да запросто! smile 
Плохому программисту и раздел объявления переменных мешает... [/HOLYWAR_DETECTED]

Цитата(SoWa @  30.10.2009,  07:53 Найти цитируемый пост)
function foo(n: integer)
var retval: real;
begin
if n=1 then return 1;
retval = ( 1+( (n-1)*3 ) ) / (3*pow(2, n-2));
if (n mod 2)=0 then retval = retval*(-1);
return retval;
end;

В паскале нет return, там есть переменная result, ей и надо присваивать возвращаемое значение.
Поэтому объявление retval убираем, вместо него в тексте пишем result. Остальное должно правильно работать.


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
SoWa
Дата 30.10.2009, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 3
Всего: 74



Плохой программист?! >_>
Про return & result - мой грех, поотвык от турбо-рассольного программирования smile


Добавлено через 3 минуты и 43 секунды
Кстати, насчет retval... Кому как, конечно, но имхо лучше сперва все операции провести в локальной переменной, а потом её выкинуть в ответ. Сразу работать с ответом- не айс.

Это сообщение отредактировал(а) SoWa - 30.10.2009, 09:10


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
RockClimber
Дата 30.10.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Цитата(SoWa @  30.10.2009,  09:07 Найти цитируемый пост)
Плохой программист?! >_>

А че я такого сказал?  smile Старая как мир поговорка про танцора, было бы из-за чего сыр-бор разводить  smile Просто уже тошнит от аргументов холиварщиков типа "а вот в сиплюсплюс {}, а в паскале begin end", как будто более существенной разницы между языками нет...

Цитата(SoWa @  30.10.2009,  09:07 Найти цитируемый пост)
лучше сперва все операции провести в локальной переменной, а потом её выкинуть в ответ.

Да не вопрос, в паскале можно и так, только смысл я не очень улавливаю...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
Tan9
Дата 30.10.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.10.2009

Репутация: нет
Всего: нет



Я тупая, не получаеться  smile 
PM MAIL   Вверх
RockClimber
Дата 30.10.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Tan9, а подробнее? Не компилируется или ответ неправильный дает?


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
SoWa
Дата 30.10.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 3
Всего: 74



Думаю, что ошибки smile Ибо код писался рано утром.
Предупреждение тоже ставилось утром, не с той ноги. Вечером приду домой- обсудим в ПМ инцидент


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
RockClimber
Дата 30.10.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Может так?
Код

function pow(a,b: integer) //Функция возведения в степень
begin
return exp(b*ln(a));
end;
function foo(n: integer)
var retval: real;
begin
if n=1 then return 1;
retval = ( 1+( (n-2)*3 ) ) / (3*pow(2, n-2));  // изменение тут
if (n mod 2)=0 then retval = retval*(-1);
return retval;
end;
var sum: integer = 1; // и тут
begin
for i:=2 to 10 do // и тут
begin
sum:=sum+foo(i);
end;
end.
Проверил в экселе - вроде правильно...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
SoWa
Дата 30.10.2009, 16:30 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 3
Всего: 74



Эге, да она похоже копирует код и пытается его скомпилировать smile
А return на result за нее кто править будет?

Tan9, вглядись внимательно в код и найди два экземпляра ошибки, на которую указал RockClimber в 4 сообщении этой темы.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
RockClimber
Дата 30.10.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: нет
Всего: 15



Оффтоп.
SoWa, А почему у меня отображается как будто это я последний пост заминусовал??? Я в 16:15 с работы ушел и юольше сюда не заходил...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
SoWa
Дата 30.10.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 3
Всего: 74



/*
хз хз... да не важно )
*/
интересно, а вопрошающая девушка разобралась, в чем дело?


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
DeadLine
Дата 30.10.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мыслитель
**


Профиль
Группа: Завсегдатай
Сообщений: 736
Регистрация: 16.2.2006
Где: Готем

Репутация: 1
Всего: 51




Модератор: Сообщение скрыто.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.