IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> логические задачки на паскале
webgirl
сообщение 4.12.2004 16:56
Сообщение #1


Гость






вычислить следующую сумму и определить, при каком n произойдет переполнение строки
1^2+2^2+3^2+...+n^2

составить программу, кот. возводит число в куб, используя следующее свойство:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19 (эту я вроде с грехом пополам сделала, но такой бред получился)

сост программу для:
(((((1?2)?3)?4)?5)?6)=35

заранее очень вам благодарна rolleyes.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 5.12.2004 16:34
Сообщение #2


Гость






webgirl
Цитата
с грехом пополам сделала

А почему бы не показать, что уже сделано?

Кроме этого, может объясните, что значит вот эта фраза:
Цитата
при каком n произойдет переполнение строки

При чем здесь строка?

Сообщение отредактировано: volvo - 5.12.2004 16:37
 К началу страницы 
+ Ответить 
EXE
сообщение 5.12.2004 17:25
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской
Реальное имя: Диман

Репутация: -  0  +


Всегда готов помочь если б задание было написано полностью (т.е. как дается изначально) :yessss:

Второе задание прогрессию n чисел. Ща подумаю как это на Паскале-то накодить.

Сообщение отредактировано: EXE - 5.12.2004 17:28


--------------------
Время есть сущность всех вещей.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.12.2004 17:37
Сообщение #4


Гость






EXE
Второе задание решается элементарно:
Код

const n = 5;
var i, start, s: integer;
begin
 start := sqr(n) - pred(n);
 s := 0;
 for i := 1 to n do
   begin
     inc(s, start); inc(start, 2)
   end;
 writeln('result = ', s)
end.

Вообще-то вопрос был, как webgirl это сделала...
 К началу страницы 
+ Ответить 
EXE
сообщение 5.12.2004 18:50
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 47
Пол: Мужской
Реальное имя: Диман

Репутация: -  0  +


Согласен ;)


--------------------
Время есть сущность всех вещей.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
webgirl
сообщение 5.12.2004 22:25
Сообщение #6


Гость






Цитата
При чем здесь строка?

вопрос по-другому (как я его понимаю): при каком н количество цифр в искомом значении (искомой сумме) превысит 255 символов. наверно так

вот как я решала вторую
Код


program kub;
uses crt;
var a,i,j,k,s:integer;
begin
clrscr;
writeln;
writeln('vvedite chislo');readln(a);
k:=0;
for i:=1 to a do
begin
k := k+(i-1);
end;
i:= 1;
for j := 1 to k do
i:= i+2;
for j:=a downto 1 do
begin
s := s + i;
i:=i+2;
end;
writeln(s);
readkey;
end.

но мой препод сказал, что можно решить намного проще и что это полный бред, хотя я мучалась с ней неделю. обидно, однако
 К началу страницы 
+ Ответить 
volvo
сообщение 5.12.2004 22:33
Сообщение #7


Гость






webgirl
Насчет второй - вверху приведен текст, который, как видно, и хотел препод... Третью я решил ОЧЕНЬ нетривиально - боюсь, что она преподу тоже не понравится:

Код

type
 myFunc = function(a, b: integer):integer;

function myAdd(a, b: integer): integer; far;
 begin myAdd := a + b end;
function mySub(a, b: integer): integer; far;
 begin mySub := a - b end;
function myMult(a, b: integer): integer; far;
 begin myMult := a * b end;
function myDiv(a, b: integer): integer; far;
 begin myDiv := a div b end;

const
 nums: array[1 .. 6] of integer =
   (1, 2, 3, 4, 5, 6);
 result = 35;

type
 oper = (opPlus, opMinus, opMult, opDiv);
const
 fs: array[oper] of myFunc =
   (myAdd, mySub, myMult, myDiv);
 ch: array[oper] of char =
   ('+', '-', '*', '/');

function f(a1, a2, a3, a4, a5: oper): integer;
 begin
   f := fs[a5](fs[a4](fs[a3](fs[a2](fs[a1](nums[1], nums[2]), nums[3]), nums[4]), nums[5]), nums[6]);
 end;

var
 s1, s2, s3, s4, s5: oper;
 found: boolean;
begin
 for s1 := opPlus to opDiv do
   for s2 := opPlus to opDiv do
     for s3 := opPlus to opDiv do
       for s4 := opPlus to opDiv do
         for s5 := opPlus to opDiv do
           If f(s1, s2, s3, s4, s5) = result then
             begin
               found := true;
               writeln('was found:');
               writeln('1'+ch[s1]+'2'+ch[s2]+'3'+ch[s3]+'4'+ch[s4]+'5'+ch[s5]+'6');
             end;
 if not found then
   writeln('was not found:')
end.

blink.gif

А над второй подумаю...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 12:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"