Как писать псевдокод

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

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

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

Некоторые из элементов, которые должны присутствовать в псевдокоде любой программы:

  • Функции и операции.
  • Управляющие структуры.
  • Циклы и взаимодействия.

При использовании естественного языка этот код не компилируется . Это код, который создается на личном уровне, чтобы знать, какие шаги нужно выполнить или ввести новые необходимые функции, до того, как код уже написан. Не следует путать это с » скелетные программы «, Проекты многоразового кода, который отлично компилируется и который используется для« повторного использования ». Например, основы алгоритмов.

Преимущества и проблемы псевдопрограммирования

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

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

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

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

Программы, помогающие писать псевдокод

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

PSeInt, испанская программа для написания псевдокода.

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

Мы можем скачать эту программу бесплатно с веб-сайта .

Эдпкс, ветеран псевдопрограммирования

Еще одна бесплатная альтернатива с открытым исходным кодом, призванная помочь нам с псевдопрограммированием. Очень ветеранская программа, созданная, прежде всего, для сектора образования. Он имеет интерфейс на основе вкладок и безграничные возможности, когда дело доходит до формирования нашего кода. Среди его основных характеристик мы можем выделить, например, использование стандартных структур, таких как If..Then, If..Then..Else, For..Do, While..Do, для облегчения создания этой псевдопрограммы.

Мы можем скачать эту программу из этой ссылки .

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Изучаю книгу по алгоритмам, не могу понять псевдокод, указанный в ней
Читаю книгу Рода Стивенса «Алгоритмы. Теория и практическое применение.» Вот не пойму, что здесь.

Написать псевдокод к программам
Помогите написать псевдокод к программам: 1) Подсчет чисел Фибоначчи рекурсией и циклом.

Написать псевдокод к программе
Var a,p:real; i,n:integer; Begin Write(‘Введите основание степени:’); Readln(a);.

Как правильно будет выглядить псевдокод?
using System; using System.Collections.Generic; using System.Linq; using System.Text; .

А в чём проблемс?

#инклудю все библиотеки на свете
объявляю «pause» как «system(«Pause»)»

Объявляю функцию «printarr» с аргументами «int **» и «int»
Объявляю функцию «bubblesort» с аргументами «int *» и «int»
Объявляю функцию «printarr1» с аргументами «int *» и «int»

int main() <
Ставлю Русскую локализацию
Объявляю переменные «n», «i», «j», «q», «w», «e», «c=0», «r=0», «h=0», «**px» и «*pw»
Генерирует случайное число
Вывожу: «Добро пожаловать в лабораторную работу №7!»
Вывожу с новой строки: «Задание: На основе исходного двумерного массива С с рабочим размером n x n, сформировать одномерный массив А.»
Вывожу с новой строки: «Массив А должен содержать только те числа, которые встречаются в массиве С более одного раза. Упорядочить массив А по убыванию, используя метод «пузырька». Вывести Массивы С и А на экран.»
Вывожу с новой строки: «Массивы А и С должны состоять из целых чисел. Значение n вводится пользователем с клавиатуры. Значения элементов Массива С генерируются при помощи датчика случайных чисел»
А-а-а-а! Болтовни многа.
Считываю десятичное число
И так далее, описываешь словами каждое своё действие в программе.
>

В информатике , псевдокод является простым языком описание шагов в алгоритме или другую систему. Псевдокод часто использует структурные соглашения нормального языка программирования , но предназначен для чтения человеком, а не машинным чтением. Обычно в нем опускаются детали, которые необходимы для машинного понимания алгоритма, такие как объявления переменных и специфичный для языка код. Язык программирования дополненный с естественным языком описанием деталей, где удобно, или с компактной математической нотацией . Цель использования псевдокода состоит в том, что его легче понять, чем код обычного языка программирования, и что он является эффективным и независимым от среды описанием ключевых принципов алгоритма. Он обычно используется в учебниках и научных публикациях для документирования алгоритмов, а также при планировании программного обеспечения и других алгоритмов.

Не существует широкого стандарта синтаксиса псевдокода , поскольку программа в псевдокоде не является исполняемой программой, однако существуют определенные ограниченные стандарты (например, для академической оценки). Псевдокод напоминает скелетные программы , которые можно скомпилировать без ошибок. Блок — схему , Drakon-графика и Unified Modeling Language (UML) диаграммы можно рассматривать как графическую альтернативу псевдокод, но нужна больше места на бумаге. Такие языки, как HAGGIS, устраняют разрыв между псевдокодом и кодом, написанным на языках программирования.

