Подготовка к ЕГЭ сына - школьника (по информатике)

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

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

подготовка ЕГЭ программирование Паскаль Pascal

Примеры на Паскале. Если сам отец - поддержи ! Если сам водила - посигналь !

Вступление

 

Надеюсь, не один только я готовлюсь к ЕГЭ со своим сыном-школьником! Пора рядом с разделами "Администрирование", "Сообщество" создать раздел "Подготовка к ЕГЭ". (Шутка)

Задания - из кодификатора ЕГЭ-2019 по Информатике, программы составил сын на Pascal. Что он скажет через год-другой, когда опять их увидит ? (Мы знаем).  

Задание 1 переделали по комментариям. Мне лично нравится  задание 3. Оказывается, из двоичной системы счисления очень удобно переводить в восьмеричную. Каждая триада переходит в одну цифру.

 
 Задание 1. Нахождение минимума и максимума двух, трех, четырёх данных чисел без использования массивов и циклов. (Здесь предполагается, что все числа различны)
 
 Задание 2. Нахождение всех корней заданного квадратного уравнения ax2+bx+c = 0 (Здесь рассматриваются все возможные случаи):
 
 Задание 3. Запись натурального числа в позиционной системе с основанием, меньшим или равным 10. Обработка и преобразование такой записи числа.
 
 Задание 4. Нахождение сумм, произведений элементов данной конечной числовой последовательности (или массива). Очевидно, что произведение будет достигнуто лишь изменением счетчика с присвоением ему значения «1» и изменении знаков «+» на «*»:
 
 Задание 5. Использование цикла для решения простых переборных задач (поиск наименьшего простого делителя данного натурального числа, проверка числа на простоту и т.д.).
 
 Задание 6. Заполнение элементов одномерного и двумерного массивов по заданным правилам. Предлагаю рассмотреть лишь двумерный массив, потому что в примерах ранее заполнение одномерного было показано неоднократно:
 
 Задание 7. Операции с элементами массива. Линейный поиск элемента. Вставка и удаление элементов в массиве. Перестановка элементов данного массива в обратном порядке. Суммирование элементов массива. Проверка соответствия элементов массива некоторому условию
 
 Задание 8. Нахождение второго по величине (второго максимального или второго минимального) значения в данном массиве за однократный просмотр массива.

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

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. insurgut 191 17.01.19 12:19 Сейчас в теме
Первое точно не так делается. Логика примерно такая:
МаксЧисло = -999999999;
Если ПервоеЧисло > МаксЧисло Тогда
МаксЧисло = ПервоеЧисло;
КонецЕсли;
Если ВтороеЧисло > МаксЧисло Тогда
МаксЧисло = ВтороеЧисло;
КонецЕсли;
Если ТретьеЧисло > МаксЧисло Тогда
МаксЧисло = ТретьеЧисло;
КонецЕсли;
Если ЧетвертоеЧисло > МаксЧисло Тогда
МаксЧисло = ЧетвертоеЧисло;
КонецЕсли;
Сообщить("Максимум: " + МаксЧисло);
Показать


Но ЕГЭ штука такая, им не всегда подходит более простое решение.
2. vasilev2015 1946 17.01.19 12:25 Сейчас в теме
Да, я написал: не читайте, будем переделывать. За идею спасибо, хотел переделать как ниже, но Ваш вариант лучше.

Если ПервоеЧисло > ВтороеЧисло Тогда
Если ПервоеЧисло > ТретьеЧисло Тогда
Иначе
КонецЕсли
Иначе
Если ВтороеЧисло > ТретьеЧисло Тогда
Иначе
КонецЕсли
КонецЕсли
3. insurgut 191 17.01.19 12:34 Сейчас в теме +0.2 $m
(2) поторопился, там даже от одного условия можно избавится:
МаксЧисло = ПервоеЧисло;
Если ВтороеЧисло > МаксЧисло Тогда
   МаксЧисло = ВтороеЧисло;
КонецЕсли;
Если ТретьеЧисло > МаксЧисло Тогда
   МаксЧисло = ТретьеЧисло;
КонецЕсли;
Если ЧетвертоеЧисло > МаксЧисло Тогда
   МаксЧисло = ЧетвертоеЧисло;
КонецЕсли;
Сообщить("Максимум: " + МаксЧисло);
Показать


Но меня не отпускает ощущение, что скрыт какой-то подвох в задании. :)
4. spacecraft 17.01.19 13:05 Сейчас в теме +0.2 $m
(3)
Но меня не отпускает ощущение, что скрыт какой-то подвох в задании. :)

