С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.51/288: Рейтинг темы: голосов - 288, средняя оценка - 4.51
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
1

Тестовое задание на Junior C++ dev

26.07.2013, 18:40. Показов 60362. Ответов 65
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Неделю назад ради интереса отправил свое резюме в одну компанию, куда требуются с++ юниоры. Получил от них тестовое задание. Я ожидал, что они мне откажут (опыта то у меня действительно мизер), но хотелось бы узнать у более опытных людей, какое решение задач "ожидает" компания от соискателя для продолжения с ним отношений.
Далее идет 4 задачи и мой вариант решения каждой из них.

1. Распечатать произвольное число в двоичной системе исчисления.

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

Декларация.
voidNumberAsBinary(
char* _result,// строка с результатом
unsignedint _number// произвольное число
)

Ожидаемый результат.
Например, для числа 13 данная функция должна вернуть строку "1101".

Проверка работы.
Решение должно демонстрировать работу функции на примере 10 случайных чисел в диапазоне 0 до 512.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <stdlib.h>
#include <time.h>
using std::cout;
using std::endl;
 
void numberAsBinary(char *_result, unsigned int _number); 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char *result = new char[11];
    unsigned int number;
    
    srand((unsigned)time(NULL));
    for (int i = 1; i <= 10; i++)
    {
        number = rand() % 513;
        numberAsBinary(result, number);
        cout << "Число " << number << " в двоичной системе счисления равно " << result << endl;
    }
 
    delete [] result;
    system("pause");
    return 0;
}
 
void numberAsBinary(
char *_result,
unsigned int _number
    )
{
    static int i;
    i = 0;
 
    if (_number != 1)
        numberAsBinary(_result, _number / 2);
 
    _result[i] = (_number % 2) + '0';
    i++;
    _result[i] = '\0';
}

2. Сгенерировать неупорядоченный массив целых чисел от 1 до N.

Описание.
Написать функцию, принимающую на вход произвольное целочисленное значение и возвращающую массив, содержащий последовательность чисел от 1 до этого значения, в котором каждое число последовательности находится в заведомо случайной позиции.

Декларация.
void GenerateRandomArray(
int * _result, // возвращаемыймассив
unsignedint _maxValue// максимальное число в последовательности
)

Ожидаемый результат.
Например, 2 последовательных запуска данной функции с параметром 7 могут сгенерировать последовательности вида
{2, 5, 7, 3, 4, 1, 6}
{5, 1, 3, 4, 6, 2, 7}

Проверка работы.
Решение должно демонстрировать работу функции на примере 4 случайных чисел в диапазоне от 5 до 15.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
using std::cout;
using std::endl;
 
void generateRandomArray(int *_result, unsigned int _maxValue);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    unsigned int maxValue;
    
    srand((unsigned)time(NULL));
    for (int i = 1; i <= 4; i++)
    {
        maxValue = 5 + rand() % 11;
        int *result = new int[maxValue];
        generateRandomArray(result, maxValue);
    
        cout << "Неупорядоченные числа от 1 до " 
             << std::setw(2) << maxValue << ": ";
        for (unsigned int i = 0; i < maxValue; i++)
            cout << result[i] << ' ';
        cout << endl;
        delete [] result;
    }
 
    system("pause");
    return 0;
}
 
void generateRandomArray(
int *_result, 
unsigned int _maxValue
    )
{
    int ind1, ind2, tmp;
 
    for (unsigned int i = 0, j = 1; i < _maxValue; i++, j++)
        _result[i] = j;
 
    for (int i = 1; i <= 20; i++)
    {
        ind1 = rand() % _maxValue;
        ind2 = rand() % _maxValue;
        tmp = _result[ind1];
        _result[ind1] = _result[ind2];
        _result[ind2] = tmp;
    }
}

3. Сортировка массива.

Описание.
Написать функцию, принимающую в качестве параметра массив неупорядоченных целых чисел (сгенерированный с помощью функции из задачи 2) и выполняющую его сортировку.

Декларация.
voidSort(
int* _values,// сортируемый массив
unsignedint _count// количество элементов в массиве
)

Ожидаемый результат.
Например, массив вида {2, 5, 7, 3, 4, 1, 6} будет преобразован данной функцией в {1, 2, 3, 4, 5, 6, 7}.

Проверка работы.
Решение должно демонстрировать работу функции на примере результатов, полученных при решении задачи 2 (последовательностей, сгенерированных для 4 случайных чисел в диапазоне от 5 до 15).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
using std::cout;
using std::endl;
 
