Школьникам разных городов сюда aka олимпиада по информатике

Discussion in 'Болталка' started by banana, 3 Dec 2009.

  1. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    А не спалят?
     
  2. White_Star

    White_Star Active Member

    Joined:
    12 May 2009
    Messages:
    5
    Likes Received:
    138
    Reputations:
    38
    на олимпиадах мне кажется особого контроля нет..
    banana если есть возможность,загрузи в телефон простенький учебник паскаля,или договорись с кем нибуть из людей,знающих Паскаль.Которые 100% ответят,и помогут..:)
     
  3. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    Основы то паскаля вплоть до процедур и функций я знаю, иногда не понятны как реализовать эти функции в нём, обычно такое не пишется в учебниках. А вот о человеке, знающем паскаль, то тут еще надо учитывать, чтобы он на шару помогал ;)
     
  4. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    меня вот тоже информатичка посылает....а мне впадлу)))
    Паскаль в школе начали учить неделю назад,а у меня получилось так,чтоя некуевые программки пишу) он офигела,и терь уламывает))))
     
  5. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    Убило...



    PS: В общем я узнал какие там алгоритмы в основном затрагиваются:
    1. Числа Фиббоначчи.
    Задание:
    Code:
    Последовательно цифр, длиною не менее 3х преобразуется след. образом: 
    * Для каждой цифры, начиная с третьей, вычисляется сумма предыдущих двух цифр;
    * Если последняя цифра суммы больше этой цифры, то она заменяет собой в последовательности эту цифру.
    
    Написать программу осуществляющую это преобразование.
    
    Вход. даные: INPUT.TXT содержит единственную строчку, в которой записаны  цифры исходной последовательности. Количество цифр в последовательности не менее 3 и не более 10^1000.
    
    Выход. данные: OUTPUT.TXT содежит получившуюся в рез-те последовательность.
    
    Пример данных:
    INPUT - 123456328456
    OUTPUT - 123586428459
    
    Моя наработка:
    Code:
    Program termometr;
    uses crt;
    const n=15;
    type f=file of integer;
    var a:array [1..n] of integer;
    input,output:f;
    i:integer;
    
     procedure term;
      var i,i1,i2:integer;
       begin
       i1:=a[i-1];
       i2:=a[i-2];
       for i:=3 to n do begin
        a[i]:=i1+i2;
        i:=i+1;
       end
     end;
    
     procedure pechat;
      begin
       if n>3 then begin
       write (output,a[i]);
       term;
      end
    end;
    
    begin
    clrscr;
    Assign (input, 'input.txt');
    Assign (output, 'output.txt');
    Reset (input);
    Rewrite (output);
    Read (input,a[i]);
    i:=3;
    pechat;
    Close (input);
    Close (output);
    end.
    
    Оно не пашет, вроде где-то зацикливается. Требуется дописать её. Кто может - сделайте пожалуйста, если что-то новое вводите - пожалуйста с комментариями.

    2. Перебор поля, путём прохода конем. Подобное про блох недавно кто-то просил решить и кто-то дал код:

    Code:
    Program Blochi;
    const
    InpFile = 'input.txt';
    Outfile = 'output.txt';
    const
    Max = 250;
    type
    Field = Array [-1..Max+2,-1..Max+2] of Byte;
    Steps = array [1..8] of -2..2;
    const
    x:Steps = (-1,1,2,2,1,-1,-2,-2);
    y:Steps = (-2,-2,-1,1,2,2,1,-1);
    var
    n,m,Yk,Xk,q:integer;
    f:field;
    procedure detectfield;
    var
    i,j,k,step:integer;
    waschanges:boolean;
    begin
    fillchar(f,Sizeof(f),0);
    for i:=1 to 8 do F[Yk+y[i],Xk+x[i]]:=1;
    waschanges:=true;
    step:=1;
    while waschanges do begin
    waschanges:=false;
    for i:=1 to n do
    for j:=1 to M do if f [i,j] = step then
    for k:=1 to 8 do
    if f[i+y[k],j+x[k]]=0 then begin
    f[i+y[k],j+x[k]]:=step+1;
    waschanges:=true;
    end;
    inc(step);
    end;
    f[yk,xk]:=0;
    end;
    
    Procedure initfield;
    var
    i,y2,x2:integer;
    answer:longint;
    nosolution:boolean;
    begin
    assign(input,inpfile);
    reset(input);
    assign(output,outfile);
    rewrite(output);
    answer:=0;
    nosolution:=false;
    read(n,m,yk,xk,q);
    if q>0 then detectfield;
    for i:=1 to q do begin
    read(y2,x2);
    if f [y2,x2]=0 then if (y2<>yk)or(x2<>xk) then nosolution:=true;
    answer:=answer+f[y2,x2];
    end;
    if nosolution then writeln(-1)
    else writeln(answer);
    close(input);
    close(output);
    end;
    
    begin
    initfield;
    end.
    
    Требуется максимально пояснить (комментариями), а по возможности и упросить код.

    3. Работа со строками. К примеру:

    Code:
    Напишите прогу, которая вводит с клавы слово длиной не более 14 букв и выводит на экран кол-во разных анаграмм, которые могут получться из этого слова. Анаграммой слов наз-тся любая перестановка всех букв слова.
    
    Пример: из слова СОЛО может получиться 12 анаграмм: СОЛО, ЛОСО,ОСЛО, ОЛСО, ОСОЛ, ОЛОС, СЛОО, ЛСОО, ООЛС, ЛООС, СООЛ.
    
    Вход. данные: INPUT.TXT содержит единственную строчку, в которой записано исходное слово. Кол-во символов в последовательности не менее 3 и не более 256.
    
    Выход. данные: OUTPUT.TXT содержит число, опред. кол-во получившихся анаграмм.
    
    Пример:
    INPUT - УУУУУ
    OUTPUT - 1
    
    INPUT - ЛЕС
    OUTPUT - 6
    
    INPUT - БАОБАБ
    OUTPUT - 60
    
    Требуется код. Заранее спасибо за всё.

    4. Работа с массивами. Тут я сам попробую разобраться.

    Всё нужно сделать сегодня до 9 вечера. Еще раз заранее говорю спасибо. Также необходим человек, который завтра с 8.00 до 13.00 по Московскому времени сможет подсказать(можно и нагуглить) мне в аське по паскалю.
     
  6. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    [​IMG]
    (c)ваш кэп
     
  7. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    оилмпиада по программированию? если да то я там был)) 3 задания из 4х сделал)
     
  8. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    Она самая, задания фстудию

    Говно формула, а если нет повторяющихся? К примеру ЛЕС - тогда 3! делить на 1! получится 3 . Ныпрально, факториалы тут не причем
     
    #28 banana, 4 Dec 2009
    Last edited: 4 Dec 2009
  9. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    пыщпыщ 3!/(1!*1!*1!) = 6)))
     
  10. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    Ой да, чот я совсем балбес, формула в тему, спс
     
  11. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    нету
     
  12. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    А по памяти?
     
  13. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18