TEMP:= FIRST; FIRST:= SECOND; SECOND:= TEMP;
end;
От термина «блок» произошло выражение язык с блочной структурой. Хотя языки Pascal и Modula-2 называются языками с блочной структурой, они не имеют непроцедурных блоков.
В языках C, С++, Java, C# любой составной оператор (последовательность операторов, заключенная в фигурные скобки) может содержать объявления и таким образом определять новую область видимости. Например, если list – массив целых чисел, то можно написать следующий код:
if (list [i] < list [j])
{
int temp = list [i];
1ist [j] = temp;
}
Создаваемые блоками области видимости трактуются точно так же, как области видимости, создаваемые подпрограммами. Обращения к переменным блока, не объявляемым в этом блоке, связываются с их объявлениями путем поиска по возрастающей во внешних областях.
В языках C++, Java, C# определять переменные можно в любом месте блока. Если определение появляется не в начале, то область видимости данной переменной начинается с оператора определения и заканчивается концом блока.
Оператор for языков C++, Java, C# позволяет определять переменные в выражениях, инициализирующих счетчики цикла. Область видимости таких переменных ограничена заголовком и телом цикла for.
Определения класса и метода в объектно-ориентированных языках программирования также порождают вложенные статические области видимости.
Применение статических областей видимости представляет метод нелокального доступа, хорошо работающий во многих ситуациях. Однако у этого метода есть и недостатки.
Для простоты будем считать, что все области видимости создаются определениями основной программы и процедур. Структуру программы можно представить в виде дерева, каждый узел которого представляет область видимости, а его родительский узел – родительскую область видимости, в которую вложена данная. Исследование такого дерева показывает, что разрешено значительно большее количество вызовов процедур, чем это необходимо для решения задачи. Программист может по ошибке вызвать подпрограмму, вызов которой не должен допускаться, причем это действие не будет расценено компилятором как ошибка. В результате ошибка будет обнаружена только при выполнении программы, что может повысить стоимость ее исправления. Следовательно, доступ к процедурам должен быть ограничен лишь необходимыми процедурами
С этой проблемой связана возможность слишком интенсивного обращения к данным. Например, все переменные, объявленные в основной программе, видимы во всех вложенных процедурах.
Для решения проблем, связанных со статическим обзором данных, во многих новых языках программирования используется концепция инкапсуляции,то есть возможности сокрытия данных и процедур (фактически – сужения областей видимости).
3.8.2. Динамическая область видимости
Область видимости переменных в таких языках как APL, SNOBOL4 и ранние версии языка LISP является динамической. Динамический обзор данных опирается на последовательность вызова подпрограмм, а не на их пространственную взаимосвязь. Следовательно, область видимости можно определить только во время выполнения программы.
Рассмотрим повторно процедуру big из п. 3.8.1. Предположим, что правила динамического обзора данных применимы к нелокальным ссылкам. Значение идентификатора x, к которому обращается подпрограмма sub1, – динамическое, оно не может определяться во время компиляции. В зависимости от последовательности вызовов это значение может относиться к переменной из предыдущего объявления переменной х.
Для того чтобы определить корректное значение переменной x во время выполнения программы, можно начать его поиск среди локальных объявлений. Этим же способом начинается поиск и при статическом обзоре данных, правда, на этом их сходство заканчивается. При неудачном завершении поиска среди локальных объявлений рассматриваются объявления динамического родителя, или вызывающей процедуры. Если объявление переменной x не будет найдено и там, то поиск продолжается в динамическом родителе этой процедуры, и так далее, пока не будет найдено объявление переменной x. Если оно не будет найдено ни в одном из динамических предков, то это будет ошибкой периода выполнения программы.
Рассмотрим две различные последовательности вызовов процедуры sub1 в указанном примере. Предположим, что в первом случае процедура big обращается к процедуре sub2, которая вызывает процедуру subl. При этом поиск перейдет от локальной процедуры subl к вызывающей ее процедуре sub2, в которой находится объявление переменной x. Таким образом, в данном случае обращение к переменной x в процедуре subl будет обращением к переменной x процедуры sub2. Пусть теперь во втором случае процедура subl вызывается непосредственно из процедуры big. При этом динамическим родителем процедуры subl является процедура big, и обращение будет направлено к переменной x, объявленной в процедуре big.
Воздействие динамического обзора данных на программирование значительно. Корректные атрибуты нелокальных переменных, видимые операторам программы, невозможно определить статически. Оператор подпрограммы, содержащей ссылки на нелокальные переменные, во время различных вызовов этой подпрограммы может обращаться к различным нелокальным переменным. Некоторые проблемы программирования связаны непосредственно с динамическим обзором данных.
Во-первых, в период между вызовом подпрограммы и ее завершением в ней видны все локальные переменные вызывающей подпрограммы (и всех ее динамических предков), вне зависимости от их близости. От такой общедоступности локальных переменных нет защиты. Подпрограммы всегда выполняются в непосредственной среде вызывающей программы; следовательно, использование динамического обзора данных порождает менее надежные программы, чем использование статического обзора.
Второй проблемой, связанной с динамическим обзором данных, является невозможность статической проверки типов при обращении к нелокальным переменным. Это происходит из-за невозможности статически определить объявление переменной, на которую ссылаются как на нелокальную.
Использование динамического обзора данных также затрудняет чтение программ, поскольку для определения нелокальных переменных, на которые имеются ссылки, должна быть известна последовательность вызова подпрограмм. Если программу читает человек, то определить последнее практически невозможно.
Также отметим, что обращение к нелокальным переменным в языках с динамическим обзором данных происходит значительно медленнее, чем обращение в языках со статическим обзором.
С другой стороны, у динамического обзора данных есть и достоинства. В некоторых случаях параметры, передаваемые от одной подпрограммы к другой, являются простыми переменными, определяемыми в вызывающем модуле. В языках с динамическим обзором данных не требуется передачи ни одной из этих переменных, поскольку все они неявно видимы в вызываемой подпрограмме.
Причины более широкого распространения статического обзора данных состоят в том, что программы на языках со статическим обзором данных легче читать, они надежнее и выполняются быстрее, чем аналогичные программы на языках, использующих динамический обзор. Именно поэтому в большинстве современных диалектов языка LISP динамический обзор данных был заменен статическим.
Понятие и виды учетов
Учет - это наблюдение, измерение (подсчет) и регистрация количественных и качественных параметров социально-экономической стороны жизни общества. Хозяйственный учет представляет собой информационную систему управления хозяйствующим субъектом и является разновидностью хозяйственного контроля.
Основной целью хозяйственного учета является формирование качественной и своевременной информации о финансово-экономической деятельности предприятия, необходимой для управления и становления рыночной экономики, подготовки, обоснования и принятия правомерных управленческих решений на различных уровнях.
Для обеспечения контроля деятельности предприятий, организаций и учреждений различных форм собственности и принятия оптимальных управленческих решений в интересах личности, общества и государства существуют различные виды учета: статистический, оперативно-технический, бухгалтерский, а также сравнительно новые виды: налоговый, управленческий и страховой учет.
Статистический учет представляет собой целенаправленное наблюдение, подсчет и регистрацию количества однородных массовых явлений и процессов в обществе для раскрытия их качественного состояния. Статистика применяется как в экономике, праве, так и в других областях общественной жизни, в частности в сфере борьбы с преступностью (правовая статистика), в демографии (перепись населения), социологии и т.д.
Основу статистического учета в районе, области, республике составляет статистическая отчетность отдельных предприятий и организаций, характеризующая эффективность использования ими материальных ресурсов.
Оперативно-технический учет ведется в организациях и на местах производства с целью наблюдения, подсчета и регистрации отдельных хозяйственных операций (например, наблюдение и подсчет выпущенной продукции в цехах мясоперерабатывающей промышленности, учет диспетчером километража пробега автомашины за рабочий рейс и т.д.). Этот учет осуществляется в различных измерителях: в натуральных единицах (километр, метр), качественном (сорт, процент выработки) и денежном выражении. Сведения об операциях отражаются в произвольной форме в различных книгах, журналах регистрации.
Оперативно-технический учет имеет существенное значение при доказывании фиктивности хозяйственной операции, так как зафиксированные в нем данные могут не совпадать с данными бухгалтерского учета. Например, количество товарно-материальных ценностей, отпущенных по накладным, может не соответствовать данным журнала, в котором регистрируются сведения о выпуске с предприятия автотранспорта, загруженного товаром.
Бухгалтерский учет (от нем. Buchhaltung — бухгалтерия, счетоводство) отличается от других видов учета своими обязательными, нормативно-определенными признаками и характеристиками: это непрерывное, сплошное, документальное отражение хозяйственных средств, их источников и хозяйственных процессов в денежном выражении.
Бухгалтерский учет (п. 1 ст. 1 Закона № 129) представляет собой упорядоченную систему сбора, регистрации и обобщения информации в денежном выражении об имуществе, обязательствах организаций и их движении путем сплошного, непрерывного и документального учета всех хозяйственных операций.
Рассмотрим более детально элементы определения бухгалтерского учета.
Упорядоченная система в бухгалтерском учете означает применение ряда специфических методологических приемов, образующих целостность и единство. Данная система основана на Плане счетов, который является систематизирующим перечнем счетов бухгалтерского учета, позволяющих осуществлять учетные процессы.
Сбор, регистрация и обобщение информации предполагают составление первичных документов и фиксацию хозяйственных операций, отраженных в них, для последующей ее группировки на счетах бухгалтерского учета, а затем в бухгалтерской отчетности.
Для обобщения разнообразной информации используется денежное выражение. Оно является основным измерителем в бухгалтерском учете. Любая хозяйственная операция имеет денежное выражение в рублях и копейках. Кроме того, в бухгалтерском учете применяются натуральные (килограмм, метр, штук и т.д.) и трудовые, или условно - натуральные (час, рабочий день, месяц, год), измерители. С помощью натуральных измерителей осуществляется контроль сохранности материальных ценностей, определяются объемы производства, реализации продукции, количество полученных или отпущенных материальных ценностей. Трудовые измерители позволяют определить затраченные время и труд. На их основе формируются задания, рассчитывается производительность труда, начисляется зарплата и иные выплаты, контролируется норма выработки рабочими. Трудовые и натуральные измерители тесно связаны с денежным измерителем.
К имуществу организаций относятся материальные ценности и денежные средства, которые находятся в их собственности.
Бухгалтерскому учету подлежат также и обязательства, лежащие на организации, относительно полученных от других организаций ценностей. Законодательное понятие обязательства содержится в п. 1 ст. 307 ГК РФ. Однако определение обязательства в бухгалтерском учете значительно уже, чем в гражданском законодательстве, и включает в себя средства, которые вложены собственниками в свое предприятие, и то увеличение суммы этих средств, которое могло произойти в результате хозяйственной деятельности, долги организации другим хозяйствующим субъектам, займы, кредиты, обязательства по выданным векселям, внутренние расчеты.
Под сплошным учетом всех хозяйственных операций понимается обязательный учет всего имущества, продукции, денежных средств, задолженностей и т.д.
Под непрерывным учетом всех хозяйственных операций следует понимать постоянную, без пропусков, фиксацию всех совершаемых хозяйственных операций в документах установленной формы. Хозяйственные операции определяются как факты предпринимательской и иной деятельности, оказывающие влияние на имущественное и финансовое положение организации, т.е. на состояние имущества, обязательств и величины финансовых результатов.
К основным функциям бухгалтерского учета относятся:
1) контрольная - позволяет определить достижение организацией целей бухгалтерского учета и выполнение его задач. Функция контроля финансовых отношений проявляется в деятельности работников учетного аппарата, контрольно-ревизионных служб, банков, аудиторских фирм, налоговых инспекций;
2) информационно-аналитическая - предусматривает своевременное поступление экономической информации и ее обработку для обеспечения результативности управления хозяйствующим субъектом. Кроме того, для реальной оценки и прогнозирования финансового состояния предприятия, а также выявления доступных источников и средств для их мобилизации персоналом осуществляется анализ экономической информации. Анализ позволяет изучить перспективы развития организации, вскрыть недостатки, наметить пути совершенствования хозяйственной деятельности;
3) обеспечение сохранности собственности - предусматривает технические и организационные мероприятия, направленные на предотвращение хищений, растрат, халатности, совершаемых работниками организации.
Эффективное выполнение данной функции зависит:
— от наличия специализированных складских помещений, оснащенных средствами охраны;
— совершенствования самой системы учета, применения обоснованных методов выявления недостач, растрат, хищений, порчи имущества;
— использования автоматизированных средств для сбора, обработки и передачи информации;
— правильной организации проведения инвентаризации;
— своевременных проверок весоизмерительного оборудования.
Контрольная функция бухгалтерского учета не реализуется в случаях искажения данных бухгалтерского учета. Это может произойти умышленно путем внесения подлогов в учетные документы или из-за случайных ошибок.
Наряду с перечисленными видами учета в настоящее время выделяют налоговый учет. Теоретически его можно определить как систему сбора, фиксации и обработки хозяйственной и финансовой информации, необходимой для правильного исчисления налоговых обязательств плательщика и контроля за выполнением этих обязательств.
В ряде зарубежных стран существуют две модели взаимодействия систем бухгалтерского и налогового учета. В первой модели бухгалтерский учет и налоговый фактически совпадают (Бельгия, Испания, Швеция). Во второй предполагается параллельное функционирование бухгалтерского и налогового учетов как двух самостоятельных видов деятельности (Англия, США, Канада и др.).
В России обязанность ведения налогового учета закреплена в гл. 25 НК РФ. Однако, в отличие от бухгалтерского учета, он не имеет жесткой законодательной регламентации. В соответствии со ст. 313 НК РФ система налогового учета организуется налогоплательщиком самостоятельно, налоговые и иные органы не вправе устанавливать для налогоплательщиков обязательные формы налогового учета.
Управленческий учет получил интенсивное развитие в последние годы. Однако его применение существенно ограничивается масштабами и спецификой осуществления хозяйственной деятельности. Данный вид учета регламентируется локальными подзаконными актами отдельных предприятий. Основными потребителями информации управленческого учета являются представители различных уровней внутреннего управления (руководители, менеджеры организации). Его специфика проявляется в отсутствии ограничений в выборе системы измерителей, произвольном составлении отчетности и сильной зависимости от целей управления предприятием. Этот вид учета наиболее часто используется для планирования, прогнозирования и контроля за деятельностью организации.
Страховой учет предусматривает регистрацию отношений хозяйствующего субъекта с органами социального, имущественного и других видов страхования. По своему содержанию он представляет конгломерат оперативного и бухгалтерского учетов с определенной спецификой учета выплат по страховым случаям отчислений на государственное и негосударственное страхование, расчеты оптимальных схем страхования и т.п.
2. Организация бухгалтерского учета и контроля на предприятии
Организация бухгалтерского учета - это научно обоснованная система выполнения условий и элементов построения учетного процесса в целях получения достоверной и своевременной информации о хозяйственной деятельности организации и осуществления контроля за рациональным использованием трудовых, производственных и финансовых ресурсов.
Организация учета на предприятии является важнейшей частью ее учетной политики, организационной основой которой выступает комплекс мер и мероприятий по построению всей структуры бухгалтерской службы и определению ее места в системе управления предприятием.
Бухгалтерский учет своей хозяйственной деятельности должны вести все юридические лица (организации, предприятия, учреждения) независимо от организационно- правовой формы. Физические лица, занимающиеся индивидуальной предпринимательской деятельностью, ведут учет своих доходов и расходов в соответствии с действующим налоговым законодательством.
Основными предпосылками рациональной организации ведения бухгалтерского учета являются:
— изучение положений, указаний, инструкций и других документов, регламентирующих ведение учета, отчетность, а также организационные и производственные особенности предприятия;
— определение объема и характера учетной работы;
— установление структуры аппарата бухгалтерии и форм его связи с отдельными частями (структурными подразделениями) предприятия.
В соответствии с законодательством о бухгалтерском учете ответственность за организацию бухгалтерского учета и соблюдение законодательства при выполнении хозяйственных операций несут руководители организации. Руководитель обязан создать необходимые условия для правильного ведения бухгалтерского учета, обеспечить неукоснительное выполнение всеми структурными подразделениями и службами, работниками организации, имеющими отношение к учету, требований главного бухгалтера по вопросам оформления и представления для учета документов и сведений.
Руководители организаций могут в зависимости от объема учетной работы (п. 2 ст. 6 Закона № 129):
а) учредить бухгалтерскую службу как структурное подразделение, возглавляемое главным бухгалтером;
б) ввести в штат должность бухгалтера;
в) передать на договорных началах ведение бухгалтерского учета централизованной бухгалтерии, специализированной организации или бухгалтеру-специалисту;
г) вести бухгалтерский учет лично.
Бухгалтерия является самостоятельным структурным подразделением хозяйствующего субъекта. Ее возглавляет главный бухгалтер (старший бухгалтер), имеющий в подчинении бухгалтерских и счетных работников, которые могут специализироваться на отдельных направлениях учетной работы.
Штатная численность бухгалтерии зависит от размеров предприятия, объемов выпускаемой продукции, объемов учетно-отчетных работ и их сложности, численности работающих и уровня автоматизации учета.
Наиболее простая структура бухгалтерии в небольших организациях. Здесь работа распределяется между исполнителями, как правило, без учета специализации по конкретным участкам деятельности.
На крупных и средних предприятиях возникает необходимость деления бухгалтерии на определенные части (отделы, секторы, группы):
1) расчетный отдел (группа), в котором на основании первичных документов выполняются все расчеты по заработной плате, осуществляется контроль за использованием фонда оплаты труда и фонда потребления, ведется учет расчетов по отчислениям на социальное страхование и обеспечение, в Пенсионный фонд РФ, фонд занятости и др.;
2) материальный отдел (группа), который ведет учет поступления материальных ценностей, расчетов с поставщиками материалов, поступления и расходования материалов по местам их хранения и использования и т.д.; учет основных средств, малоценных и быстроизнашивающихся предметов и готовой продукции;
3) производственный отдел (группа), работники которого ведут учет затрат на все виды производств, калькулируют фактическую себестоимость выпускаемой продукции, определяют состав затрат на незавершенное производство;
4) общий отдел (группа), работники которого осуществляют учет остальных операций, ведут Главную книгу и составляют бухгалтерскую отчетность.
Кроме того, в бухгалтерии могут, в зависимости от специфики производства, выделяться дополнительные подразделения. Например, если организация осуществляет капитальные вложения, вводится подразделение, занимающееся учетом затрат на строительство и приобретение основных средств и составлением отчетности по капитальным вложениям. На крупных предприятиях и в производственных объединениях в центральной бухгалтерии выделяются самостоятельные структурные подразделения по отдельным производствам, выполняющие полный цикл учетных работ на правах самостоятельной бухгалтерии. При такой комбинированной организации структуры бухгалтерии права главного бухгалтера передаются руководителям подразделений бухгалтерий, которые самостоятельно организуют и осуществляют бухгалтерский учет в пределах установленной компетентности.
Структура бухгалтерского аппарата зависит в основном от условий организации и технологии производства, объема учетной работы и наличия технических средств учета. В настоящее время сложились четыре основных типа организации структуры бухгалтерий: линейная (иерархическая), по вертикали (линейно-штабная), функциональная и комбинированная.
При линейной организации все работники бухгалтерии подчиняются непосредственно главному бухгалтеру. Применение такой структуры оправдано в небольших организациях с численностью аппарата до 5-9 человек.
При организации аппарата бухгалтерии по вертикали создаются промежуточные звенья управления (группы, отделы, секторы), возглавляемые старшими бухгалтерами. Распоряжения главного бухгалтера в этом случае передаются старшим бухгалтерам соответствующих отделов, которые определяют конкретных исполнителей и контролируют выполнение работ. Данная структура бухгалтерии применяется в средних и некоторых крупных организациях.
Функциональная организация структуры бухгалтерии предусматривает распределение труда между работниками и выполнение каждым из них однородных операций. При подобной организации один работник может выполнять работу с первичными документами, второй ведет учетные регистры на основании обработанных документов и т.д. Это способствует сокращению затрат и рабочего времени, а также усилению контроля за деятельностью бухгалтерского аппарата.
Комбинированная организация структуры бухгалтерии применяется на крупных предприятиях и в производственных объединениях. В данных хозяйственных структурах по отдельным производствам, циклам и цехам могут выделяться самостоятельные бухгалтерии. При такой организации учета правами главного бухгалтера наделяются руководители подразделений бухгалтерий, которые сами осуществляют бухгалтерский учет в пределах установленной компетенции.
На крупных предприятиях может иметься должность бухгалтера-ревизора. В соответствии со своими должностными обязанностями он осуществляет на основании действующего законодательства, инструкций и положений плановые, а по специальным заданиям документальные ревизии хозяйственно-финансовой деятельности предприятий, а также подразделений, находящихся на самостоятельном балансе, своевременно оформляет результаты ревизии и представляет их в соответствующие инстанции для принятия мер.
В состав бухгалтерии входит кассир, который в соответствии с должностными обязанностями: осуществляет операции по приему, учету, выдаче и хранению денежных средств и ценных бумаг с обязательным соблюдением правил, обеспечивающих их сохранность; получает по оформленным в соответствии с установленным порядком документам денежные средства и ценные бумаги в учреждениях банка для выплаты рабочим и служащим заработной платы, премий, оплаты командировочных и других расходов; ведет на основе приходных и расходных документов кассовую книгу, сверяет фактическое наличие денежных сумм и ценных бумаг с книжным остатком, составляет кассовую отчетность. В части учета материальных ценностей в тесном контакте с бухгалтерией работают заведующие складами. Несмотря на то что складское хозяйство предприятия не входит в структуру бухгалтерии, склады подчиняются отделу снабжения или отделу сбыта. Заведующий складом обязан выполнять все требования бухгалтерии, касающиеся ведения учета складских операций, соблюдения правил оформления и сдачи приходно-расходных документов, составления установленной отчетности.
С кассирами, кладовщиками и иными материально ответственными лицами администрация организации в целях обеспечения сохранности вверенных материальных ценностей заключает договор о полной индивидуальной материальной ответственности.
В договоре прямо записано, что в случае необеспечения по вине работника сохранности вверенных ему материальных ценностей определение размера ущерба, причиненного предприятию, и его возмещение производятся в соответствии с действующим законодательством.
Бухгалтерия (на крупных предприятиях — финансовый отдел) организует экономическую деятельность предприятия, направленную на обеспечение финансовыми ресурсами, сохранности и эффективного использования основных фондов и оборотных средств, своевременности платежей в федеральный и местные бюджеты, поставщикам и учреждениям банков. Отдел также разрабатывает проекты перспективных и годовых финансовых и кассовых планов, кредитных заявок, участвует в подготовке проектов планов реализации продукции, плановых заданий по прибыли и налогу с оборота, повышению рентабельности производства.
Особое значение в организации контроля на предприятии отводится внутреннему контролю, который обеспечивает возможность принятия эффективных управленческих решений, а также их исполнение. Среди многочисленных субъектов внутреннего контроля (административно- управленческий персонал, ревизионные комиссии, службы экономической безопасности, внутренние аудиторы и др.) особая роль отводится главным бухгалтерам.
В соответствии с п. 11, 12 Положения о главных бухгалтерах, утвержденного постановлением Совета Министров СССР от 24 января 1980 г. № 59 (с учетом решения Верховного Суда РФ от 17 апреля 2002 г.), главный бухгалтер совместно с руководителями соответствующих подразделений и служб обязан контролировать:
а) соблюдение установленных правил оформления приемки и отпуска товарно-материальных ценностей;
б) правильность расходования фонда заработной платы, установления должностных окладов, строгое соблюдение штатной, финансовой и кассовой дисциплины;
в) соблюдение установленных правил проведения инвентаризации денежных средств, товарно-материальных ценностей, основных фондов, расчетов и платежных обязательств;
г) взыскание в установленные сроки дебиторской и погашение кредиторской задолженностей, соблюдение платежной дисциплины;
д) законность списания с бухгалтерских балансов недостач, дебиторской задолженности и других потерь.
При наличии в составе объединения, предприятия, организации, учреждения самостоятельной финансовой службы на главного бухгалтера возлагаются обязанности по учету финансовых, расчетных и кредитных операций и контролю законности, своевременности и правильности оформления этих операций.
В случае обнаружения незаконных действий должностных лиц (приписки, использование средств не по назначению и другие нарушения и злоупотребления) главный бухгалтер докладывает об этом руководителю объединения, предприятия, организации, учреждения для принятия мер (п. 13 Положения).