Подготовка ребёнка к ЕГЭ по информатике. Часть десятая

Публикация № 1000984

Разработка - Практика программирования

Последний уровень, часть третья.

27 задание часть 3

Предисловие

 

Планомерно подходим к году, когда ЕГЭ только появился. Стоит отметить, что условия значительно изменились с далекого 2011 года, раньше не нужно было соблюдать требование к оптимальности (не было ограничений по быстродействию и используемой памяти). Не терпится перейти к решениям!

 

Демонстрационный вариант ЕГЭ 2013 г. ИНФОРМАТИКА и ИКТ, 11 класс.

 

1. На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке – количество ячеек в камере хранения K, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

<Фамилия> <время сдачи багажа> <время освобождения ячейки>, где <Фамилия> – строка, состоящая не более чем из 20 непробельных символов; <время сдачи багажа> – через двоеточие два целых числа, соответствующие часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 символа); <время освобождения ячейки> имеет тот же формат. <Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.

Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным

номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них. Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не  печатается.

 

Пример входных данных:

3

10

Иванов 09:45 12:00

Петров 10:00 11:00

Сидоров 12:00 13:12

 

Результат работы программы на этих входных данных:

Иванов 1

Петров 2

 

Отметим прикладной контекст данной задачи. Сначала надо заполнить массив из введенных строк. Разделять значения будем по пробельным символам. Первый столбец – под фамилии, второй – под время прибытия (в минутах), третий – под время освобождения ячейки (в минутах), а четвертый – под номер выделенной ячейки. Первой строке присвоим номер ячейки, равный 1. Далее будем проверять, если время прибытия какого-либо пассажира больше, чем время освобождения ячейки другим пассажиром, то присваиваем ему номер освободившейся ячейки. Иначе просматриваем цикл, находим последнюю заполненную ячейку, и присваиваем строке этот номер +1. В выводе проверяем, если номер присвоенной ячейки меньше их количества, то выводим.

 

program numberoflaggageforpassengers;

var

a:array[1..1000, 1..4]of string;

AmountOfPassengers, AmountOfCells, FirstIndex, SecondIndex, ThirdIndex, temporary, maximum:integer;

InputStringWithData, temporaryhelper, temporaryhelper2, temporaryhelper3:string;

begin

writeln('Введите количество пассажиров = ');

readln(AmountOfPassengers);

writeln('Введите количество ячеек в камере хранения = ');

readln(AmountOfCells);

for FirstIndex := 1 to AmountOfPassengers do

begin

writeln('Введите фамилию пассажира, время сдачи багажа и время освобождения ячейки');

readln(InputStringWithData);

a[FirstIndex, 4] := '0';

for SecondIndex := 1 to Length(InputStringWithData) do

if InputStringWithData[SecondIndex] = ' ' then

begin

temporary := SecondIndex;

break;

end;

for ThirdIndex:=1 to temporary-1 do

a[FirstIndex, 1] := a[FirstIndex, 1] + InputStringWithData[ThirdIndex];

a[FirstIndex, 2] := IntToStr(StrToInt(InputStringWithData[temporary+1])*600 + StrToInt(InputStringWithData[temporary+2])*60 + StrToInt(InputStringWithData[temporary+4])*10 + StrToInt(InputStringWithData[temporary+5]));

a[FirstIndex, 3] := IntToStr(StrToInt(InputStringWithData[temporary+7])*600 + StrToInt(InputStringWithData[temporary+8])*60 + StrToInt(InputStringWithData[temporary+10])*10 + StrToInt(InputStringWithData[temporary+11]));

end;

a[1 , 4] := '1';

for FirstIndex:=1 to AmountOfPassengers do

writeln(a[FirstIndex]);

for FirstIndex := 2 to AmountOfPassengers do

begin

maximum :=1;

for ThirdIndex := FirstIndex-1 downto 1 do

begin

if StrToInt(a[ThirdIndex, 4]) > maximum then

maximum := StrToInt(a[ThirdIndex, 4]);

if a[FirstIndex, 2] >= a[ThirdIndex, 3] then

a[FirstIndex, 4] := a[ThirdIndex, 4]

else if maximum > StrToInt(a[FirstIndex, 4]) then

a[FirstIndex, 4] := IntToStr(maximum+1);

end;

end;

for FirstIndex:=1 to AmountOfPassengers do

