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

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

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

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

24 задание ЕГЭ часть 2

«Исправление ошибок в программе»

Предисловие

 

Вторая и заключительная статья по теме. Здесь будут представлены задания с 2009 по 2015 годы. Перейдем к рассмотрению задач!

 

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

 

1. На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

 

Бейсик

Python

CONST n = 4

count = 0

maximum = 999

FOR I = 1 TO n

INPUT x

IF x mod 2 <> 0 THEN

count = count + 1

IF x > maximum THEN

maximum = I

END IF

END IF

NEXT I

IF count > 0 THEN

PRINT count

PRINT maximum

ELSE

PRINT "NO"

END IF

n = 4

count = 0

maximum = 999

for i in range(1, n + 1):

x = int(input())

if x % 2 != 0:

count += 1

if x > maximum:

maximum = i

if count > 0:

print(count)

print(maximum)

else:

print("NO")

Алгоритмический язык

Паскаль

алг

нач

цел n = 4

цел i, x

цел maximum, count

count := 0

maximum := 999

нц для i от 1 до n

ввод x

если mod(x, 2) <> 0 то

count := count + 1

если x > maximum то

maximum := i

все

все

кц

если count > 0 то

вывод count, нс

вывод maximum

иначе

вывод "NO"

все

кон

const n = 4;

var i, x: integer;

var maximum, count: integer;

begin

count := 0;

maximum := 999;

for i := 1 to n do

begin

read(x);

if x mod 2 <> 0 then

begin

count := count + 1;

if x > maximum then

maximum := i

end

end;

if count > 0 then

begin

writeln(count);

writeln(maximum)

end

else

writeln('NO')

end.

С++

#include <stdio.h>

int main(void)

{

const int n = 4;

int i, x, maximum, count;

count = 0;

maximum = 999;

for (i = 1; i <= n; i++) {

scanf("%d",&x);

if (x % 2 != 0) {

count++;

if (x > maximum)

maximum = i;

}

}

if (count > 0) {

printf("%d\n", count);

printf("%d\n", maximum);

}

else

printf("NO\n");

}

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе последовательности:

2 9 4 3

2. Приведите пример такой последовательности, содержащей хотя бы одно нечётное число, что, несмотря на ошибки, программа печатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е приведите правильный вариант строки.

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

 

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

 

1. Разберемся, как выполняется данный алгоритм для данной последовательности:

 

Шаг 1

count = 0

maximum = 999

X = 2

Шаг 2

count = 0

maximum = 999

X = 9

Шаг 3

count = 1

maximum = 999

X = 4

Шаг 4

count = 1

maximum = 999

X = 3

Шаг 5

count = 2

maximum = 999

Печать «2»

Шаг 6

Печать «999»

 

 

 

2. Например, 2 4 6 9. Убедимся:

 

Шаг 1

count = 0

maximum = 999

X = 2

Шаг 2

count = 0

maximum = 999

X = 4

Шаг 3

count = 0

maximum = 999

X = 6

Шаг 4

count = 0

maximum = 999

X = 999

Шаг 5

count = 1

maximum = 999

Печать «1»

Шаг 6

Печать «999»

 

 

 

3. Первая ошибка допущена в шестой строке «maximum := 999;» Очевидно, что т. к. числа ввода неотрицательные, необходимо, чтобы максимум был меньше наименьшего неотрицательного (т. е., 0). Поэтому корректная строка:

maximum := -1;

И следовательно, вторая ошибка допущена в четырнадцатой строке: «maximum := i». В ответе нужен не индекс этого числа, а само число. Т.е. должно быть «maximum := x».

 

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

 

2. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)

 

Бейсик

Алгоритмический язык

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N >= 10

digit = N MOD 10

IF digit > max_digit THEN

max_digit = digit

END IF

N = N \ 10

WEND

PRINT max_digit

END

алг

нач

цел N, digit, max_digit

ввод N

max_digit := 9

нц пока N >= 10

digit := mod(N, 10)

если digit > max_digit то

max_digit := digit

все

N := div(N, 10)

кц

вывод max_digit

кон

С++

Паскаль

#include<stdio.h>

int main()

{

long int N;

int digit, max_digit;

scanf("%ld", &N);

max_digit = 9;

while (N >= 10)

{

digit = N % 10;

if (digit > max_digit)

max_digit = digit;

N = N /10;

}

printf("%d", max_digit);

}

var N: longint;

digit, max_digit: integer;

begin

readln(N);

max_digit := 9;

while N >= 10 do

begin

digit := N mod 10;

if digit > max_digit then

max_digit := digit;

N := N div 10;

end;

writeln(max_digit);

end.

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе числа 423.