правильные ощущения. Условия: "Нахождение минимума и максимума ..."
(2)
program min_max_of_four_numbers_without_arrays_or_cycles;
var
first_number, second_number, third_number, forth_number, min_number, max_number:real;
begin
    writeln('Последовательно введите четыре числа, которые необходимо сравнить');
    readln(first_number, second_number, third_number, forth_number);
    
    if (first_number > second_number) then
    begin
        min_number := second_number;
        max_number := first_number;
    end
    else
    begin
        min_number := first_number;
        max_number := second_number;
    end;
    if (min_number > third_number) then
        min_number := third_number;
    if (min_number > forth_number) then
        min_number := forth_number;
    if (max_number < third_number) then
        max_number := third_number;
    if (max_number < forth_number) then
        max_number := forth_number;
    writeln('Max = ', max_number);
    writeln('Mix = ', min_number);
    
end.
Показать
6. insurgut 191 17.01.19 13:13 Сейчас в теме
(4) да как бы понятно, что на минимум нужно операций по аналогии добавить, я не об этом.
10. starik-2005 2231 17.01.19 13:35 Сейчас в теме +0.2 $m
(4) а зачем так много кода?
var min_num, max_num, ent_num : double;
begin
  writeln('Последовательно введите четыре числа, которые необходимо сравнить');

  readLn(ent_num);
  min_num := ent_num;
  max_num := ent_num;

  readLn(ent_num);
  min_num := min(ent_num, min_num) ;
  max_num := max(ent_num, max_num) ;

  readLn(ent_num);
  min_num := min(ent_num, min_num) ;
  max_num := max(ent_num, max_num) ;

  readLn(ent_num);
  min_num := min(ent_num, min_num) ;
  max_num := max(ent_num, max_num) ;

  writeln('Max = ', max_num);
  writeln('Mix = ', min_num);
end.

Показать
11. vasilev2015 1946 17.01.19 13:39 Сейчас в теме
(10) я между прочим, на публикацию вдохновился после вашей заметки о пузырке. : -)))
13. spacecraft 17.01.19 13:42 Сейчас в теме
(10) Ваш код вообще не скомпилится. min() и max() находятся в отдельной библиотеке, которую не факт, что можно использовать на ЕГЭ.
14. starik-2005 2231 17.01.19 13:48 Сейчас в теме
(13) можно заменить на "if ent_num > max_num then max_num := ent_num;"
var min_num, max_num, ent_num : double;
begin
  writeln('Последовательно введите четыре числа, которые необходимо сравнить');

  readLn(ent_num);
  min_num := ent_num;
  max_num := ent_num;

  readLn(ent_num);
  if ent_num < min_num then min_num := ent_num;
  if ent_num > max_num then max_num := ent_num;

  readLn(ent_num);
  if ent_num < min_num then min_num := ent_num;
  if ent_num > max_num then max_num := ent_num;

  readLn(ent_num);
  if ent_num < min_num then min_num := ent_num;
  if ent_num > max_num then max_num := ent_num;

  writeln('Max = ', max_num);
  writeln('Mix = ', min_num);
end.
Показать
15. spacecraft 17.01.19 13:50 Сейчас в теме
(14) и? Чем этот код лучше моего? Лишним if?
16. starik-2005 2231 17.01.19 13:51 Сейчас в теме
(15) отсутствием лишних переменных и читаемостью как минимум.
17. spacecraft 17.01.19 13:53 Сейчас в теме
(16) спорное утверждение. Куча readLn внутри когда не способствуют лучшей читаемости этого кода.
18. starik-2005 2231 17.01.19 13:57 Сейчас в теме
(17) каждому свое. Веток ветвления у Вас тоже 6, если считать блок "else". Блоки зачем-то, которые совершенно не нужны. Лишние переменные - это всегда минус баллы на олимпиадах. Но ведь главное, чтобы работало, да? А вот проверяющим ЕГЭ читаемость будет важнее.
45. vadim1011985 82 17.01.19 17:57 Сейчас в теме
(2)
По моему это самый простой и короткий способ искать мин и макс а вообще если есть встроенная функция max и min то тогда код получается еще короче т.е. сама функция не нужна

Function Max (a,b)
begin
If a>b then
return a
else
return b;
end;

Procedure FindMaxValue ()
var maxValue,a,b,c,d:int;
begin