if StrToInt(a[FirstIndex, 4]) <= AmountOfCells then

writeln(a[FirstIndex, 1], ' ', a[FirstIndex, 4]);

end.

 

Демонстрационный вариант ЕГЭ 2012 г. ИНФОРМАТИКА и ИКТ, 11 класс.

 

2. В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы, чтобы определить наиболее популярные задачи. Следует учитывать, что количество запросов в списке может быть очень велико, так как многие соревнования проходят с использованием Интернет.

Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.

На вход программе в первой строке подаётся количество пришедших запросов N. В каждой из последующих N строк записано название задачи в виде текстовой строки. Длина строки не превосходит 100 символов, название может содержать буквы, цифры, пробелы и знаки препинания.

 

Пример входных данных:

6

A+B

Крестики-Нолики

Прямоугольник

Простой делитель

A+B

Простой делитель

 

Программа должна вывести список из трёх наиболее популярных задач с указанием количества запросов по ним. Если в запросах упоминаются менее трех задач, то выведите информацию об имеющихся задачах. Если несколько задач имеют ту же частоту встречаемости, что и третья по частоте встречаемости задача, их тоже нужно вывести.

 

Пример выходных данных для приведённого выше примера входных данных:

А+В 2

Простой делитель 2

Крестики-Нолики 1

Прямоугольник 1

 

Сначала будем проверять, есть ли введённая строка в массиве из 11 возможных задач. Если нет, то будем добавлять ее в массив в первую же свободную ячейку. Если есть – то будем увеличивать количество данных встреченных строк на 1. После того, как будет заполнен массив, отсортируем его по убыванию (по количеству встреченных задач). После будем анализировать данные. Если в массиве всего одна значащая строка, то вывести ее. Если 2 – то эти две. Если более двух – будем проверять, есть ли та же частота встречаемости у строки с 4 по 11 с третьей строкой. Если есть, то выводим также и эти строки вместе с тремя первыми.

 

program countingoftheamountofthemostpopulartask;

var

disorder, indicator:boolean;

InputString, helper, SecondHelper:string;

TheAmountOfRequests, FirstIndex, SecondIndex, ThirdIndex, temporary, SecondTemporary:integer;

a:array[1..11, 1..2] of string;

begin

disorder := true;

writeln('Введите количество поступивших запросов: ');

readln(TheAmountOfRequests);

for FirstIndex := 1 to 11 do

begin

a[FirstIndex, 1] := ' ';

a[FirstIndex, 2] := '0';

end;

for FirstIndex := 1 to TheAmountOfRequests do

begin

indicator := false;

writeln('Введите запросы: ');

readln(InputString);

for SecondIndex := 1 to 11 do

begin

if a[SecondIndex, 1] = InputString then

begin

a[SecondIndex, 2] := IntToStr(StrToInt(a[SecondIndex, 2]) + 1);

indicator := true;

end;

end;

if Indicator = false then

begin

for ThirdIndex := 1 to 11 do

if a[ThirdIndex, 1] = ' ' then

begin

temporary := ThirdIndex;

break;

end;

a[temporary, 1] := InputString;

a[temporary, 2] := IntToStr(StrToInt(a[temporary, 2]) + 1);

end;

end;

while disorder do

begin

disorder:=false;

for FirstIndex := 1 to 10 do

if StrToInt(a[FirstIndex, 2]) < StrToInt(a[FirstIndex+1, 2]) then

begin

SecondHelper := a[FirstIndex, 1];

helper := a[FirstIndex, 2];

a[FirstIndex, 1] := a[FirstIndex+1, 1];

a[FirstIndex, 2] := a[FirstIndex+1, 2];

a[FirstIndex+1, 1] := SecondHelper;

a[FirstIndex+1, 2] := helper;

disorder:=true;

end;

end;

SecondTemporary := 0;

for FirstIndex:=1 to 11 do

begin

if a[FirstIndex, 1] <> ' ' then

SecondTemporary := FirstIndex;

end;

if SecondTemporary = 0 then

writeln('Ошибка');

if SecondTemporary = 1 then

writeln(a[1,1], ' ', a[1,2]);

if SecondTemporary = 2 then

begin

writeln(a[1,1], ' ', a[1,2]);

writeln(a[2,1], ' ', a[2,2]);

end;

if SecondTemporary > 2 then

begin

for SecondIndex := 4 to 11 do