2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, – приведите правильный вариант строки.

 

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

 

1. Разберемся, как выполняется данный алгоритм для числа 423:

 

Шаг 1

N = 423

Digit = 3

N= 42

Шаг 2

N = 42

Digit = 2

N = 4

Шаг 3

Печать «9»

 

 

 

2. Первая ошибка допущена в пятой строке «max_digit := 9;» Очевидно, что минимальная цифра – 0. Поэтому правильная строка выглядит следующим образом: «max_digit := 0;»

Вторая ошибка допущена в шестой строке: «while N >= 10 do». Цикл должен закончиться, когда N будет равным 0. Т.е. он выполняется, пока N > 0:

«while N > 0 do».

 

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

 

3.

 

 

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

 

Бейсик

Алгоритмический язык

INPUT x

IF x>=-3 THEN

IF x<=9 THEN

IF x>1 THEN

PRINT "не принадлежит"

ELSE

PRINT "принадлежит"

ENDIF

ENDIF

ENDIF

END

алг

нач

вещ x

ввод x

если x>=-3 то

если x<=9 то

если x>1 то

вывод 'не принадлежит'

иначе

вывод 'принадлежит'

все

все

все

кон

С++

Паскаль

void main(void)

{

float x;

scanf("%f",&x);

if(x>=-3)

if(x<=9)

if(x>1)

printf("не принадлежит");

else

printf("принадлежит");

}

var x: real;

begin

readln(x);

if x>=-3 then

if x<=9 then

if x>1 then

write('не принадлежит')

else

write('принадлежит')

end.

 

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –3, 1, 5 и 9) принадлежат заштрихованным областям (B и D соответственно).

 

Область

Условие

1

(x >= –3)

Условие

2

(x <= 9)

Условие

3

(x > 1)

Программа

выведет

Область

обрабатывается

верно

A

 

 

 

 

 

B

 

 

 

 

 

C

 

 

 

 

 

D

 

 

 

 

 

E

 

 

 

 

 

 

В столбцах условий укажите «Да», если условие выполнится; «Нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

 

2. Укажите, как нужно доработать программу, чтобы не было случаев её

неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

 

1. Заполним таблицу:

 

Область

Условие

1

(x >= –3)

Условие

2

(x <= 9)

Условие

3

(x > 1)

Программа

выведет

Область

обрабатывается

верно

A

нет

-

-

-

нет

B

да

да

нет

принадлежит

да

C

да

да

да

Не принадлежит

да

D

да

да

да

Не принадлежит

нет

E

да

нет

-

-

нет

 

2. Будем проверять принадлежность двум отрезкам (для определения границ воспользуемся оператором «и»), используя оператор «или»:

var x: real;

begin

readln(x);

if ((x >= -3) and (x <= 1)) or ((x >= 5) and (x <= 9)) then

writeln('Принадлежит')

else

writeln('Не принадлежит');

end.

 

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

 

4.

 

 

 

 

 

 

 

 

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

 

Бейсик

Алгоритмический язык

INPUT x, y

IF y>=x THEN

IF y>=0 THEN

IF y<=2-x*x THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

алг

нач

вещ x,y

ввод x,y

если y>=x то

если y>=0 то

если y<=2-x*x то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

кон

С++

Паскаль

void main(void){

float x,y;

scanf("% f % f",&x,&y);

if (y>=x)

if (y>=0)

if (y<=2-x*x)

printf("принадлежит");

else

printf("не принадлежит");

}

var x,y: real;

begin

readln(x,y);

if y>=x then

if y>=0 then

if y<=2-x*x then

write('принадлежит')

else

write('не принадлежит')

end.

 

 

 

 

 

 

 

 

 

 

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H). Точки, лежащие на границах областей, отдельно не рассматривать.

 

Область

Условие 1

(y>=x)

Условие 2

(y>=0)

Условие 3

(y<=2–x*x)

Программа

выведет

Область

обрабатывается верно

A

 

 

 

 

 

B

 

 

 

 

 

C

 

 

 

 

 

D

 

 

 

 

 

E

 

 

 

 

 

F

 

 

 

 

 

G

 

 

 

 

 

H

 

 

 

 

 

 