void generateRandomArray(int *_result, unsigned int _maxValue);
void Sort(int *_values, unsigned int _count);
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    unsigned int maxValue;
    
    srand((unsigned)time(NULL));
    for (int i = 1; i <= 4; i++)
    {
        maxValue = 5 + rand() % 11;
        int *result = new int[maxValue];
        generateRandomArray(result, maxValue);
    
        cout << "Неупорядоченные числа от 1 до " 
             << std::setw(2) << maxValue << ": ";
        for (unsigned int i = 0; i < maxValue; i++)
            cout << result[i] << ' ';
        cout << endl;
 
        Sort(result, maxValue - 1);
 
        cout << "Упорядоченные числа от 1 до " 
             << std::setw(2) << maxValue << ":   ";
        for (unsigned int i = 0; i < maxValue; i++)
            cout << result[i] << ' ';
        cout << endl << endl;
 
        delete [] result;
    }
 
    system("pause");
    return 0;
}
 
void generateRandomArray(
int *_result, 
unsigned int _maxValue
    )
{
    int ind1, ind2, tmp;
 
    for (unsigned int i = 0, j = 1; i < _maxValue; i++, j++)
        _result[i] = j;
 
    for (int i = 1; i <= 20; i++)
    {
        ind1 = rand() % _maxValue;
        ind2 = rand() % _maxValue;
        tmp = _result[ind1];
        _result[ind1] = _result[ind2];
        _result[ind2] = tmp;
    }
}
 
void Sort(
int *_values,
unsigned int _count
    )
{
    int i = 0, j = _count; 
    int temp, p;
 
    p = _values[_count >> 1]; 
 
    do
    {
        while (_values[i] < p) i++;
        while (_values[j] > p) j--;
 
        if (i <= j) 
        {
            temp = _values[i];
            _values[i] = _values[j];
            _values[j] = temp;
            i++;
            j--;
        }
 
    } while (i <= j);
 
    if (j > 0) 
        Sort(_values, j);
    if (_count > (unsigned)i)  
        Sort(_values+i, _count-i);
}
4. Определить недостающее число в неупорядоченной последовательности целых чисел.

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

Декларация.
intGetMissingValue(
constint * _values,// неупорядоченный массив целых чисел от 1 до _count
unsignedint _count// количество элементов в массиве
)

Ожидаемый результат.
Например, для последовательности {5, 7, 8,3, 1, 9, 2, 6, 4} данная функция должна вернуть 4.

Проверка работы.
Решение должно демонстрировать работу функций на примере результатов, полученных при решении задачи 2 (последовательностей, сгенерированных для 4 случайных чисел в диапазоне от 5 до 15).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
using std::cout;
using std::endl;
 
void generateRandomArray(int *_result, unsigned int _maxValue);
void Sort(int *_values, unsigned int _count);
int getMissingValue(const int *_values, unsigned int _count);
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    unsigned int maxValue;
    
    srand((unsigned)time(NULL));
    for (int i = 1; i <= 4; i++)
    {
        maxValue = 5 + rand() % 11;
        int *result = new int[maxValue];
        generateRandomArray(result, maxValue);
    
        cout << "Неупорядоченные числа от 1 до " 
             << std::setw(2) << maxValue << ": ";
        for (unsigned int i = 0; i < maxValue; i++)
            cout << result[i] << ' ';
 
        cout << endl << "Значение последнего элемента:     " 
             << getMissingValue(result, maxValue) << endl;
 
        Sort(result, maxValue - 1);
 
        cout << "Упорядоченные числа от 1 до " 
             << std::setw(2) << maxValue << ":   ";
        for (unsigned int i = 0; i < maxValue; i++)
            cout << result[i] << ' ';
        cout << endl << endl;
 
        delete [] result;
    }
 
    system("pause");
    return 0;
}
 
void generateRandomArray(
int *_result, 
unsigned int _maxValue
    )
{
    int ind1, ind2, tmp;
 
    for (unsigned int i = 0, j = 1; i < _maxValue; i++, j++)
        _result[i] = j;
 
    for (int i = 1; i <= 20; i++)
    {
        ind1 = rand() % _maxValue;
        ind2 = rand() % _maxValue;
        tmp = _result[ind1];
        _result[ind1] = _result[ind2];
        _result[ind2] = tmp;
    }
}
 