if a[3, 2] = a[SecondIndex, 2] then

temporary := SecondIndex;

for SecondIndex:=1 to temporary do

writeln(a[SecondIndex, 1], ' ', a[SecondIndex, 2]);

end;

end.

 

Демонстрационный вариант ЕГЭ 2011 г. ИНФОРМАТИКА и ИКТ, 11 класс.

 

3. На вход программе подается набор символов, заканчивающийся точкой (в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка, или считывать данные из файла). Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль.

 

Если требуемое число составить невозможно, то программа должна вывести на экран слово «NO». А если возможно, то в первой строке следует вывести слово «YES», а во второй – искомое симметричное число. Если таких чисел

несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы:

 

Do not 911 to 09 do.

 

В данном случае программа должна вывести

YES

91019

 

Сначала будем считать, сколько раз встречается та или иная цифра, и записывать данные об их количестве в массив. Далее пройдемся по массиву, если количество какой-либо цифры нечетно, то она должна быть в центре искомого числа. Если таких цифр несколько, то построить требуемое число невозможно. Остальные цифры добавляем слева и справа в порядке возрастания, отталкиваясь от их количества. Если на первом месте получившегося числа «0», выдаем ошибку. Выводим число.

 

program thecreationofsymmetricnumbefrominputstrings;

var

InputString, OutputString:string;

FirstIndex, SecondIndex, oddcounter, temporary:integer;

a:array[0..9, 1..2] of integer;

begin

oddcounter := 0;

for FirstIndex:=0 to 9 do

a[FirstIndex,1]:=FirstIndex;

writeln('Введите строку');

readln(InputString);

for FirstIndex:=1 to Length(InputString) do

begin

if ord(InputString[FirstIndex]) = 48 then

a[0,2]:=a[0,2]+1;

if ord(InputString[FirstIndex]) = 49 then

a[1,2]:=a[1,2]+1;

if ord(InputString[FirstIndex]) = 50 then

a[2,2]:=a[2,2]+1;

if ord(InputString[FirstIndex]) = 51 then

a[3,2]:=a[3,2]+1;

if ord(InputString[FirstIndex]) = 52 then

a[4,2]:=a[4,2]+1;

if ord(InputString[FirstIndex]) = 53 then

a[5,2]:=a[5,2]+1;

if ord(InputString[FirstIndex]) = 54 then

a[6,2]:=a[6,2]+1;

if ord(InputString[FirstIndex]) = 55 then

a[7,2]:=a[7,2]+1;

if ord(InputString[FirstIndex]) = 56 then

a[8,2]:=a[8,2]+1;

if ord(InputString[FirstIndex]) = 57 then

a[9,2]:=a[9,2]+1;

end;

for FirstIndex := 0 to 9 do

if a[FirstIndex, 2] mod 2 <> 0 then

begin

temporary := FirstIndex;

oddcounter := oddcounter + 1;

end;

if oddcounter > 1 then

writeln('NO');

if oddcounter = 1 then

writeln('YES');

begin

OutputString := IntToStr(a[temporary, 1])*a[temporary,2];

for SecondIndex := 0 to 9 do

if (temporary <> SecondIndex) and (a[SecondIndex, 2] > 0) then

begin

OutputString := OutputString + IntToStr(a[SecondIndex, 1])*(a[SecondIndex, 2] div 2);

OutputString := IntToStr(a[SecondIndex, 1])*(a[SecondIndex, 2] div 2) + OutputString;

end;

end;

if oddcounter = 0 then

begin

writeln('YES');

OutputString := '';

for SecondIndex := 0 to 9 do

if a[SecondIndex, 2] > 0 then

begin

OutputString := OutputString + IntToStr(a[SecondIndex, 1])*(a[SecondIndex, 2] div 2);

OutputString := IntToStr(a[SecondIndex, 1])*(a[SecondIndex, 2] div 2) + OutputString;

end;

end;

if (length(OutputString) > 1) and (OutputString[1] = '0') then

writeln ('Ошибка')

else

writeln(OutputString);

end.

 

Вывод

 

Рассматривая задачи прошлых лет (2011 по 2013), можно отметить, что решения были сложнее, менее тривиальными. Именно такой тип задач обычно ставят перед программистами.

Специальные предложения

Оставьте свое сообщение

См. также

И тогда наверняка нас захватят облака Промо

