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

  • C (разработка игр)

  • Программирование вопросы. экз программирование. Экзаменационное


    Скачать 117.77 Kb.
    НазваниеЭкзаменационное
    АнкорПрограммирование вопросы
    Дата06.12.2022
    Размер117.77 Kb.
    Формат файлаdocx
    Имя файлаэкз программирование.docx
    ТипДокументы
    #830615

    ЭКЗАМЕНАЦИОННОЕ ЗАДАНИЕ
    Гр. ДКАО-31/1, ДКАО-31/2


    1. Понятие алгоритма. Исполнитель. Система команд исполнителя. Свойства алгоритмов. Компьютер как универсальный исполнитель.

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

    Все команды исполнителя можно разделить на группы:

    1) команды, которые непосредственно выполняет исполнитель;

    2) команды, меняющие порядок выполнения команд исполнителя.

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

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

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

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

    • программный (запись алгоритма в виде программы).

    Выделяют следующие свойства алгоритма:

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

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

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

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

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

    6. Завершаемость (конечность). Если исходные данные заданы корректно, алгоритм завершит свое действие и выдаст результат за конечное число шагов.

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


    1. Программирование как раздел информатики. Языки программирования. Обзор. Классификация.
      Программирование – это раздел информатики, задача которого – разработка программного обеспечения ЭВМ. Назначение программирования – разработка программ управления компьютером с целью решения различных информационных задач. Для составления программ существуют разнообразные языки программирования.

    JavaScript - Он отвечает за интерактивность и динамически меняющуюся информацию на страницах сайта.

    Python - Может использоваться для задач по автоматизации и анализу данных. Имеет понятный синтаксис и понятен для новичков в программировании.

    Java - (не путать с JavaScript) Это высокоуровневый объектно-ориентированный язык программирования. Используется в сетевой архитектуре, встраиваемых устройствах и других вычислительных приложениях. 

    С++ - При помощи программного кода этого языка можно делать различные арифметические операции. Его можно использовать для моделирования и расчётов.

    PHP - используют для таких соцсетей, как Facebook, «ВКонтакте», а также Википедия. Это скриптовый язык – с открытым исходным кодом. Он создавался специально для веб-разработок.

    Swift появился только в 2014 году. Он прост для освоения, если вы новичок в программировании. Но применять свои знания вы сможете только для разработки iOS и macOS. 

    C# (разработка игр) является расширенной версией языка C с важным дополнением в виде объектно-ориентированных возможностей. Unity – это инструмент для разработки двухмерных и трехмерных игр и приложений, которые могут работать более чем с 20 различными операционными системами.

    С - Многие компиляторы и интерпретаторы для других языков написаны на языке C.



    1. Язык программирования Python. Общая характеристика языка: место в классификации языков, синтаксис и семантика языка, основные объекты языка, операторы, структура программы.


    1. Понятие среды программирования. Компоненты среды. Компиляция и компоновка программы.

    Среда программирования — это программа, в которой программисты разрабатывают свои программы.

    Основные компоненты среды программирования — это редактор, компилятор и отладчик.

    Интерпретатор (IDE) исполняет код, как только «прочтет» нужную строку, а компилятор отдает его на выполнение системе — сам он только переводит.

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

    Отладка - компонент, на котором обнаруживают, локализуют и устраняют ошибки.
    Компоновка. На этом этапе отдельные объектные файлы проекта соединяются в единый исполняемый файл. На этом этапе возможны так называемые ошибки связывания: если функция была объявлена, но не определена, ошибка обнаружится только на этом этапе.


    1. Синтаксические и логические ошибки. Тестирование и отладка программы.


    1. Данные в языке Python: константы и переменные. Скалярные типы данных. Модификаторы типов.



    1. Данные числовых типов в языке Python: объявление, характеристика, допустимые операции, приведение типов. Пример использования


    1. Операции языка Python. Приоритет операций. Оператор и операция присваивания в языке Python. Множественное присваивание. Выражения.



    1. Функции форматного ввода и вывода. Параметры. Управляющая строка. Спецификаторы формата. Управляющие символы.


    1. Алгоритмическая конструкция выбора: понятие, блок-схема. Оператор выбора в языке Python: структура оператора. Пример программы на Python.


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



    Операторы выбора: if else; elif

    if else

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

    Синтаксически конструкция if else выглядит следующим образом:

    1. сначала записывается часть if с условным выражением, которое возвращает истину или ложь;

    2. затем может следовать одна или несколько необязательных частей elif (в других языках вы могли встречать else if);

    3. Завершается же запись этого составного оператора также необязательной частью else.


    elif позволяет программе выбирать из нескольких вариантов. Это удобно, например, в том случае, если одну переменную необходимо многократно сравнить с разными величинами. Такая конструкция может содержать сколь угодно большую последовательность условий, которые интерпретатор будет по порядку проверять. ПЕРВОЕ УСЛОВИЕ ВСЕГДА ЗАДАЕТСЯ С IF.

    Если ни одно из условий для частей if и elif не выполняется, то срабатывает заключительный блок под оператором еlse (если он существует).
    ПРИМЕР:




    1. Структура оператора, полная и неполная формы, использование сложных условий. Пример на языке Python.


    1. Алгоритмическая конструкция выбора: понятие, блок-схема. Оператор выбора в языке Python: структура оператора. Пример программы на Python.


    1. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с предусловием (понятие, использование, блок-схема). Оператор цикла for: структура оператора, пример использования.


    1. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с предусловием (понятие, использование, блок-схема). Оператор цикла с предусловием while в языке Python: структура оператора, допустимые и недопустимые условия, пример использования.

    1. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с постусловием (понятие, использование, блок-схема). Оператор цикла с постусловием в языке Python: структура оператора, допустимые и недопустимые условия, пример использования.


    1. Типовые циклические алгоритмы: максимум/минимум, сумма/произведение, количество.



    1. Линейный массив: понятие массива, объявление, инициализация массива, индексация элементов. Формирование и вывод массива.



    1. Типовые алгоритмы для работы с линейными массивами.


    1. Задача сортировки массива. Алгоритм сортировки линейного массива методом "пузырька".

    Сортировка – это упорядочивание набора однотипных данных по возрастанию или убыванию.

    Сортировка применяется для облегчения поиска элементов в упорядоченном множестве. Задача сортировки одна из фундаментных в программировании.

    Под сортировкой понимается процедура, в результате выполнения которой изменяется исходный порядок следования данных. Например, при сортировке по возрастанию из одномерного массива [3 1 0 5 2 7] получается массив [0 1 2 3 5 7]. Один из наиболее наглядных методов сортировки – «метод пузырька»

    МЕТОД ПУЗЫРЬКА.

    Метод получил такое название, потому то каждое наибольшее значение как бы всплывает вверх. В Python эти алгоритмы уже реализованы в функциях maх() min() и в методе sort(). Метод sort() сортирует список по возрастанию значения элементов.



    1. Двумерный массив. Объявление, инициализация двумерного массива, индексация элементов.

    Двумерный массив – это набор однотипных данных, имеющих общее имя и доступ к элементам которого осуществляется по 2-м индексам.

    Таблицы с данными называются матрицами/двумерными массивами

    Объявление, инициализация двумерного массива. Индексация элементов.

    Инициализация – подготовка к работе В питоне это осуществляется с помощью NumPy.

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

    Для работы с массивом нужно использовать import array. А после можно с ним работать.

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

    Инициализация двумерного массива происходит через импорт NumPy = с помощью него можно выполнять математические вычисления.

    Создание таблиц с размером 3х3 заполнено 4 двойками.


    1. Типовые алгоритмы для обработки двумерного массива (целиком).

    2. Формирование и вывод двумерного массива.

    3. Частичная обработка двумерного массива (по строкам или по столбцам). Типовые алгоритмы.

    4. Рекурсивное описание функций: база рекурсии, рекурсивный вызов, использование стека. Пример использования.

    5. Массивы. Работа с массивами. Виды.

    6. Массив символов и строка в языке Python. Ввод и вывод строк. Простейшие алгоритмы сканирования и обработки строки. Пример.

    7. Строка в языке Python: функции для обработки строк. Примеры использования

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

    9. Функции в языке Python: понятие, объявление, прототипы функций. Вызов функции. Типы возвращаемых значений.

    10. Задача сортировки массива. Алгоритм сортировки методом "сортировка вставками".

    Преподаватель Беляева Е.С. //


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