writeln('Последовательно введите четыре числа, которые необходимо сравнить');
readln(a, b, c, d);

maxValue = Max (Мax(a,b),Мax(с,d));

end;
starik-2005; PowerBoy; +2 Ответить
46. starik-2005 2231 18.01.19 10:26 Сейчас в теме
(45) в идеале что-то такое получается:
var a,b,c,d : double;
begin
  writeln('Последовательно введите четыре числа, которые необходимо сравнить');
  readLn(a,b,c,d);
  writeLn('Max: ', max(max(a,b),max(c,d)));
  writeLn('Min: ', min(min(a,b),min(c,d)));
end.
48. roman77 153 18.01.19 16:38 Сейчас в теме
(1) В контрольных заданиях всё подробно расписано. В последней задаче за простое решение (перебором) дают 2 балла, за сложное 4 балла. Все методисты и здравомыслящие люди советуют решать на 2 балла, ибо при сложном решении есть высокая вероятность накосячить и не получить ни одного бала.
50. addinaq 20.01.19 16:06 Сейчас в теме
(1)
Попарное сравнение может
Перем Первая,Вторая,Третья,Четвертая

?(Первая>Вторая,ИскомоеПервойПары=Первая,ИскомоеПервойПары=Вторая);
?(Третья>Четвертая,ИскомоеВторойПары=Третья,ИскомоеВторойПары=Четвертая);
Максимум = ?(ИскомоеПервойПары>ИскомоеВторойПары,ИскомоеПервойПары,ИскомоеВторойПары);

?(Первая<Вторая,ИскомоеПервойПары=Первая,ИскомоеПервойПары=Вторая);
?(Третья<Четвертая,ИскомоеВторойПары=Третья,ИскомоеВторойПары=Четвертая);
Минимум = ?(ИскомоеПервойПары<ИскомоеВторойПары,ИскомоеПервойПары,ИскомоеВторойПары);
Показать
5. insurgut 191 17.01.19 13:10 Сейчас в теме
Задание 8 (на паскаль думаю сами интерпретируете):
	НачальноеЧисло = Формат(ТекущаяДата(), "ДФ=HHmmss");
	ГСЧ = Новый ГенераторСлучайныхЧисел(НачальноеЧисло);
	
	//генерация массива
	МассивЧисел = Новый Массив;
	РазмерМассива = 9;
	Сообщить("Массив:");
	Для Сч = 0 По РазмерМассива - 1 Цикл
		СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 235959);
		МассивЧисел.Добавить(СлучайноеЧисло);
		Сообщить(СлучайноеЧисло);
	КонецЦикла;
	
	//поиск максимальных
	ПервоеМакс = 0;
	ВтороеМакс = 0;
	Для Сч = 0 По РазмерМассива - 1 Цикл
		Если МассивЧисел[Сч] > ПервоеМакс Тогда
			ВтороеМакс = ПервоеМакс;
			ПервоеМакс = МассивЧисел[Сч];
		КонецЕсли;
	КонецЦикла;
	Сообщить("Первое: " + ПервоеМакс);
	Сообщить("Второе: " + ВтороеМакс);
Показать
7. Man4kin 17.01.19 13:18 Сейчас в теме
(5) Без использования массивов и циклов же ?
8. insurgut 191 17.01.19 13:18 Сейчас в теме
(7) за однократный проход массива же?
9. vasilev2015 1946 17.01.19 13:33 Сейчас в теме
(5) Когда элемент МассивЧисел[Сч] сравниваем с ПервоеМакс и ВтороеМакс, то элемент может изменить ВтороеМакс или обе переменные, а здесь только одно условие.
12. insurgut 191 17.01.19 13:39 Сейчас в теме
(9) если честно, то ничего не понял :) элемент массива не сравнивается со вторым максимальным, только с первым. Второе максимальное сравнивать ни с чем не нужно.
21. vasilev2015 1946 17.01.19 14:13 Сейчас в теме
(12) из массива {2,1,5,4,3} нужно выбрать второй по-минимуму 2 или второй по-максимуму 4. Код из статьи мы проверяли.
22. insurgut 191 17.01.19 14:19 Сейчас в теме
(21) и все равно не пойму сути вашего замечания - что не так то? Алгоритм находит второе максимальное число в массиве (доработать под второе минимальное сложности не составит). Или вас смущает вывод сообщения о первом максимальном? Закомментируем его, так и быть. Если не нравится генерация массива - так это для проверки работоспособности. Можно задать фиксированным массив, суть не поменяется.
   
    //генерация массива
    РазмерМассива = 5;
    МассивЧисел = Новый Массив;
    МассивЧисел.Добавить(2);
    МассивЧисел.Добавить(1);
    МассивЧисел.Добавить(5);
    МассивЧисел.Добавить(4);
    МассивЧисел.Добавить(3);
    
    //поиск второго максимального числа
    ПервоеМакс = 0;
    ВтороеМакс = 0;
    Для Сч = 0 По РазмерМассива - 1 Цикл
        Если МассивЧисел[Сч] > ПервоеМакс Тогда
            ВтороеМакс = ПервоеМакс;
            ПервоеМакс = МассивЧисел[Сч];
        КонецЕсли;
    КонецЦикла;
    Сообщить("Второе: " + ВтороеМакс);
