Задать вопрос
  • Как решить задачу на паскале?

    AnnTHony
    @AnnTHony
    Интроверт
    Удачным периодом Вася считает такой период, когда рейтинг не понижался, а провальным, соответственно, когда рейтинг не рос. Наиболее удачным периодом Вася считает такой удачный период, на котором произошел наибольший рост рейтинга, а наиболее неудачным считает такой период, на котором произошло наибольшее падение. Помогите Васе по исходным данным найти изменения рейтинга за эти периоды.

    Из этого следует, что нужно проходить входной массив чисел от начала до конца. Если каждое последующее число больше предыдущего - значит это один из удачных периодов. Запоминаем первое число, с которого начался рост показателей, и последнее, на котором он стал снижаться. Разница между ними и будет показателем роста рейтинга.
    Ответ написан
  • Какие есть хорошие книги для начинающего программиста под Linux?

    AnnTHony
    @AnnTHony
    Интроверт
    Логично для начала почитать что такое Linux:
    1
    2
    Дальше уже само программирование и языки:
    Чарльз Петцольд Код
    Стивен Прата C / C++
    Марк Саммерфилд Qt / Python
    Еще можно смотреть в сторону Ruby, Perl и других кросс-платформенных языков, но с ними я не знаком и поэтому ничего посоветовать не могу.
    Если есть знания по Pascal, то можно Lazarus.
    Ответ написан
    Комментировать
  • Как сделать сетевой принтер из старого принтера?

    AnnTHony
    @AnnTHony
    Интроверт
    Если принтеры не совсем древние, то попробуйте установить XP-ные драйвера в режиме совместимости. С 7-й Виндой получалось.
    Или с виртуалкой как-нибудь поломать голову.
    Ответ написан
  • Подключение камер к web и бекапы. Куда копать?

    AnnTHony
    @AnnTHony
    Интроверт
    У нас был закуплен регистратор вместе с ip-камерами (штук 10, уже не помню). Рейд "зеркало" на 3гб, хватало на 30 дней, как раз под регламент.
    Написать интерфейс с просмотром и записью тяжеловато будет мне кажется.
    Ответ написан
    Комментировать
  • Как в питоне получить промежутки времени?

    AnnTHony
    @AnnTHony
    Интроверт
    Как получить промежуток времени "сегодня"? Т.е. с сегодня нуля времени до текущую секунду?
    А текущий месяц? С 0 часов, 1 даты, этого месяца?

    Не уверен что понял все правильно...
    Модуль datetime в помощь.
    import datetime
    datetime.datetime.now()
    Ответ написан
  • Как закрыть приложение, открытое через программу на C#/WPF?

    AnnTHony
    @AnnTHony
    Интроверт
    Попробуйте так или вот еще.
    Копать в сторону вот этого
    Ответ написан
    Комментировать
  • Неожиданно зависает Windows 7, как найти в чем дело?

    AnnTHony
    @AnnTHony
    Интроверт
    Тесты и исправления ошибок HDD
    Тест оперативной памяти
    Попробуйте отнести на диагностику, там быстрее разберутся.
    Ответ написан
    Комментировать
  • Почему некорректно работает программа на Delphi ?

    AnnTHony
    @AnnTHony
    Интроверт
    Предложу свой вариант через массив:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      rect: array[0..2] of real;
      tmp, p, s: real;
      i: integer;
    begin
      rect[0] := StrToFloat(Edit1.Text);
      rect[1] := StrToFloat(Edit2.Text);
      rect[2] := StrToFloat(Edit3.Text);
    
      if (rect[0] = rect[1]) and (rect[1] = rect[2]) then
        begin
          label1.Caption := 'Равносторонний';
          Exit;
        end;
      if (rect[0] = rect[1]) or (rect[1] = rect[2]) or (rect[0] = rect[2]) then
        begin
          label1.Caption := 'Равнобедренный';
          Exit;
        end;
    
      //сортируем массив
      for i := 0 to 1 do
        begin
          tmp := rect[i + 1];
          if (rect[i] > rect[i + 1]) then
            begin
              rect[i + 1] := rect[i];
              rect[i] := tmp;
            end;
        end;
      if (rect[0] > rect[1]) then
            begin
              tmp := rect[1];
              rect[1] := rect[0];
              rect[0] := tmp;
            end;
    
      if (sqrt(rect[0] * rect[0] + rect[1] * rect[1]) = rect[2]) then
        begin
          label1.Caption := 'Прямоугольный';
          Exit;
        end;
    
      if (rect[0] * rect[0] + rect[1] * rect[1] > rect[2] * rect[2]) then
        begin
          label1.Caption := 'Тупоугольный';
          p := (rect[0] + rect[1] + rect[2]) / 2;
          s := sqrt(p * (p - rect[0]) * (p - rect[1]) * (p - rect[2]));
          label1.Caption := 'Площадь: ' + FloatToStr(s) + #13;
          for i := 0 to 2 do
            label1.Caption := label1.Caption + FloatToStr(rect[i]) + #13;
          Exit;
        end;
    end;
    Ответ написан
    1 комментарий
  • По каким источникам можно выучить Паскаль для сдачи ЕГЭ (с нуля)?

    AnnTHony
    @AnnTHony
    Интроверт
    Странно почему никто Фаронова не предложил?! Основы вполне можно освоить даже до конца календарного года. А до конца учебного практиковаться.
    Также рекомендую Осипова (но он про Delphi пишет), качественно дает основы и синтаксис языка.
    Удачи!

    P.S.: Google, первая ссылка на .pdf
    Ответ написан
    1 комментарий
  • raid 1+0 или raid 10 (adm)

    AnnTHony
    @AnnTHony
    Интроверт
    RAID 0+1
    Под RAID 0+1 может подразумеваться в основном два варианта:

    два RAID 0 объединяются в RAID 1;
    в массив объединяются три и более диска, и каждый блок данных записывается на два диска данного массива; таким образом, при таком подходе, как и в «чистом» RAID 1, полезный объём массива составляет половину от суммарного объёма всех дисков (если это диски одинаковой ёмкости).
    RAID 10 (1+0)

    Схема архитектуры RAID 10
    RAID 10 — зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска (и всегда чётное количество). RAID 10 объединяет в себе высокую отказоустойчивость и производительность.

    Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных вполне обосновано тем, что массив будет выведен из строя после выхода из строя всех накопителей в одном и том же массиве. При одном вышедшем из строя накопителе, шанс выхода из строя второго в одном и том же массиве равен 1/3*100=33%. RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3*100=66%, однако так как накопитель в массиве с уже вышедшим из строя накопителем уже не используется, то шанс того, что следующий накопитель выведет из строя массив целиком равен 2/2*100=100%.


    ...вот что говорит Википедия.
    Если простым языком, в первом случае два диска "зеркалятся" между собой, во втором - два массива.
    Тут нужно исходить из Ваших потребностей (либо каких-то правил/требований/инструкций организации) в защите от потери данных и, соответственно, от важности этих данных.
    Для какой-нибудь базы 1C будет достаточно и 0+1.
    Ответ написан
    Комментировать
  • Как лучше парсить excel файл?

    AnnTHony
    @AnnTHony
    Интроверт
    Я писал макрос в самом экселе (на VBA), открывал по очереди файлы, искал нужные строки и копировал в свой документ. (подробных примеров с открытием и считыванием файлов в сети достаточно)
    Инструмент можно использовать любой, каким умеете пользоваться / нравится / работает с экселем.
    Можно просто вытащить эти строки и потом на их основании сформировать файл. Тут как удобнее уже Вам. (такое бы провернул на Delphi или VB).
    В самом экселе есть функция ВПР, но придется прописывать формулу для каждого документа. Для этого может сгодиться и Python.
    Ответ написан
    Комментировать
  • Как заполнить данными таблицу в 1C 7.7?

    AnnTHony
    @AnnTHony Автор вопроса
    Интроверт
    Идентификатор таблицы - "Период"

    Период.НоваяКолонка("Период");
    Период.НоваяСтрока();
    Период.Период = "1";
    Период.НоваяСтрока();
    Период.Период = "2";
    Период.НоваяСтрока();
    Период.Период = "3";
    Ответ написан
    Комментировать