Интеграция Бесплатно (free)

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    8829    0    comol    36    

Как разработать Web приложение и остаться 1С-ником

WEB Бесплатно (free)

Создание современных веб-приложений обходится для бизнеса дорого и требует постоянной актуализации различных фреймворков, что не всегда оправданно. Как применить инженерный подход и предоставить бизнес-пользователям доступ к данным 1С в удобном и защищенном веб-приложении на конференции Infostart Event 2019 Inception рассказал руководитель управления ИТ компании WiseAdvice Олег Филиппов.

18.05.2020    8493    0    comol    85    

Учимся готовить кроликов с редиской: опыт применения Rabbit MQ и Redis в интеграционных проектах

Производительность и оптимизация (HighLoad) Интеграция Бесплатно (free)

При построении мощных производительных отказоустойчивых решений для интеграции во всем мире активно используются технологии обработки очередей сообщений с помощью брокера RabbitMQ и кэш-сервера Redis. О практическом опыте использования этих технологий при построении ИТ-ландшафта, включающего системы на 1С, на конференции Infostart Event 2019 Inception рассказал Сергей Наумов.

12.05.2020    3569    0    SergeyN    3    

Как работает 1С размером 13 ТБ в условиях непрерывной разработки

Перенос данных из 1C8 в 1C8 Администрирование СУБД Бесплатно (free)

Обеспечение быстрого непрерывного обмена данными между высоконагруженными системами 1С, покрывающими всю территорию России, требует ответственного подхода к архитектуре и инструментам, используемым для обмена. Как правильно построить такую инфраструктуру и научиться ее оперативно мониторить, в своем докладе на конференции Infostart Event 2019 Inception рассказал разработчик компании «ДНС Ритейл» Максим Старков.

27.03.2020    9379    0    max_st    52    

Развитие 1С программиста Промо

Практика программирования Личная эффективность Бесплатно (free)

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    18215    0    pashamak    62    

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Математика и алгоритмы Производительность и оптимизация (HighLoad) Бесплатно (free)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    3683    0    ildarovich    7    

Использование машинного обучения для решения инцидентов. Практическое применение

Практика программирования Бесплатно (free)

Продолжаю (и заканчиваю) тему с автоматическим решением инцидентов. Перейдем от теории к практике.

25.02.2020    3171    0    Repich    9    

Технология разветвлённой разработки, использующая git, ci/cd

CI/CD Git (GitHub, GitLab, BitBucket) Методология управления разработкой EDT 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Адаптация и расширение требований к разветвлённой разработке с использованием git и ci/cd, основанное на стандартах 1С

24.02.2020    4518    0    check2    10    

Подмена заголовка 1С Промо

Универсальные функции Работа с интерфейсом Россия Бесплатно (free)

Подстановка имени базы данных в начало заголовка окон с программой 1С (конфигуратор и предприятие). Удобно при одновременной работе с большим количеством баз данных. Скрипт интересен будет как для программистов, так и для администраторов баз данных. Заголовок можно менять для любой программы, не только для 1С, для этого требуется немного исправить скрипт. Программисту 1С не составит труда переделать скрипт.

08.12.2018    10029    0    moolex    26    

CI/CD для 1С проектов, унифицировано, с кастомизацией

CI/CD Инструментарий разработчика Бесплатно (free)

Тема CI/CD в связке с 1С не нова, но многих пугает сложность использования и поддержки, необходимость обучения команды. Про то, как унифицировать и упростить поддержку сборочных конвейеров для большого количества решений, в своем докладе на конференции Infostart Event 2019 Inception рассказал начальник отдела компании BIA-Technologies Валерий Максимов.

20.02.2020    4572    0    theshadowco    11    

О синхронизации ИБ с проектом в EDT

EDT Бесплатно (free)

Немного о работе механизма синхронизации информационной базы с проектом EDT и как эти знания можно использовать для экономии времени. Или как объяснить, что проект в рабочей области эквивалентен конфигурации информационной базы, связанной с ним.

19.02.2020    2657    0    check2    2    

Автоматизация магазина на Oracle Apex. Обзор аналога 1С Промо

Интеграция Розничная торговля Розничная торговля Бесплатно (free)

Как известно 1С - лидер в автоматизации учета в постсоветском пространстве. Есть ли достойные альтернативы (не дорогие, с возможностью конфигурирования, простые) ? Однозначно да ! Предлагаю Вашему вниманию обзор "буржуйской" технологии Oracle Apex

