Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы шпаковский.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
393.22 Кб
Скачать

31.Циклы. Операции с символьными переменными.

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

- Условие – от истинности которого зависит, будет ли выполняться тело цикла.

- Тело – набор инструкций, выполняемых циклом

- Инициализатор – в цикле For – создает или использует переменную, приравнивая к указанному значению.

- Изменение счетчика – в цикле For – изменяет указанным способом переменную

Выделяют следующие виды циклов:

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

Циклы с предусловием/постусловием – тело выполняется до тех пор, пока истинно условие. Условие проверяется перед/после выполнения тела цикла.

Цикл с выходом из середины – цикл, в середине которого есть особая команда, способная прервать выполнение цикла и выполнять следующие за циклом инструкции

Цикл со счетчиком – наиболее популярен цикл for, компактно и логично сочетающий инициализацию, условие и изменение одной или нескольких переменных. В языке С++ выглядит так:

For (инициализация; условие; изменение счетчика)

{

Тело цикла

};

Имеет похожую структуру в других языках программирования. Обычно в инициализации, условии и изменении используют одну и ту-же переменную. Пример цикла for в c++: цикл, который выполняется пока a меньше 5, будет выглядеть так:

For(a=1; a<5; a = a + 1)

{

Тело цикла

};

Данный цикл выполниться четыре раза (при а = 1,2,3,4).

Операции с символьными переменными

Символьный тип (Сhar) — простой тип данных, предназначенный для хранения одного символа (управляющего или печатного) в определённой кодировке. Может являться как однобайтовым (для стандартной таблицы символов), так и многобайтовым (к примеру, для Юникода). Основным применением является обращение к отдельным знакам строки. Любой символ имеет номер в некой таблице символов (ANSI, Unicod)

Строка – переменная, состоящая из нескольких символов. В некоторых языках является массивом символов с завершающим нулевым символом «\0».

Операции со строками и массивами

Очень богатым набором команд для работы со строками обладает Паскаль. Функции в Паскале:

chr(n) и ord(m) - номер символа – любой символ в представлении компьютера является числом. Потому возможно узнать, под каким номером символ m находиться в таблице (ord(m)) и наоборот – по номеру n в таблице получить символ (chr(n)). Также можно обратиться к следующему или предыдущему символу таблицы за данным, не используя его номер (succ(c1), pred(c1)).

concat(s1,s2, … ,sn) - конкатенация – объединение строк – начало второй строки объединятся с концом первой, начало третьей к концу первых двух, и т.д.. Нулевой символ в середине убирается (т.к. он, являясь завершающим, «мешает» прочитать строку, будучи в ее середине).

copy(s, p, n) – копирование – копировать из строки s начиная с позиции p n-ное количество символов.

length(s) - длина – узнать число символов в строке.

pos(s1,s2)) – найти, с какого по счету символа начинается срока s1 в строке s2 (возвращает 0, если не найдена).

delete(s,p,n) – удалить – удалить в строке s начиная с позиции p n-ное количество символов.

insert(s1,s2,p) - вставить – вставить строку s1 в строку s2 в позицию p.

srt(n: p: q, s) - число в строку – преобразовать число n в строку s

val(s, n, p) - строку в число – преобразовать строку s в число n

32.Программирование на языке высокого уровня. Основные понятия объектно-ориентированного визуального программирования.

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

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

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

Широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957)

Распространено мнение, что программы на языках высокого уровня можно написать один раз и потом использовать на компьютере любого типа. В действительности же это верно только для тех программ, которые мало взаимодействуют с операционной системой, например, выполняют какие-либо вычисления или обработку данных. Большинство же интерактивных (а тем более мультимедийных) программ обращаются к системным вызовам, которые сильно различаются в зависимости от операционной системы. Например, для отображения графики на экране компьютера программы под Microsoft Windows используют функции Windows API, которые отличаются от используемых в системах, поддерживающих стандарт POSIX.

Объе́ктно-ориенти́рованное программи́рование (ООП) — правило, стиль программирования, в котором основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.

Ключевые понятия ООП:

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.

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

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

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

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

Прототип (в прототипном языке программирования) — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.

Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Визуальное программирование часто представляют как следующий этап развития текстовых языков программирования. Наглядным примером может служить утилита Визуальный Pascal, где редактируются графические объекты и одновременно отображается соответствующий текст программы. В последнее время визуальному программированию стали уделять больше внимания - в связи с развитием мобильных сенсорных устройств (КПК, планшеты), когда использование клавиатуры не очень удобно.

Необходимо различать:

  • графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)

  • визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров.