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

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

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

> логические задачки на паскале
сообщение
Сообщение #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
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






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

 





- Текстовая версия 4.09.2025 23:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name