17.05.2013    58224    0    avhrst    295    

Использование машинного обучения для решения инцидентов

Практика программирования Бесплатно (free)

История о том, как я с помощью машинного обучения сокращал затраты на техподдержку.

18.02.2020    4784    0    Repich    17    

Гарантированный обмен 1С с внешними системами через сервер очередей Microsoft MSMQ

Внешние источники данных Бесплатно (free)

Описание решения задачи организации обмена 1С с внешними системами с условием гарантированной доставки сообщений и независимой поддержкой архивов сообщений. Быстрый ответ: сервер очередей Microsoft MSMQ.

09.02.2020    6362    0    da_1c    11    

Атака сервера кнопонажималкой

Нагрузочное тестирование Инструментарий разработчика Бесплатно (free)

Чтобы убедиться, что продукт выдержит планируемую нагрузку, необходимо провести нагрузочное тестирование – написать сценарии пользовательских действий и запустить их в несколько потоков, чтобы заранее найти проблемы в бизнес-логике и «узкие места». О том, как упростить написание сценариев тестирования для конфигурации Тест-центр с помощью фреймворка Vanessa Automation на конференции Infostart Event 2019 Inception рассказал ведущий программист компании «ПервыйБИТ» Никита Грызлов.

20.01.2020    4586    0    nixel    22    

Метод Кларка-Райта. Оптимальное планирование маршрутов грузоперевозок Промо

Математика и алгоритмы Бесплатно (free)

Одной из наиболее важных задач каждого предприятия, осуществляющего доставку грузов в крупных населенных пунктах, является сокращение издержек. Возможное решение данной проблемы заключается в сокращении пробега автотранспорта и, как следствие, уменьшении расхода ГСМ. Появляются такие вопросы ... - СКОЛЬКО НУЖНО МАШИН ДЛЯ РАЗВОЗКИ КОНКРЕТНОГО ОБЪЕМА ГРУЗА ПО АДРЕСАМ ДОСТАВКИ ? - КАК РАЗБИТЬ ТОЧКИ ДОСТАВКИ НА ОПТИМАЛЬНЫЕ ПО ПРОБЕГУ И ЗАГРУЗКЕ МАШИН МАРШРУТЫ ? ... В этой статье Вы найдете один из многих способов получить ответ на эти вопросы.

10.02.2016    57589    0    mi1man    20    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    4853    0    Scorpion4eg    6    

Как программисту перейти с языка 1С Предприятие на Java

ООП Языки и среды Россия Бесплатно (free)

Как изучить язык Java, зная язык 1С.

06.01.2020    11750    0    ManyakRus    291    

Как управлять качеством кода 1С, используя платформу SonarQube

Рефакторинг и качество кода Инструментарий разработчика Бесплатно (free)

При быстром росте функциональности проводить визуальный Code-Review для обнаружения некачественного кода проблематично. О том, как автоматизировать проверку качества кода 1С с помощью платформы SonarQube на конференции Infostart Event 2019 Inception рассказал ведущий разработчик компании «Командор» Олег Тымко.

30.12.2019    6822    0    olegtymko    9    

Информер для сайта , актуальные релизы 1С + Проверка подписки ИТС. Промо

WEB Администрирование данных 1С Сервисные утилиты Бесплатно (free)

Небольшой код который встраивается на сайт и выводит информацию о последних релизах конфигураций 1С

12.09.2014    40019    0    Malfarion    34    

Проброс IP-адреса клиента в http-сервис 1С. Реализация для IIS

WEB Администрирование веб-серверов IIS Бесплатно (free)

Настраиваем веб-сервер IIS для передачи в 1С IP-адреса клиента, вызвавшего http-сервис. Разбираемся с этим же вопросом при использовании фронтэнд вебсервера на примере nginx.

01.12.2019    4882    0    -vito-    6    

Создание промышленной системы для локализации решений на базе 1С

Локализация решений Бесплатно (free)

Статья для тех, кто занимается переводом и локализацией конфигураций, или поддержкой мультиязычных решений. В данной статье, хотелось бы поделиться опытом о том, что должно быть в таких системах, как лучше устроить перевод и т.д. Что, кстати, очень важно для разработчиков мобильных решений :)

28.11.2019    5006    0    DitriX    21    