void Sort(
int *_values,
unsigned int _count
    )
{
    int i = 0, j = _count; 
    int temp, p;
 
    p = _values[_count >> 1]; 
 
    do
    {
        while (_values[i] < p) i++;
        while (_values[j] > p) j--;
 
        if (i <= j) 
        {
            temp = _values[i];
            _values[i] = _values[j];
            _values[j] = temp;
            i++;
            j--;
        }
 
    } while (i <= j);
 
    if (j > 0) 
        Sort(_values, j);
    if (_count > (unsigned)i)  
        Sort(_values+i, _count-i);
}
 
int getMissingValue(
const int *_values,
unsigned int _count
    )
{
    unsigned int checkSum = 0, sum = 0;
 
    for (unsigned int i = 0; i < _count - 1; i++)
    {
        checkSum += i + 1;
        sum += _values[i];
    }
 
    return checkSum + _count - sum;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.07.2013, 18:40
Ответы с готовыми решениями:

Тестовое задание надолжность Junior C++ gamedev
Всем доброго времени суток. Месяц назад получил от потенциального работодателя тестовое задание...

Тестовое задание
private class Connect (){ public Device dev1 = new Device(); public Device dev2 = new Device();...

Тестовое задание
Помогите пройти тест. Очень надо :) Введите пропущенный оператор в функцию вставки нового...

Тестовое задание от компании Exness
У меня нет никакого вопроса, но я так и не понял в какую ветку надо написать (все изучил...

65
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
26.07.2013, 18:55 2
В 4 задаче схитри. Просто посчитай сумму чисел с помощью формулы суммы арифметической прогрессии.
S = ( 2*a1 + (n - 1)*d ) / 2 * n.
где a1 — первый член прогрессии, d — разность прогрессии, n — количество суммируемых членов.
В твоём случае a1 = 1, d = 1, n = _count + 1;
Теперь посчитай сумму элементов в данном массиве. Вычти эту сумму из суммы прогрессии.
Разность будет недостающим числом.
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 18:58  [ТС] 3
Цитата Сообщение от SummerRain Посмотреть сообщение
В 4 задаче схитри. Просто посчитай сумму чисел с помощью формулы суммы арифметической прогрессии.
S = ( 2*a1 + (n - 1)*d ) / 2 * n.
где a1 — первый член прогрессии, d — разность прогрессии, n — количество суммируемых членов.
В твоём случае a1 = 1, d = 1, n = _count + 1;
Теперь посчитай сумму элементов в данном массиве. Вычти эту сумму из суммы прогрессии.
Разность будет недостающим числом.
Спасибо, но разве это может повлиять на принятие решения относительно соискателя?
0
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
26.07.2013, 19:01 4
Покажет, что ты умеешь мыслить нестандартно. Находить скрытые более легкие пути.
Это выделит тебя из толпы людей, которые решат её правильно, но обычным путём.
На собеседовании важно не только правильно решить задачу, но и показать свою смекалку и находчивость.
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 19:08  [ТС] 5
Цитата Сообщение от SummerRain Посмотреть сообщение
Покажет, что ты умеешь мыслить нестандартно. Находить скрытые более легкие пути.
Это выделит тебя из толпы людей, которые решат её правильно, но обычным путём.
На собеседовании важно не только правильно решить задачу, но и показать свою смекалку и находчивость.
Ну так решение и построено почти по этому же принципу. Сумма всех элементов последовательности минус сумма элементов массива без последнего элемента. Только подсчет суммы последовательности ведется в том же цикле, что и сумма элементов массива.
0
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
26.07.2013, 19:09 6
а сортировка зачем?
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 19:37  [ТС] 7
Цитата Сообщение от SummerRain Посмотреть сообщение
а сортировка зачем?
да, там я тупанул немного. нужно было на примере 2-го задания проверить. а я проверил на примере 3-го.

Добавлено через 27 минут
Вариантов больше нет, все идеально?
Вот еще есть правила решения
Правила решения.

Результат решения задач должен представлять из себя компилирующийся и запускающийся проект для MicrosoftVisualStudio (C++), содержащий исходные файлы с решением для каждой задачи.

Решением каждой задачи является функция, написанная на языке С либо С++ и соответствующая всем указанным в задаче требованиям, а также код, позволяющий оценить результаты ее выполнения.
Например, если указано, что решение должно демонстрировать работу функции на примере 10 случайных чисел в диапазоне 0 до 512, тест-код должен генерировать 10 случайных чисел в указанном диапазоне и запускать функцию, передавая каждое из них в качестве параметра.

При решении задач допускается использование произвольных функцийC standard libraryи произвольных контейнеровStandard C++ library, за исключением функций, полностью решающих поставленную задачу - например, при решении задачи о сортировке массива недопустимо использование функции qsort.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 19:53 8
Автор уже отправил свои варианты или ждет пока ему напишут другие решения тут?
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 19:54  [ТС] 9
Цитата Сообщение от 0x10 Посмотреть сообщение
Автор уже отправил свои варианты или ждет пока ему напишут другие решения тут?
Я уже отправил эти решения и получил ожидаемый отказ. Вот теперь интересно узнать, как должно выглядеть приближенное к идеалу решения этих задач.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 19:58 10
Сразу вопрос по первой задаче: с какой целью была использована рекурсия?
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 20:01  [ТС] 11
Цитата Сообщение от 0x10 Посмотреть сообщение
Сразу вопрос по первой задаче: с какой целью была использована рекурсия?
Сначала я решил это задание простым циклом. Во временную строку записывал остатки от деления, а потом эту строку переписал в обратном порядке в _result. Получилось громоздко. Рекурсия позволяет сразу записывать результат в строку в правильном порядке.
0
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
26.07.2013, 20:05 12
4.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    int arr[4] {1, 2, 3, 9991};
    int x = 0;
    for(int i = 0; i < 4; ++i)
        x = x ^ arr[i] ^ (i + 1);
    std::cout << (x ^ 4);
    return 0;
}


нет. что-то я погорячился)
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 20:13 13
Мимино, думаю, стоит все-таки реализовать итеративное решение, с возможностью пропуска начальных нулей, раз того требует постановка задачи.

