- •1. Понятие информации, ее измерение, количество и качество информации. Информационный ресурс. Формы и способы представления информации 3
- •Задание №11
- •1. Понятие информации, ее измерение, количество и качество информации. Информационный ресурс. Формы и способы представления информации.
- •2. Состав и назначение основных элементов персонального компьютера. Периферийные устройства. Понятие и основные виды архитектуры эвм. Их характеристики.
- •3. Понятие системного программного обеспечения: назначение, возможности, структура; операционные системы.
- •4.Текстовые редакторы.
- •5. Моделирование как метод познания.
- •6. Программа на языке высокого уровня, типы данных, переменные, выражения.
- •7. Основные понятия языков программирования. Развитие языков программирования.
- •8. Объекты баз данных.
- •9.Основы компьютерной коммуникации. Принципы построения сетей.
- •10. Методы защиты информации. Организационные меры защиты информации.
- •Список используемой литературы:
6. Программа на языке высокого уровня, типы данных, переменные, выражения.
Среди современных языков программирования язык высокого уровня является одним из наиболее распространенных. Язык высокого уровня универсален, однако наиболее эффективно его применение в задачах системного программирования – разработке трансляторов, операционных систем, инструментальных средств. Язык высокого уровня хорошо зарекомендовал себя эффективностью, лаконичностью записи алгоритмов, логической стройностью программ. Во многих случаях программы, написанные на языке высокого уровня, сравнимы по скорости с программами, написанными на Ассемблере, при этом они более наглядны и просты в сопровождении.
Перечислим некоторые особенности языка высокого уровня.
1.В языке высокого уровня реализован ряд операций низкого уровня. Некоторые из таких операций напрямую соответствуют машинным командам, например, поразрядные операции или операции ++ и --.
2.Базовые типы данных языка высокого уровня отражают те же объекты, с которыми приходится иметь дело в программе на Ассемблере – байты, машинные слова и т.д. Несмотря на наличие в языке высокого уровня развитых средств построения составных объектов (массивов и структур), в нем практически отсутствуют средства для работы с ними как с единым целым.
3.Язык высокого уровня поддерживает механизм указателей на переменные и функции. Указатель – это переменная, предназначенная для хранения машинного адреса некоторой переменной или функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на Ассемблере. Использование указателей позволяет создавать высокоэффективные программы, однако требует от программиста особой осторожности.
4.Как никакой другой язык программирования высокого уровня, язык высокого уровня «доверяет» программисту. Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Однако это также требует от программиста осторожности и самоконтроля.
5.Несмотря на эффективность и мощность конструкция языка высокого уровня, он относительно мал по объему. В нем отсутствуют встроенные операторы ввода/вывода, динамического распределения памяти, управления процессами и т.п., однако в системное окружение языка высокого уровня входит библиотека стандартных функций, в которой реализованы подобные действия.
Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.
Тип данных определяет:
• внутреннее представление данных в памяти компьютера;
• множество значений, которые могут принимать величины этого типа;
• операции и функции, которые можно применять к величинам этого тина.
Исходя из этих характеристик, программист выбирает тип каждой величины, используемой в программе для представления реальных объектов. Обязательное описание типа позволяет компилятору производить проверку допустимости различных конструкций программы. От типа величины зависят машинные команды, которые будут использоваться для обработки данных.
Все типы языка высокого уровня можно разделить на основные и составные. В языке высокого уровня определено шесть основных типов данных для представления целых, вещественных, символьных и логических величин. На основе этих типов программист может вводить описание составных типов. К ним относятся массивы, перечисления, функции, структуры, ссылки, указатели, объединения и классы.
Переменная — это именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменять. Перед использованием любая переменная должна быть описана.
В любой программе требуется производить вычисления. Для вычисления значений используются выражения, которые состоят из операндов, знаков операций и скобок. Операнды задают данные для вычислений. Операции задают действия, которые необходимо выполнить. Каждый операнд является, в свою очередь, выражением или одним из его частных случаев, например, константой или переменной. Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки.
Рассмотрим правила задания составных частей этого оператора.
• Необязательный класс памяти может принимать одно из значений auto, extern, static и register.
• Модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой.
• При описании можно присвоить переменной начальное значение, это называется инициализацией.
Область действия идентификатора — это часть программы, в которой его можно использовать для доступа к связанной с ним области памяти. В зависимости от области действия переменная может быть локальной или глобальной.
Для задания класса памяти используются следующие спецификаторы:
auto — автоматическая переменная. Память под нее выделяется в стеке и при необходимости инициализируется каждый раз при выполнении оператора, содержащего ее определение. Освобождение памяти происходит при выходе из блока, в котором описана переменная. Время ее жизни — с момента описания до конца блока. Для глобальных переменных этот спецификатор не используется, а для локальных он принимается по умолчанию, поэтому задавать его явным образом большого смысла не имеет.
extern — означает, что переменная определяется в другом месте программы (в другом файле или дальше по тексту). Используется для создания переменных, доступных во всех модулях программы, в которых они объявлены i. Подробнее об употреблении внешних переменных рассказывается в разделе «Внешние объявления», с. 98.
static — статическая переменная. Время жизни — постоянное. Инициализируется один раз при первом выполнении оператора, содержащего определение переменной. В зависимости от расположения оператора описания статические переменные могут быть глобальными и локальными. Глобальные статические переменные видны только в том модуле, в котором они описаны.
register — аналогично auto, но память выделяется по возможности в регистрах процессора. Если такой возможности у компилятора нет, переменные обрабатываются как auto.