GitSync 3.0. Шпаргалка по использованию

Git (GitHub, GitLab, BitBucket) Бесплатно (free)

В новой версии GitSync помимо появления новой функциональности, изменилась строка вызова приложения и часть функциональности реализована посредством плагинов. В заметке описывается новый формат строки вызова и принцип подключения плагинов.

26.11.2019    5524    0    -vito-    25    

Проставление большого количества галочек в активном окне винды Промо

Практика программирования Сервисные утилиты Инструментарий разработчика Россия Бесплатно (free)

Как проставить большое количество галочек подряд в любом окне винды

07.11.2010    30016    0    Boris-Leleko    9    

Swagger для 1С.

OneScript WEB Бесплатно (free)

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    10120    0    botokash    35    

Подбор оборудования для информационных систем на платформе 1С

Интеграция Производительность и оптимизация (HighLoad) Бесплатно (free)

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    8000    0    jf2000    8    

Интеграция 1С с промышленным оборудованием

Интеграция Бесплатно (free)

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    7838    0    user642664_yurkeshk    12    

Алгоритм “хвост змеи для заполнения прямоугольной области”. Промо

Практика программирования Бесплатно (free)

При разработке http://infostart.ru/public/275582/ столкнулся с необходимостью распределить выделенные задания на прямоугольную область календаря. В результате родился алгоритм, который может пригодиться не только мне и не только в этой задаче.

20.06.2014    26517    0    milkers    16    

Как должна выглядеть правильная интеграция. Использование Mule ESB и RabbitMQ с 1С

Интеграция Бесплатно (free)

Чем масштабнее проект, тем сложнее настроить все связи. Каждый решает эти проблемы по-своему: кто-то пользуется конвертацией, кто-то пользуется xml и json. Руководитель управления ИТ компании WiseAdvice Олег Филиппов рассказал, как можно применить такие инструменты, как Mule ESB и RabbitMQ.

02.09.2019    8398    0    comol    3    

Кодогенерация и метагенерация в 1С

Практика программирования Инструментарий разработчика Бесплатно (free)

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    7752    0    kirovsbis    28    

Отказ от использования хранилищ 1С, переход на Git.

Инструментарий разработчика Разработка Бесплатно (free)

Валерий Максимов в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION делится опытом перехода нескольких команд (более 100 разработчиков) от использования хранилищ 1С на системы контроля версий Git.

25.07.2019    9437    0    theshadowco    31    

Предметно-ориентированное проектирование (3D) в 1С. Виртуальная машина. Промо

Математика и алгоритмы Бесплатно (free)

Проектирование программного обеспечения - это постоянная битва за простоту.

03.06.2014    39256    0    Evgen.Ponomarenko    88    

Раскручиваем Гайку: разработка ПО для роботов на платформе 1С

Разработка Бесплатно (free)

Роботы на 1С стали реальностью. Их разработкой пока на общественных началах занимаются в компании «Цифровой кот». Насколько перспективно это направление, какие возникали сложности, и какая помощь коллег требуется, участникам конференции Infostart Event 2018 рассказал руководитель и ведущий разработчик компании - Юрий Лазаренко.

23.07.2019    6453    0    TitanLuchs    36    

Бизнес-аналитика с помощью Power BI

Интеграция Бесплатно (free)

Тема статьи – это бизнес-аналитика. Возможно, кто-то этого не знает, но внедрение бизнес-аналитики – это очень больно. Когда внедряются не просто какие-то дашборды, а действительно бизнес-аналитика, происходит увольнение большого количества сотрудников, потому что выясняется, что они не выполняют те функции, которые на них возложены.

11.07.2019    11531    0    pbazeliuk    18    

Интеграция сценарного тестирования в процесс разработки

Практика программирования Инструментарий разработчика Бесплатно (free)

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    8094    0    grumagargler    7    

Из архивов Web-проектов: Основы теории цвета Промо

Работа с интерфейсом Бесплатно (free)

Казалось бы, все сделано по уму: и ТЗ адекватное, и программа написана в соответствии. А глаз не радует... Для тех кому знакома ситуация, кому важна гармония во всем, посвящается:

17.09.2013    24055    0    Evgen.Ponomarenko    13    

Управляй качеством кода 1С с помощью SonarQube

Практика программирования Россия Бесплатно (free)

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    32919    0    olegtymko    229    

Тестирование интеграций между системами