В столбцах условий укажите "да", если условие выполнится, "нет" если условие не выполнится, "—" (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв». В последнем столбце укажите "да" или "нет".

 

2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

 

1. Заполним таблицу:

 

Область

Условие 1

(y>=x)

Условие 2

(y>=0)

Условие 3

(y<=2–x*x)

Программа

выведет

Область

обрабатывается верно

A

да

да

нет

Не принадлежит

да

B

да

нет

-

-

нет

C

нет

-

-

-

нет

D

нет

-

-

-

нет

E

да

да

да

принадлежит

да

F

да

нет

-

-

нет

G

нет

-

-

-

нет

H

нет

-

-

-

нет

 

2. Разобьем решение на 2 части для x: от -2 до 0 и от 0 до 1:

var x,y: real;

begin

readln(x,y);

if ((x >= -2) and (x <= 0) and (y >= x) and (y <= 2-sqr(x))) or (x >= 0) and (x <= 1) and (y >= 0) and (y <= 2-sqr(x)) then

writeln('Принадлежит')

else

writeln('Не принадлежит');

end.

 

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

 

5.

 

 

 

 

 

 

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

 

Паскаль

Бейсик

С++

var x,y: real;

begin

readln(x,y);

if y<=x then

if y<=-x then

if y>=x*x-2 then

write('принадлежит')

else

write('не принадлежит')

end.

INPUT x, y

IF y<=x THEN

IF y<=-x THEN

IF y>=x*x-2 THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

void main(void)

{ float x,y;

scanf("%f%f",&x,&y);

if (y<=x)

if (y<=-x)

if (y>=x*x-2)

printf("принадлежит");

else

printf("не

принадлежит");

}

 

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неправильно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой правильный способ доработки исходной программы.)

 

1. x = 0, y = 0.5 – вообще не выдает никакого результата

 

2. Будем проверять принадлежность двум отрезкам (для определения границ воспользуемся оператором «и»), используя оператор «или»:

 

var x,y: real;

begin

readln(x,y);

if ((x >= -2) and (x <= 0) and (y >= x) and (y >= sqr(x)-2) and (y < -x)) or (x >= 0) and (x <= 2) and (y >= sqr(x)-2) and (y <= x) then

writeln('Принадлежит')

else

writeln('Не принадлежит');

end.

 

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

 

6.

 

 

 

 

 

 

 

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

 

 

Паскаль

Бейсик

С++

var x,y: real;

begin

readln(x,y);

if x*x+y*y>=4 then

if x>= –2 then

if y<= –x then

write('принадлежит')

else

write('не принадлежит')

end.

 

 

INPUT x, y

IF x*x+y*y>=4 THEN

IF x>= –2 THEN

IF y<= –x THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

void main(void)

{ float x,y;

scanf("% f % f",&x,&y);

if (x*x+y*y>=4)

if (x>= –2)

if (y<= –x)

printf("принадлежит");

else

printf("не принадлежит");

}

 

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы).

 

1. x = 0, y = 0 – вообще не выдает никакого результата

 

2. Посчитаем, какие значения может принимать x, приравняв уравнение прямой и окружности. Далее пропишем условие для y:

 

var x,y: real;

begin

readln(x,y);

if (x >= -2) and (x <= 2*sqrt(2)) and (y <= -x) and (y <= sqr(x) + sqr(y) - 4) then

writeln('Принадлежит')

else

writeln('Не принадлежит');

end.

 

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

 

7.

 

 

 

 

 

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

 

Паскаль

Бейсик

С++

var x,y: real;

begin

readln(x,y);

if y<=1 then

if x>=0 then

if y>=sin(x) then

write('принадлежит')

else

write('не принадлежит')

end.

INPUT x, y

IF y<=1 THEN

IF x>=0 THEN

IF y>=SIN(x) THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

ENDIF

ENDIF

ENDIF

END

void main(void)

{ float x,y;

scanf("%f%f",&x,&y);

if (y<=1)

if (x>=0)

if (y>=sin(x))

printf("принадлежит");

else

printf("не принадлежит");

}

 

Последовательно выполните следующее:

1) Приведите пример таких чисел x, y, при которых программа работает неправильно.

2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, по-этому можно указать любой способ доработки исходной программы).

 

1. Например, x = 10, y = 0,8.

 

2. Поступаем аналогично предыдущим заданиям:

 
var x,y: real;

begin

readln(x,y);

if (x >= 0) and (x <= pi/2) and (y <= 1) and (y >= sin(x)) then

writeln('Принадлежит')

else

writeln('Не принадлежит');

end.

 

Вывод

Это последняя статья по данному заданию. Было любопытно увидеть вектор развития данного задания с 2009 по 2018. Можно заметить, что раньше у экзаменуемых было больше творческих возможностей, постепенно формат стал более стандартизированным.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. teller 22.02.19 07:08 Сейчас в теме
Интересно.
Фейнмана забывают совсем.
Если атомы, из которых состоят все тела, находятся в непрерывном движении, то за счет чего предметы сохраняют постоянную форму, иногда не меняясь очень подолгу (например, окаменелости)?
2. teller 22.02.19 07:10 Сейчас в теме
А на информатике уже c++, python?
Как школьники успевают понять причины возникновения этих языков?
3. vasilev2015 1826 22.02.19 09:02 Сейчас в теме
(2) Мой проходил только Паскаль. Не знаю, для кого в состав ЕГЭ включают другие языки. Может, в спецшколах их преподают ?
Оставьте свое сообщение