СОДЕРЖАНИЕ

  • 1 Приложение
  • 2 Синтаксис
  • 3 Псевдокод в математическом стиле
    • 3.1 Общие математические символы
    • 3.2 Пример
  • 4 Машинная компиляция языков в стиле псевдокода
    • 4.1 Грамматика естественного языка в языках программирования
    • 4.2 Математические языки программирования
  • 5 См. Также
  • 6 Ссылки
  • 7 Дальнейшее чтение
  • 8 Внешние ссылки

Заявление

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

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

Синтаксис

Псевдокод обычно не подчиняется синтаксическим правилам какого-либо конкретного языка; не существует систематической стандартной формы. Некоторые авторы заимствуют стиль и синтаксис управляющих структур из некоторых традиционных языков программирования, хотя это не рекомендуется. Некоторые источники синтаксиса включают Fortran , Pascal , BASIC , C , C ++ , Java , Lisp и ALGOL . Объявления переменных обычно опускаются. Вызовы функций и блоки кода, такие как код, содержащийся в цикле, часто заменяются однострочными предложениями на естественном языке.

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

  • Псевдоко́д — компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ.

Блок-схемы и дракон-схемы можно рассматривать как графическую альтернативу псевдокоду. В отличие от стандартизации синтаксиса языков программирования, на синтаксис псевдокода обычно не устанавливается стандартов, так как последний непосредственно не компилируется в исполняемую программу. Поэтому можно сказать, что обычно автор каждой публикации применяет свой оригинальный псевдокод, однако чтобы быть максимально понятным читателям, авторы публикаций содержащих псевдокод, как правило, заимствуют нужные им конструкции из какого-либо языка программирования. Зачастую источником псевдокода служат несколько языков, и таким образом псевдокод часто не содержит специфических признаков конкретного языка программирования. Кроме того, математические выражения часто включаются в псевдокод в том виде, как их принято записывать в математике, а не в языках программирования, а некоторые фрагменты псевдокода могут быть фразами естественного языка (русского, английского и т. д.). Однако при этом конструкции некоторых языков программирования чаще используются для псевдокода. Так, например, очень часто используется синтаксис, похожий на синтаксис языка Паскаль. Это объясняется тем, что Паскаль создавался как язык, ориентированный на задачи обучения программированию, и поэтому синтаксис этого языка особенно приспособлен для восприятия человеком. Часто используются и другие языки: Си, Алгол, Фортран и другие. Их использование можно объяснить как личными симпатиями автора, так и распространенностью на момент написания публикации. В случае русскоязычных публикаций в качестве псевдокода часто используется перевод ключевых слов языков программирования с английского на русский. Такой подход практикуется, в частности, в учебниках по информатике.

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

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

Связанные понятия

Упоминания в литературе

Связанные понятия (продолжение)

В программировании, ассемблерной вставкой называют возможность компилятора встраивать низкоуровневый код, написанный на ассемблере, в программу, написанную на языке высокого уровня, например, Си или Ada. Использование ассемблерных вставок может преследовать следующие цели.

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

В предыдущих примерах использовались имена, такие как Paris и Route1 , для получения доступа к объектам, которые кем-то были созданы для нас, — и все это было довольно загадочно. Настало время разобраться, как самим создавать свои собственные объекты. Создание объектов — центральная тема этой лекции — представляет интересный механизм с важными следствиями. Это рассмотрение приведет нас к общей картине выполнения систем: как программа запускается, как она выполняется и как завершается.

В процессе изучения мы создадим фиктивную линию метро, fancy_line , связывающую несколько реальных станций. В противоположность предыдущим примерам, таким как Line8 , новая линия fancy_line не предопределена, мы должны построить ее сами. Этот процесс потребует создания других объектов, например, для представления остановок на линии.

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

Как писать псевдокод

6.1. Общие установки

Наша система для этой лекции называется creation . Откройте ее теперь, используя те же приемы, что и в предыдущих лекциях. Перейдите к классу, предмету данного обсуждения, LINE_BUILDING , который изначально выглядит так:

Строка — «Создать новую линию, заполнить ее станциями и добавить в Paris » и строка, следующая за ней, начинаются с двух дефисов и, следовательно, являются комментариями. Но это комментарии особого рода, известные как псевдокод, означающие, что они замещают реальный программный текст — код, который мы собираемся поместить в этом месте, разрабатывая программу.

Определение: Псевдокод

При разработке программы полезно использовать псевдокод , это лучше, чем вместо программного элемента писать комментарий: «Сюда следует поместить программный код». Псевдокод позволяет дать неформальное описание будущего кода, который пока мы не готовы поместить, например, из-за того, что это потребовало погружения в детали, мешающие увидеть всю картину в целом. На момент написания псевдокода детали могут быть еще не продуманы.

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

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

Почувствуй стиль: Запись псевдокода

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

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

6.2. Сущности и объекты