Интеграция Бесплатно (free)

Как начать разрабатывать интеграцию без реальной «второй стороны»? Как быть уверенным, что обмен не «сломается» при следующем обновлении? О том, какие подходы можно применять при тестировании интеграций и как такое тестирование может выглядеть в целом – в докладе Никиты Грызлова на конференции INFOSTART EVENT 2018 EDUCATION.

01.07.2019    9000    0    nixel    3    

По следам публикаций 1С + микроконтроллер, или 1С в железе

Интеграция Бесплатно (free)

Несколько примеров удачного применения связки микроконтроллер и 1С, в производстве. Результат - исключение человеческого фактора, экономия средств на АСУ, повышение культуры производства ))), и др...

12.06.2019    6695    0    vostok1.dz    13    

Ускорение реструктуризации таблиц Промо

Инструментарий разработчика Администрирование данных 1С Тестирование и исправление Бесплатно (free)

Иногда, может сложиться так, что на уже долгое время работающей базе нужно изменить типа реквизита, или добавить индексируемые поля, или просто добавить реквизит. Так вот после этого, нас ожидает долгий процесс (если база больших размеров)реструктуризации таблицы. В этой статье я рассмотрю алгоритм значительного сокращения времени реструктуризации.

12.09.2013    50680    0    OLEG4120    32    

Выдержки из книги Чистый код

Математика и алгоритмы Бесплатно (free)

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    9019    0    FreeArcher    105    

Быстрый ввод неудобных символов

Пользователю системы Инструментарий разработчика Бесплатно (free)

Использование Alt-кодов для ввода “[”, “]”, “”, “&”, “#”, “|”

15.04.2019    9037    0    pparshin    28    

Семнадцать мгновений весны

О жизни Бесплатно (free)

Когда сдал ЕГЭ досрочно.

15.04.2019    4295    0    vasilev2015    4    

Вывод текста в окно сообщений (Теперь и для 8.2 !!!) Промо

Практика программирования Россия Бесплатно (free)

Позволяет вывести любой текст набранный с клавиатуры в окно сообщений. Теперь работает для любых конфигураций 1с предприятие!!!

29.05.2009    39120    0    Ёпрст    208    

О времени и 1С

Практика программирования Разработка Бесплатно (free)

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    28868    0    YPermitin    60    

Быстрее чем INSERT! BULK-операции и примеры использования

Производительность и оптимизация (HighLoad) Практика программирования Внешние источники данных Перенос данных из 1C8 в 1C8 Разработка Бесплатно (free)

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    19962    0    YPermitin    40    

Как писать понятные коммиты

Практика программирования Разработка Россия Бесплатно (free)

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    11557    0    Scorpion4eg    35    

Внутреннее качество разработки конфигураций 1С Промо

Практика программирования Математика и алгоритмы Бесплатно (free)

Пиши с верой в то, что твой читатель - это маньяк с дробовиком, знающий твой домашний адрес. Размышления на тему внутреннего качества кода при разработке/доработках конфигураций 1С.

21.06.2013    37003    0    ig1082    50    

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое

Математика и алгоритмы Бесплатно (free)

Все современные технологии - это развитие и доведение до ума (или маразма) древних идей. За последнее время не придумали ничего нового - все, что мы видим, было придумано тысячи лет назад. Не является исключением и программирование, которое в сути своей является переводом с языка условностей технического задания или заявки пользователя в формализованный и абсолютно точный язык математической логики. А логику придумали (по крайней мере первыми опубликовались в ведущих научных журналах) еще древние греки.

23.01.2019    11014    0    starik-2005    43    

Разработка и сценарное тестирование с Vanessa-ADD. Установка инструментов. Запись действий пользователя и выполнение сценариев

Практика программирования Vanessa Automation Бесплатно (free)

Вторая часть цикла публикаций, посвященных Vanessa-ADD и автоматизации тестирования.

21.01.2019    27986    0    Vladimir Litvinenko    96    

Роберт Мартин: "Будущее программирования" / Robert Martin: "The Future of Programming"

Математика и алгоритмы Блоги Бесплатно (free)

Перевод-транскрибация выступления.

14.01.2019    14572    0    Vladimir Litvinenko    38    

Ректальное программирование: основы для практикующих 1С-программистов

Математика и алгоритмы Бесплатно (free)

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    40059    0    for_sale    342