Показать
26. vasilev2015 1946 17.01.19 14:50 Сейчас в теме
(22) Мы разошлись в понимании "второй максимальный" я себе представлял, что среди всего массива выбрать максимум, убрать его из рассмотрения, выбрать еще раз максимум - это будет ответ. А Вы представляете, что максимум должен быть локальным.Проверю еще раз условия задачи. В любом случае, спасибо.
35. insurgut 191 17.01.19 16:24 Сейчас в теме
(26) все я понял, где собака зарыта :)
Исправленный код:
	НачальноеЧисло = Формат(ТекущаяДата(), "ДФ=HHmmss");
	ГСЧ = Новый ГенераторСлучайныхЧисел(НачальноеЧисло);
	
	//генерация массива
	МассивЧисел = Новый Массив;
	РазмерМассива = 9;
	Сообщить("Массив:");
	Для Сч = 0 По РазмерМассива - 1 Цикл
		СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 235959);
		МассивЧисел.Добавить(СлучайноеЧисло);
		Сообщить(СлучайноеЧисло);
	КонецЦикла;
	
	//поиск максимальных
	ПервоеМакс = 0;
	ВтороеМакс = 0;
	Для Сч = 0 По РазмерМассива - 1 Цикл
		Если МассивЧисел[Сч] > ПервоеМакс Тогда
			ВтороеМакс = ПервоеМакс;
			ПервоеМакс = МассивЧисел[Сч];
		ИначеЕсли МассивЧисел[Сч] > ВтороеМакс Тогда
			ВтороеМакс = МассивЧисел[Сч];
		КонецЕсли;
	КонецЦикла;
	Сообщить("Первое: " + ПервоеМакс);
	Сообщить("Второе: " + ВтороеМакс);
Показать


Пример №1



Пример №2
39. vasilev2015 1946 17.01.19 16:36 Сейчас в теме
(35) да, у нас также получилось. Только мы не использовали, что числа неотрицательные, поэтому присваиваем не нули, а первые элементы.
41. insurgut 191 17.01.19 16:54 Сейчас в теме
(39) ну вместо 0 можно присвоит обоим переменным значение первого элемента массива, а сам цикл начать со второго элемента - результат будет тем же, а условий меньше. Ну и в самом цикле поиска в вашем примере на одно условие больше, можно обойтись всего двумя.
19. sergathome 17.01.19 14:01 Сейчас в теме
Оказывается, из двоичной системы счисления очень удобно переводить в восьмеричную. Каждая триада переходит в одну цифру.

Да, немногие помнют ужо линейку ДВК и славного её дитёныша БК-0010. Там оно изо всех щелей ;)
20. starik-2005 2231 17.01.19 14:01 Сейчас в теме
А вот по заветам Никлауса Вирта - процедурное программирование!
procedure minmax(min, max, ent : double)
begin
  readLn(ent);
  if ent > max them max := ent;
  if ent < min them min := ent;
end;

var min_num, max_num, ent_num : double;
begin
  writeln('Последовательно введите четыре числа, которые необходимо сравнить');

  readLn(ent_num);
  min_num := ent_num;
  max_num := ent_num;

  minmax(min_num, max_num, ent_num);
  minmax(min_num, max_num, ent_num);
  minmax(min_num, max_num, ent_num);

  writeln('Max = ', max_num);
  writeln('Mix = ', min_num);
end.
Показать
44. starik-2005 2231 17.01.19 17:51 Сейчас в теме
(20) кстати, рекурсия - это не цикл!

