Программирование вопросы. экз программирование. Экзаменационное
Скачать 117.77 Kb.
|
ЭКЗАМЕНАЦИОННОЕ ЗАДАНИЕ Гр. ДКАО-31/1, ДКАО-31/2 Понятие алгоритма. Исполнитель. Система команд исполнителя. Свойства алгоритмов. Компьютер как универсальный исполнитель. Алгоритм - это последовательность действий, которая направлена на достижения окончательного решения проблемы наиболее оптимальными и эффективными способами. Исполнитель алгоритма - человек или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять. Пример исполнителя: Черепашка, компьютер Все команды исполнителя можно разделить на группы: 1) команды, которые непосредственно выполняет исполнитель; 2) команды, меняющие порядок выполнения команд исполнителя. Запись алгоритма в виде последовательности команд, которую может выполнить компьютер, называют программой. Существуют следующие способы представления алгоритмов: словесный (описание алгоритма средствами естественного языка с точной и конкретной формулировкой фраз); графический (блок-схема) (графическое изображение команд алгоритма с использованием геометрических фигур, или блоков, и стрелок, соединяющих эти блоки и указывающих на порядок выполнения команд); программный (запись алгоритма в виде программы). Выделяют следующие свойства алгоритма: 1. универсальность. Благодаря этому свойству, алгоритм можно успешно применять к различным наборам исходных данных. Подставляя в эту формулу значения (каждый раз новые), пользователь будет получать решения. 2. Дискретность. Это свойство характеризует структуру. Каждая алгоритмическая последовательность действий делится на этапы (шаги), а процесс решения задачи — это последовательное исполнение простых шагов. Также дискретность обозначает, что для выполнения каждого этапа потребуется конечный временной отрезок (исходные данные преобразуются во времени в результат дискретно). 3. Определенность (точность, детерминированность) — это свойство указывает алгоритму, что каждый его шаг должен быть строго определенным, то есть различные толкования должны быть исключены. Строго определяется и порядок выполнения шагов. В результате каждый шаг определяется состоянием системы однозначно, когда четко понятно, какая команда станет выполняться на следующем шаге. Как итог — при любом исполнителе для одних и тех же исходных данных при выполнении одной и той же цепочки команд будет выдаваться одинаковый результат. Да, существуют вероятностные алгоритмы — в них на последующий шаг влияют как текущее состояние системы, так и генерируемое случайное число. Но при включении способа генерации рандомных чисел в перечень «исходных данных», вероятностный алгоритм превращается в подвид обычного. 4. Понятность. Должны быть включены лишь те команды, которые доступны и понятны исполнителю, то есть входят в систему его команд. 5. Формальность. Любой исполнитель действует формально и лишь выполняет инструкции, не вникая в смысл. Он не отвлекается от поставленной задачи и не рассуждает, зачем и почему они нужны. Рассуждениями занимается разработчик алгоритма, задача же исполнителя — просто исполнить предложенные команды и получить результат. «Приказы не обсуждают, а выполняют». 6. Завершаемость (конечность). Если исходные данные заданы корректно, алгоритм завершит свое действие и выдаст результат за конечное число шагов. 7. Результативность. Согласно этому свойству, любой алгоритм должен завершаться конкретными результатами. Программирование как раздел информатики. Языки программирования. Обзор. Классификация. Программирование – это раздел информатики, задача которого – разработка программного обеспечения ЭВМ. Назначение программирования – разработка программ управления компьютером с целью решения различных информационных задач. Для составления программ существуют разнообразные языки программирования. JavaScript - Он отвечает за интерактивность и динамически меняющуюся информацию на страницах сайта. Python - Может использоваться для задач по автоматизации и анализу данных. Имеет понятный синтаксис и понятен для новичков в программировании. Java - (не путать с JavaScript) Это высокоуровневый объектно-ориентированный язык программирования. Используется в сетевой архитектуре, встраиваемых устройствах и других вычислительных приложениях. С++ - При помощи программного кода этого языка можно делать различные арифметические операции. Его можно использовать для моделирования и расчётов. PHP - используют для таких соцсетей, как Facebook, «ВКонтакте», а также Википедия. Это скриптовый язык – с открытым исходным кодом. Он создавался специально для веб-разработок. Swift появился только в 2014 году. Он прост для освоения, если вы новичок в программировании. Но применять свои знания вы сможете только для разработки iOS и macOS. C# (разработка игр) является расширенной версией языка C с важным дополнением в виде объектно-ориентированных возможностей. Unity – это инструмент для разработки двухмерных и трехмерных игр и приложений, которые могут работать более чем с 20 различными операционными системами. С - Многие компиляторы и интерпретаторы для других языков написаны на языке C. Язык программирования Python. Общая характеристика языка: место в классификации языков, синтаксис и семантика языка, основные объекты языка, операторы, структура программы. Понятие среды программирования. Компоненты среды. Компиляция и компоновка программы. Среда программирования — это программа, в которой программисты разрабатывают свои программы. Основные компоненты среды программирования — это редактор, компилятор и отладчик. Интерпретатор (IDE) исполняет код, как только «прочтет» нужную строку, а компилятор отдает его на выполнение системе — сам он только переводит. Компиляция – это сборка программы, включающая: трансляцию всех модулей программы, написанных на языке программирования, в аналоговые программные модули на языке, близком к машинному коду, или на машинном языке и сборку исполняемой программы. Отладка - компонент, на котором обнаруживают, локализуют и устраняют ошибки. Компоновка. На этом этапе отдельные объектные файлы проекта соединяются в единый исполняемый файл. На этом этапе возможны так называемые ошибки связывания: если функция была объявлена, но не определена, ошибка обнаружится только на этом этапе. Синтаксические и логические ошибки. Тестирование и отладка программы. Данные в языке Python: константы и переменные. Скалярные типы данных. Модификаторы типов. Данные числовых типов в языке Python: объявление, характеристика, допустимые операции, приведение типов. Пример использования Операции языка Python. Приоритет операций. Оператор и операция присваивания в языке Python. Множественное присваивание. Выражения. Функции форматного ввода и вывода. Параметры. Управляющая строка. Спецификаторы формата. Управляющие символы. Алгоритмическая конструкция выбора: понятие, блок-схема. Оператор выбора в языке Python: структура оператора. Пример программы на Python. Блок – схема – тип схем, описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединённых между собой линиями, указывающими направление последовательности. Операторы выбора: if else; elif if else интерпретатор начинает последовательное выполнение программы, доходит до if и вычисляет значение сопутствующего условного выражения. Если условие истинно, то выполняется связанный с if набор инструкций. После этого управление передается следующему участку кода, а все последующие части elif и часть else (если они присутствуют) опускаются. Синтаксически конструкция if else выглядит следующим образом: сначала записывается часть if с условным выражением, которое возвращает истину или ложь; затем может следовать одна или несколько необязательных частей elif (в других языках вы могли встречать else if); Завершается же запись этого составного оператора также необязательной частью else. elif позволяет программе выбирать из нескольких вариантов. Это удобно, например, в том случае, если одну переменную необходимо многократно сравнить с разными величинами. Такая конструкция может содержать сколь угодно большую последовательность условий, которые интерпретатор будет по порядку проверять. ПЕРВОЕ УСЛОВИЕ ВСЕГДА ЗАДАЕТСЯ С IF. Если ни одно из условий для частей if и elif не выполняется, то срабатывает заключительный блок под оператором еlse (если он существует). ПРИМЕР: Структура оператора, полная и неполная формы, использование сложных условий. Пример на языке Python. Алгоритмическая конструкция выбора: понятие, блок-схема. Оператор выбора в языке Python: структура оператора. Пример программы на Python. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с предусловием (понятие, использование, блок-схема). Оператор цикла for: структура оператора, пример использования. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с предусловием (понятие, использование, блок-схема). Оператор цикла с предусловием while в языке Python: структура оператора, допустимые и недопустимые условия, пример использования. Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с постусловием (понятие, использование, блок-схема). Оператор цикла с постусловием в языке Python: структура оператора, допустимые и недопустимые условия, пример использования. Типовые циклические алгоритмы: максимум/минимум, сумма/произведение, количество. Линейный массив: понятие массива, объявление, инициализация массива, индексация элементов. Формирование и вывод массива. Типовые алгоритмы для работы с линейными массивами. Задача сортировки массива. Алгоритм сортировки линейного массива методом "пузырька". Сортировка – это упорядочивание набора однотипных данных по возрастанию или убыванию. Сортировка применяется для облегчения поиска элементов в упорядоченном множестве. Задача сортировки одна из фундаментных в программировании. Под сортировкой понимается процедура, в результате выполнения которой изменяется исходный порядок следования данных. Например, при сортировке по возрастанию из одномерного массива [3 1 0 5 2 7] получается массив [0 1 2 3 5 7]. Один из наиболее наглядных методов сортировки – «метод пузырька» МЕТОД ПУЗЫРЬКА. Метод получил такое название, потому то каждое наибольшее значение как бы всплывает вверх. В Python эти алгоритмы уже реализованы в функциях maх() min() и в методе sort(). Метод sort() сортирует список по возрастанию значения элементов. Двумерный массив. Объявление, инициализация двумерного массива, индексация элементов. Двумерный массив – это набор однотипных данных, имеющих общее имя и доступ к элементам которого осуществляется по 2-м индексам. Таблицы с данными называются матрицами/двумерными массивами Объявление, инициализация двумерного массива. Индексация элементов. Инициализация – подготовка к работе В питоне это осуществляется с помощью NumPy. В языке python таблицу можно представить в виде списка строк, каждый элемент которого является списком чисел Для работы с массивом нужно использовать import array. А после можно с ним работать. Индексация элементов – после имени переменной ссылающаяся на строку в квадратных скобках указываются номера позиций необходимых символов. Инициализация двумерного массива происходит через импорт NumPy = с помощью него можно выполнять математические вычисления. Создание таблиц с размером 3х3 заполнено 4 двойками. Типовые алгоритмы для обработки двумерного массива (целиком). Формирование и вывод двумерного массива. Частичная обработка двумерного массива (по строкам или по столбцам). Типовые алгоритмы. Рекурсивное описание функций: база рекурсии, рекурсивный вызов, использование стека. Пример использования. Массивы. Работа с массивами. Виды. Массив символов и строка в языке Python. Ввод и вывод строк. Простейшие алгоритмы сканирования и обработки строки. Пример. Строка в языке Python: функции для обработки строк. Примеры использования Использование указателей при работе с массивами и матрицами. Получение адресов и значений элементов. Последовательный перебор элементов. Примеры. Функции в языке Python: понятие, объявление, прототипы функций. Вызов функции. Типы возвращаемых значений. Задача сортировки массива. Алгоритм сортировки методом "сортировка вставками". Преподаватель Беляева Е.С. // |