Наш класс нуждается в компоненте (запросе), представляющем линию, которую мы собираемся построить. Мы назовем этот запрос fancy_line . Это даст возможность начать процесс детализации, превращая часть псевдокода (часть первой строки и полностью вторую) в фактический код и делая напоминание более точным:

Рассмотрим строчку, следующую за псевдокодом. Оператор » Paris .put_line (fancy_line)» заменил текст псевдокода «добавить в Paris «. Команда put_line , доступная для объектов класса CITY , позволяет добавить в «город» линию со станциями. Следующий за ним оператор использует команду highlight для уточнения второй строки исходного псевдокода .

Сразу же после выполнения процедуры build_a_line идентификатор fancy_line будет обозначать экземпляр класса LINE , задающий линию метро.

Идентификаторы могут обозначать многие вещи: они могут быть именами классов, подобно STATION , или методов, подобно i_th . Идентификатор , такой как fancy_line , чья роль — обозначать значение объекта, существующего в период выполнения, называется сущностью.

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

В данном случае сущность fancy_line является именем атрибута, но нам придется встречаться и с другими видами сущностей.

Если, в некоторый момент выполнения сущность представляет объект , мы будем говорить, что сущность присоединена к объекту

Следующий рисунок, изображающий момент выполнения, помогает визуализировать понятие сущности и присоединенного объекта.

Детализируем существующие отношения.

  • Сущность — это имя в программе, которое в момент выполнения будет обозначать, благодаря «ссылке», объект в памяти. Понятие ссылки, выражающее связь, будет более точно определено в последующих лекциях.
  • Объект, как определено ранее, является коллекцией данных или, если говорить более точно, как показано на рисунке, он состоит из множества полей, каждое из которых содержит единицу данных (например, целое или булевское значение). Данные, которыми наша программа манипулирует во время выполнения, полностью созданы из таких объектов, каждый со своим набором полей. Поля объекта STATION могут, например, включать координаты станции на карте, ее имя и другие характеристики.

Соглашения по изображению диаграмм, дающих мгновенный снимок структуры объекта или его части во время выполнения , следующие:

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

(с) С.Макконел, «Совершенный код»

Что думаете по поводу применения псевдокода при разработке на 1С и не только? Мне использование псевдокода очень понравилось. Недостатков в нем не нашел

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

Запрос = Новый Запрос;
/// . Далее могучий запрос по ее получению

Сценарий: Согласованный пересчет суммы
Когда я в поле «Количество» ввожу 10
И я в поле «Цена» ввожу 300
Тогда поле «Сумма» имеет значение 3000

Установить статус по умолчанию в “сбой”. Найти сообщение, соответствующее коду ошибки.
Если код ошибки корректен
Если работа в интерактивном режиме, вывести сообщение и указать успешный статус.
Если работа в режиме командной строки, запротоколировать сообщение об ошибке и указать успешный статус.
Если код ошибки некорректен, информировать пользователя об обнаружении внутренней ошибки.
Вернуть статус

Пример кода на C++, с этим псевдокодом (форматирование упало, сорри)
/* Этот метод выводит сообщение об ошибке на основании кода ошибки, получаемого от вызывающей программы.
Способ вывода сообщения зависит от режима работы, который он определяет сам.
Он возвращает значение, указывающее на успешное завершение или сбой. */
Status ReportErrorMessage( ErrorCode errorToReport )
<
// Установить статус по умолчанию в “сбой”.
Status errorMessageStatus = Status_Failure;

Эта статья написана Джеком Ллойдом . Джек Ллойд — автор статей и редактор wikiHow по технологиям. У него более двух лет опыта написания и редактирования статей, связанных с технологиями. Он энтузиаст технологий и учитель английского языка.

В этой статье цитируется 7 ссылок , которые можно найти внизу страницы.

Эта статья была просмотрена 755 981 раз (а).

Из этой статьи вы узнаете, как создать документ псевдокода для вашей компьютерной программы. Псевдокод, по сути, влечет за собой создание не связанного с программированием контура вашего кода. [1] Икс Источник исследования

Как писать псевдокод

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

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

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

Как писать псевдокод

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

К редакторам обычного текста относятся Блокнот (Windows) и TextEdit (Mac).

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Возможно, вы даже захотите полностью избавиться от любых команд кодирования и просто определить процесс каждой строки простым языком. Например, «если ввод нечетный, вывод« Y »» может стать «если пользователь вводит нечетное число, вместо этого отобразить« Y »».

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

Как писать псевдокод

Автор изображения: Загрузчик
\ nЛицензия: Creative Commons \ n «>

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

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. «Основы информатики и вычислительной техники», 1991. Этот язык в дальнейшем мы будем называть просто «алгоритмический язык».

Опубликовано
В рубрике IT