procedure minmax(i: integer; min, max, ent : double)
begin
  if i < 4 then begin
    readLn(ent);
    if (ent > max) or not i then max := ent;
    if (ent < min) or not i then min := ent;
    minmax(i + 1, min_num, max_num, ent_num);
  end 
  else begin
    writeln('Max = ', max);
    writeln('Mix = ', min);
  end;
end;

var min_num, max_num, ent_num : double;
begin
  writeln('Последовательно введите четыре числа, которые необходимо сравнить');
  minmax(0, min_num, max_num, ent_num);
end.
Показать
23. starik-2005 2231 17.01.19 14:19 Сейчас в теме
Кстати, по поводу квадратного уравнения, то эту задачу вроде бы все должны были в школе еще решать:
введите а, б, ц
д = б * б - 4 * а * ц
если д < 0 тогда Нет корней!
корень1 = (-б + корень(д)) / (2 * а)
если д > 0 тогда корень2 = (-б - корень(д)) / (2 * а)
24. starik-2005 2231 17.01.19 14:24 Сейчас в теме
Кстати, есть такой ресурс - codewars.com - там много интересных задачек.
27. vasilev2015 1946 17.01.19 14:51 Сейчас в теме
(24) у меня узкие интересы: нужно подготовить к ЕГЭ, но ресурс посмотрю.
25. vadim1011985 82 17.01.19 14:42 Сейчас в теме
Тут на инфостарте есть статья по сортировке массивов там есть "Гномья сортировка" которая за один цикл (без вложенных) сортирует массив , поэтому поиск 2-го максимума или минимума можно построить на ней , тогда 1, 2-ой элемент будут 2-мя минимумами , а последний и предпоследний 2-мя максимумами


4. Алгоритм "Гномья сортировка".

Алгоритм так странно назван благодаря голландскому ученому Дику Груну.

Гномья сортировка основана на технике, используемой обычным голландским садовым гномом (нидерл. tuinkabouter). Это метод, которым садовый гном сортирует линию цветочных горшков. По существу он смотрит на следующий и предыдущий садовые горшки: если они в правильном порядке, он шагает на один горшок вперёд, иначе он меняет их местами и шагает на один горшок назад. Граничные условия: если нет предыдущего горшка, он шагает вперёд; если нет следующего горшка, он закончил.
Дик Грун

Вот собственно и все описание алгоритма "Гномья сортировка". Что интересно, алгоритм не содержит вложенных циклов, а сортирует весь массив за один проход.



Функция ГномьяСортировка(Знач Массив)
    
    i = 1;
    j = 2;
    
    Пока i < Массив.Количество() Цикл // Сравнение < - Сортировка по возрастанию, > - по убыванию   
        
        Если Массив[i-1]  
            i = j;
            j = j + 1;
        Иначе
            Замена = Массив[i];
            Массив[i] = Массив[i - 1];
            Массив[i - 1] = Замена;            
            i = i - 1;
            Если i = 0 Тогда
                i = j;
                j = j + 1;
            КонецЕсли;            
        КонецЕсли;        
    КонецЦикла;    
    
    Возврат Массив;    
КонецФункции
Показать



Ссылка на статью
32. herfis 379 17.01.19 15:53 Сейчас в теме
(25)
сортирует весь массив за один проход

Очень лукавая формулировка. Цикл-то один, но "одним проходом" это назвать никак нельзя.
36. insurgut 191 17.01.19 16:30 Сейчас в теме
(25) мы алгоритмы сортировок в институте изучали :)
38. herfis 379 17.01.19 16:35 Сейчас в теме
(25) Слыхал что когда нужно быстро на коленке сообразить хоть какую-то сортировку, то сортировка Шелла хороший кандидат. Типа золотой середины между более эффективными но более сложными алгоритмами и более медленными "учебными" алгоритмами.
28. capitan 1779 17.01.19 14:57 Сейчас в теме
29. starik-2005 2231 17.01.19 15:27 Сейчас в теме
(28) 30 секунд, однако... Странные задачи.
30. capitan 1779 17.01.19 15:47 Сейчас в теме
(29)Это из серии загадок, на которые дети отвечают за пару секунд, а взрослые — за пару часов
давайте сложнее
31. Octopus 337 17.01.19 15:50 Сейчас в теме
34. capitan 1779 17.01.19 16:12 Сейчас в теме
(31)
(33)
Гугл в помощь ) Я тоже не решил
33. vasilev2015 1946 17.01.19 16:04 Сейчас в теме
37. insurgut 191 17.01.19 16:32 Сейчас в теме
40. SlavaKron 17.01.19 16:40 Сейчас в теме
(30) В массиве дат, отсортированном по убыванию.
42. herfis 379 17.01.19 17:14 Сейчас в теме
43. starik-2005 2231 17.01.19 17:18 Сейчас в теме
(30) сначала думал, что в календаре, оказалось, что в словаре. Ну тоже неплохо...
47. roman77 153 18.01.19 16:33 Сейчас в теме
А почему такая дискриминация - только сыновья? У меня дочка в прошлом году готовилась к информатике и ИкТ, успешно сдала. Не буду поддерживать :)
49. vasilev2015 1946 20.01.19 12:12 Сейчас в теме
(47) Исправил в статье https://infostart.ru/public/983886/. Вместо "Отец, Сын" вставил "Родитель, Ребенок".
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37870    unichkin    74    