Olivеr, если бы и нет - к подобным функциям было бы неплохо еще прикладывать портянку комментариев с пояснениями)

Добавлено через 3 минуты
Мимино, по второй задаче стоит, пожалуй, задуматься над вопросами:
1) а нужны ли там два счетчика в первом цикле, где происходит заполнение массива?
2) а можно ли в цикле со случайными перестановками обойтись одним вызовом rand()?
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 20:14  [ТС] 14
Цитата Сообщение от 0x10 Посмотреть сообщение
с возможностью пропуска начальных нулей, раз того требует постановка задачи.
в смысле? тут не понял.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 20:15 15
Цитата Сообщение от Мимино Посмотреть сообщение
в смысле? тут не понял
Ну в смысле, что требуют, чтобы 13 выводилось как 1101, а не как 00001101.
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 20:16  [ТС] 16
Цитата Сообщение от 0x10 Посмотреть сообщение
Ну в смысле, что требуют, чтобы 13 выводилось как 1101, а не как 00001101.
Ну так они так и выводятся
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 20:19 17
Цитата Сообщение от Мимино Посмотреть сообщение
Ну так они так и выводятся
Ок. Значит, просто рекурсию убрать. И дополнительный буфер в итеративном решении ни к чему, я думаю.
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 20:21  [ТС] 18
Цитата Сообщение от 0x10 Посмотреть сообщение
1) а нужны ли там два счетчика в первом цикле, где происходит заполнение массива?
2) а можно ли в цикле со случайными перестановками обойтись одним вызовом rand()?
1) Да, можно так
C++
1
2
for (unsigned int i = 0; i < _maxValue; i++)
        _result[i] = i + 1;
2) можно. Например, переставлять постоянно одну и ту же позицию на рандомное место. На сколько это эффективно не могу сейчас точно сказать.
0
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.07.2013, 20:22 19
Цитата Сообщение от Мимино Посмотреть сообщение
можно. Например, переставлять постоянно одну и ту же позицию на рандомное место.
Ага, почти.
Алгоритм перемешивания массива много раз на форуме расписывали.
0
190 / 160 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
26.07.2013, 20:23  [ТС] 20
Цитата Сообщение от 0x10 Посмотреть сообщение
Ок. Значит, просто рекурсию убрать. И дополнительный буфер в итеративном решении ни к чему, я думаю.
ммм.... а как? если бы было заранее известно количество символов в строке, то да, итеративно без доп.буфера. Ну или если бы функция имела бы тип возвращаемого значения не void, можно было бы возвращать указатель на первый ненулевой элемент строки.
0
26.07.2013, 20:23
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2013, 20:23
Помогаю со студенческими работами здесь

ООП. Тестовое задание собеседования.
Это тестовое задание для устройста на работу. Я не совсем понимаю что от меня хотят. Не могли бы вы...

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

Небольшое тестовое задание в финской компании.
Привествую всех жителей форума. Сразу отмечу, что решения просить не хочу, а просто хочу показать...

Тестовое задание от работадателя. Хотелось бы услышать критику.
Пробую устроиться программистом. Вот одна из компаний выслала мне тестовое задание следующего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru