Главная страница
Навигация по странице:

  • Свойства: Универсальность

  • Однозначность

  • Способы записи: Вербальный

  • Графический

  • Программная

  • Основные условные обозначения

  • Повторение Цикл

  • С постусловием («до» или « do … « while » )

  • С параметром («для» или « for »)

  • Язык программирования

  • Процедурная декомпозиция

  • Объектно-ориентированная декомпозиция

  • Основные характеристиками программы являются

  • Основные этапы решения задач на ЭВМ

  • Транслятор

  • Процесс компиляции, как правило, состоит из нескольких этапов

  • Интерпретатор

  • Динамическая или JIT компиляция

  • Компиляция каждого участка кода выполняется только один раз;

  • Платформа .NET Framework

  • MSIL

  • Библиотека классов вместе с CLR образуют каркас

  • ОАиП_Ответы. Алгоритм это точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов.


    Скачать 2.05 Mb.
    НазваниеАлгоритм это точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов.
    Дата02.12.2022
    Размер2.05 Mb.
    Формат файлаdocx
    Имя файлаОАиП_Ответы.docx
    ТипЭкзаменационные вопросы
    #824058
    страница1 из 3
      1   2   3

    Экзаменационные вопросы


    1. Понятие алгоритма, его свойства.

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

    Свойства:

    • Универсальность (массовость) – применимость алгоритма к различным наборам исходных данных.

    • Дискретность – процесс решения задач по алгоритму разбит на отдельные действия.

    • Однозначность – правила и порядок выполнения действий алгоритма имеют единичное толкование.

    • Конечность – каждое из действий и весть алгоритм в целом обязательно завершаются.

    • Результативность – по завершении выполнения алгоритма обязательно получается конечный результат.

    1. Способы записи алгоритмов. Блок-схемы алгоритмов.

    Способы записи:

    • Вербальный, когда алгоритм описывается на человеческом языке

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

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

    • Словесная, записывается на естественном языке.

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

    • Программная – тексы на языках программирования.

    • Выбор средства для записи алгоритма определяется типом исполняемого алгоритма.

    Блок-схема

    Общепринятыми способами записи является графическая запись с помощью блок-схем.

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

    Порядок выполнения действий указываются стрелками

    Написание алгоритмов с помощью блок-схем (графически) регламентируются ГОСТом (ГОСТ 19.701-90, ГОСТ 19.002-80, ГОСТ 19.003-80)

    Основные условные обозначения





    Возможности:

    • Наглядно отобразить базовые конструкции алгоритма

    • Сосредоточить внимание на структуре алгоритма, а не на синтаксисе языка

    • Анализировать логическую структуру алгоритма

    • Преобразовывать алгоритм методом укрупнения (сведения к единому блоку) или детализации – разбиения на ряд блоков;

    • Использовать принцип блочности при коллективном решении сложной задачи;

    • Осуществить быструю проверку разработанного алгоритма (на уровне идеи);

    1. Основные алгоритмические структуры.

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

    • следование,

    • ветвление,

    • повторение.



    Следование

    Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:



    Ветвление

    Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.

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

    • если — то — иначе;

    • если — то;

    • выбор;

    • выбор — иначе.



    Выбор

    Выбор - выбор одного варианта из нескольких в зависимости от значения некоторой величины



    Повторение

    Цикл – это многократное повторение некоторой совокупности действий, которая называется телом цикла.

    Циклы:

    • С предусловием («пока» или «while»)

    Цикл «пока» - определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла

    1. Здесь Действие называют телом цикла.

    2. Цикл работает до тех пор, пока условие ИСТИННО; как только условие становится ложным, цикл заканчивает работу. В частности, этот цикл может не выполниться ни разу, если при первой же проверке условие ложно.

    3. В теле цикла обязательно должно быть действие, которое влияет на изменение условия. В противном случае может произойти «зацикливание» (бесконечный цикл).



    • С постусловием («до» или «do… «while»)

    Цикл «до» - повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле

    1. Здесь Действие называют телом цикла.

    1. Цикл работает до тех пор, пока условие ЛОЖНО; как только условие становится истинным, цикл заканчивает работу. Этот цикл выполняется как минимум один раз, так как условие стоит после тела цикла.

    2. В теле цикла обязательно должно быть действие, которое влияет на изменение условия. В противном случае может произойти «зацикливание» (бесконечный цикл).



    • С параметром («для» или «for»)

    Цикл с заданным числом повторений (счетный цикл) – повторение некоторых действий указанное число раз

    1. Здесь переменную i называют счетчиком цикла, n1 – начальное значение счетчика, n2 – конечное значение счетчика.

    1. Переменная i последовательно принимает все значения от n1 до n2, автоматически увеличиваясь на h – шаг цикла.

    2. Действие цикла заканчивается, как только i становится больше n2.

    3. Этот цикл используют в задачах, в которых заранее известно количество повторений.



    1. Понятие языка программирования. Уровни и поколения языков программирования. Парадигмы программирования.

    Язык программирования - формализованный язык, предназначенный для описания программ и алгоритмов решения задач на ЭВМ.

    Парадигма — способ организации программы, принцип ее построения. Наиболее распространенными являются процедурная и объектно-ориентированная парадигмы.
    Они различаются способом декомпозиции, положенным в основу при создании программы.





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

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

    Кроме того, существуют функциональная и логическая парадигмы.

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

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

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

    Основные характеристиками программы являются:

    1. Алгоритмическая сложность

    2. Состав и глубина проработки реализации функции обработки

    3. Полнота и системность функций обработки

    4. Объем файлов программ

    5. требования ОС и техническим средствам обработки со стороны программного средства

    6. Объем диска памяти

    7. Размер операционной системы для запуска программы

    8. Тип процессора

    9. Время ОС

    Основные этапы решения задач на ЭВМ:

      1. Постановка задачи

      2. Определение методов решения

      3. Составление алгоритмов

      4. Написание программ для ЭВМ

      5. Отладка программ на ЭВМ

      6. Получение результатов на ЭВМ

    1. Программы трансляторы: компиляторы, интерпретаторы.

    Транслятор — программа или техническое средство, выполняющее трансляцию программы

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

    Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом.

    Выходной язык называется целевым языком или объектным кодом.

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

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

    Процесс компиляции, как правило, состоит из нескольких этапов:

    • лексический анализ;

    • синтаксический анализ;

    • семантический анализ;

    • создание на основе результатов анализов промежуточного кода;

    • оптимизация промежуточного кода;

    • создание объектного кода, в данном случае машинного.

    Достоинства:

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

    • не требуется наличие компилятора на целевой машине, для которой компилируется программа.

    Недостатки:

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

    • при внесении изменений в исходный код, требуется повторная компиляция

    Интерпретатор – это программа, предназначенная для построчных трансляции и выполнения исходной программы. Такой процесс называется интерпретацией.

    Интерпретатор может работать двумя способами:

    • читать код и исполнять его сразу (чистая интерпретация);

    • читать код, создавать в памяти промежуточное представление кода, выполнять промежуточное представление кода (смешанная реализация).

    • Процесс работы интерпретатора, как правило, состоит из нескольких этапов:

    • лексический анализ;

    • синтаксический анализ;

    • семантический анализ;

    • создание промежуточного представления кода (при чистой интерпретации не выполняется);

    • исполнение.

    Достоинства:

    • Интерпретатор сообщает о найденных им ошибках после трансляции каждой строки программы. Это облегчает процесс поиска и исправления ошибок в программе.

    Недостатки:

    • увеличивается время трансляции,

    • необходимость наличия интерпретатора на устройстве, на котором планируется интерпретация программы

    Динамическая или JIT компиляция

    Динамическая или JIT компиляция — трансляция, при которой исходный или промежуточный код преобразуется в машинный код непосредственно во время исполнения, «на лету».

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

    Достоинства динамической компиляции по сравнению с компиляцией:

    • скорость работы динамически компилируемых программ близка к скорости работы компилируемых программ;

    • отсутствие необходимости перекомпиляции программы при переносе на другую платформу.

    • Недостатки динамической компиляции по сравнению с компиляцией и чистой интерпретацией:

    • большая сложность реализации;

    • большие требования к ресурсам.

    1. Общая характеристика платформы .NET Framework. Компоненты. Архитектура.

    Платформа .NET Framework — это управляемая среда выполнения для ОС Windows, предоставляющая разнообразные службы запускаемым в ней приложениям.

    Она состоит из двух основных компонентов:

    • среды CLR (Common Language Runtime) — механизма, управляющего выполняющимися приложениями,

    • библиотеки классов .NET Framework (Framework Class Library) — библиотеки проверенного кода, предназначенного для повторного использования, который разработчики могут вызывать из своих приложений.



    1. Общеязыковая среда выполнения (Common Language Runtime, CLR), ее назначение, функции.

    Общеязыковая среда выполнения (Common Language Runtime, CLR) — это исполняющая среда, которая подходит для различных языков программирования.

    К функциям CLR относятся:

    • двухшаговая компиляция: преобразование программы, написанной на одном из языков программирования в управляемый код на промежуточном языке (Microsoft Intermediate Language, MSIL, или просто IL), а затем преобразование IL-кода в машинный код конкретного процессора, который выполняется с помощью виртуальной машины или JIT-компилятора (Just In Time compiler - компилирование точно к нужному моменту);

    • управление кодом: загрузка и выполнение уже готового IL-кода с помощью JIT-компилятора, доступ к метаданным с целью проверки безопасности кода;

    • управление памятью при размещении объектов с помощью сборщика мусора (Garbage Collector);

    • обработка исключений и исключительных ситуаций, включая межъязыковые исключения;

    • осуществление взаимодействия между управляемым кодом (код, созданный для СLR) и неуправляемым кодом;

    • поддержка сервисов для разработки разнотипных приложений.

    • Компилятор в качестве результата своего выполнения создаёт так называемую сборку – файл с расширением exe или dll, который содержит код на языке IL и метаданные.

    Промежуточный язык MSIL не содержит команд, зависящих от языка, операционной системы и типа компьютера.

    Программа на этом языке выполняется под управлением системы CLR.

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

    CLR вызывает JIT-компилятор, переводящий код с языка IL в машинные команды конкретного процессора, которые немедленно выполняются.

    1. Библиотеки классов .NET. Понятие «framework».

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

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

    Над этим слоем находится набор классов, позволяющий работать с базами данных и XML.

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

    Библиотека классов вместе с CLR образуют каркас (framework), то есть основу платформы.

    1. Понятия приложения, проекта, решения.

    Приложения (прикладное программное обеспечение) – это программы для обработки информации без использования программирования.
      1   2   3


    написать администратору сайта