«Варп-двигатель» для «среза последних»

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

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

10.08.2020    2959    hobi    45    

Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

29.06.2020    9699    WildHare    33    

Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

22.06.2020    10517    WildHare    23    

Вспомогательные инструкции в коде 1С Промо

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

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    31093    tormozit    104    

Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

15.06.2020    15371    WildHare    34    

JSON в запросах DaJet QL

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

Практические примеры работы с JSON непосредственно в языке запросов. Перенос курсов валют между УТ и БП. Требуется SQL Server 2016 и выше.

24.04.2020    3934    zhichkin    6    

Визионное программирование

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

Новый способ программирования и его практическая демонстрация.

22.04.2020    4618    mkalimulin    111    

Оформление и рефакторинг сложных логических выражений Промо

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

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    78565    tormozit    131    

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

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

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

25.02.2020    4331    Repich    9    

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

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

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

18.02.2020    7024    Repich    17    

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

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

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

13.01.2020    7088    Scorpion4eg    8    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    49152    tormozit    48    

Приватный блокчейн и 1С популярно

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

Две предыдущие публикации на эту тему были сфокусированы преимущественно на технической стороне вопроса. Кроме того, их содержание оказалось понятным не каждому специалисту. В этой статье я постараюсь обяснить для всех и, что говорится, «на пальцах»: что такое приватный блокчейн, когда и зачем его следует применять и на что обратить внимание при использовании этой технологии в 1С.

02.09.2019    6229    mkalimulin    140    

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

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

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

26.08.2019    9134    kirovsbis    28    

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

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

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

08.07.2019    9381    grumagargler    7    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45606    tormozit    74    

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

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

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

07.07.2019    42612    olegtymko    234    

Выгрузка документа по условию

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

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16222    m-rv    2    

Как прикрутить ГУИД к регистру сведений

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

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

16.04.2019    20629    m-rv    17    

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

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

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

17.10.2018    21610    pashamak    63    

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

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

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

15.04.2019    4724    vasilev2015    4    

О времени и 1С

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

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

01.04.2019    37976    YPermitin    61    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    31404    m-rv    21    

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф")

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

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф"). Данная статья будет полезна интеграторам, программистам, тем кто работает (интегрирует, разрабатывает) различное ТО либо железки. Версия и релиз технологической платформы не имеет значения.

17.03.2019    6679    dmarenin    1    

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

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

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

09.03.2019    26006    YPermitin    40    

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

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

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

06.03.2019    12986    Scorpion4eg    35    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    28532    itriot11    34    

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

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

Поиск выигрышной стратегии, завершающая статья.

22.02.2019    5822    vasilev2015    0    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

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

27.01.2016    77277    Serginio    110    

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

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

Исправление ошибок в программе, часть вторая.

20.02.2019    5843    vasilev2015    3    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35854    ids79    40    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    29633    grumagargler    28    

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

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

Шифрование и дешифрование информации. Закон Фано

05.02.2019    5657    vasilev2015    1    

Расширяем свой багаж

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

Алгоритм решения возможной нетиповой задачи на собеседовании.

29.01.2019    6421    scientes    15    

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

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

Решение систем логических уравнений повышенного уровня сложности.

25.01.2019    6355    vasilev2015    0    

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

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

Алгоритмы рекурсии, логические задачи. Подготовка к ЕГЭ.

22.01.2019    7592    vasilev2015    0    

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

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

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

21.01.2019    37368    Vladimir Litvinenko    96    

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

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

Примеры на Паскале. Если сам родитель* - поддержи ! Если сам водила - посигналь !

19.01.2019    5929    vasilev2015    0    

Быстрая отладка экранных форм документов и справочников

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

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

18.12.2018    7126    milkers    19