См. также

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

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

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

28.06.2019    9405    0    comol    36    

Кто такой архитектор? Системный или функциональный? Статья 1

Конфигурирование 1С Проектирование Бесплатно (free)

В связи с повальным непониманием того, как устроен процесс разработки в сфере 1С и кто за что отвечает, будут написаны 8 статей. Это первая статья. Она очень актуальна, т.к. многие проектные команды не имеют архитектора, либо используют его не по назначению. В этой статье раскрываю роль архитектора и его значимость. Основываюсь на своём опыте (более 10 лет), также изучал статьи на эту тему от коллег и консультировался с руководителями крупных команд. В данной статье будут раскрыты следующие вопросы: 1. Кто такой архитектор? 2. Какие задачи выполняет архитектор? 3. Можно ли без него обойтись? 4. Чем отличается системный архитектор от функционального архитектора? 5. Кто главный: РП или архитектор? Кому подчиняется проектная команда?

30.06.2020    2878    0    biimmap    49    

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

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

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

29.06.2020    2897    0    WildHare    20    

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

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

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

22.06.2020    5485    0    WildHare    22    

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

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

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

17.10.2018    18876    0    pashamak    62    

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

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

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

15.06.2020    8709    0    WildHare    34    

Как построить микросервисную инфраструктуру

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

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

15.06.2020    3766    0    dmarenin    6    

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

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

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

18.05.2020    10271    0    comol    86    

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

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

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

08.12.2018    10309    0    moolex    26    

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

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

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

12.05.2020    4284    0    SergeyN    3    

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

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

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

27.03.2020    10318    0    max_st    52    

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

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

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

02.03.2020    4293    0    ildarovich    7    

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

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

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

17.05.2013    58660    0    avhrst    295    

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

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

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

25.02.2020    3676    0    Repich    9    

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

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

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

24.02.2020    5018    0    check2    10    

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

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

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

10.02.2016    58618    0    mi1man    20    

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

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

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

20.02.2020    5366    0    theshadowco    11    

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

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

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

19.02.2020    3054    0    check2    2    

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

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

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

18.02.2020    6059    0    Repich    17    

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

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

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

12.09.2014    40368    0    Malfarion    34    

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

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

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

09.02.2020    6715    0    da_1c    11    

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

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

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

20.01.2020    5298    0    nixel    22    

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

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

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

13.01.2020    5608    0    Scorpion4eg    6    

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

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

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

07.11.2010    30375    0    Boris-Leleko    9    

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

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

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

06.01.2020    12250    0    ManyakRus    291    

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

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

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

30.12.2019    7662    0    olegtymko    9    

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

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

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

01.12.2019    5473    0    -vito-    9    

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

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

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

20.06.2014    26787    0    milkers    16    

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

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

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

28.11.2019    5863    0    DitriX    21    

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

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

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

26.11.2019    6525    0    -vito-    29    

Swagger для 1С.

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

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

21.10.2019    10982    0    botokash    36    

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

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

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

03.06.2014    39722    0    Evgen.Ponomarenko    88    

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

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

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

09.09.2019    8494    0    jf2000    8    

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

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

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

06.09.2019    8241    0    user642664_yurkeshk    12    

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

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

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

02.09.2019    9041    0    comol    3    

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

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

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

17.09.2013    24277    0    Evgen.Ponomarenko    13    

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

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

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

26.08.2019    8300    0    kirovsbis    28    

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

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

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

25.07.2019    9906    0    theshadowco    31    

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

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

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

23.07.2019    6758    0    TitanLuchs    36    

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

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

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

12.09.2013    51098    0    OLEG4120    32    

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

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

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

11.07.2019    12483    0    pbazeliuk    18    

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

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

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

08.07.2019    8621    0    grumagargler    7    

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

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

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

07.07.2019    35207    0    olegtymko    230    

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

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

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

29.05.2009    39549    0    Ёпрст    208    

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

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

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

01.07.2019    9741    0    nixel    3    

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

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

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

12.06.2019    7040    0    vostok1.dz    13    

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

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

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

16.05.2019    9566    0    FreeArcher    105    

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

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

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

21.06.2013    37352    0    ig1082    50    

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

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

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

15.04.2019    9852    0    pparshin    28    

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

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

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

15.04.2019    4492    0    vasilev2015    4    

О времени и 1С

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

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

01.04.2019    30890    0    YPermitin    60