Личный кабинет        17.06.2019   

Курс лекций по дисциплине “Основы программирования и алгоритмические языки” Бондарев в.М., Марченко ю.С. Введение

Западно-Казахский Аграрно-Технический университет Жангир-хана

Кафедра: «Информатики»

Основы алгоритмизации

Подготовил: Иванов П.

Проверил: Кухта В.С.

Уральск 2010


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

2.Способы описания алгоритмов

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

4. Список литературы

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

Алгоритм – описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники. Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной системе счисления; описанными узбекским математиком Муххамедом бен Аль-Хорезми («аль-Хорезми» - человек из города Хорезми; в настоящее время город Хива в Хорезмской области Узбекистана). Слово алгоритм – есть результат европейского произношения слов аль-Хорезми. Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.

Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.

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

Дискретность(разрывность – противоположно непрерывности) – это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят: «Делится на шаги».

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

Определенность(детерминированность, точность) - свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов. Помните сказку про Ивана-царевича? «Шел Иван-царевич по дороге, дошел до развилки. Видит большой камень, на нем надпись: «Прямо пойдешь - голову потеряешь, направо пойдешь - жену найдешь, налево пойдешь – разбогатеешь». Стоит Иван и думает, что дальше делать». Таких инструкций алгоритм содержать не может.

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

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

Способы описания алгоритмов

Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.

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

Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.

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

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

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

Рассмотрим некоторые основные конструкции, использующиеся для построения блок-схем алгоритмов программ, регламентированные ГОСТ 19.701-90.

Блок, характеризующий начало/конец алгоритма (для подпрограмм - вызов/возврат)

Блок - процесс, предназначенный для описания отдельных действий

Блок - Предопределенный процесс, предназначенный для обращения к вспомогательным алгоритмам (подпрограммам)

Блок - ввода/вывода с неопределенного носителя или описания исходных данных


Блок - решение (проверка условия или условный блок)

Блок - границы цикла, описывающий циклические процессы типа: «цикл с предусловием», «цикл с постусловием»

Соединительные блоки

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

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

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

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

Линейнойназывают алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i-го действия (шага) выполняется (i+1)-е действие (шаг), если i-е действие - не конец алгоритма.

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

Рис. 1. Полное ветвление

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

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

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

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

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

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

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

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

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

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

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

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

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

Существует аналогия между экономическими показателями и переменными с индексами. Например, показатель П1 (КОД_МАТЕРИЛА, ЦЕНА) может быть представлен как С(i ), где С - цена материала с i -м кодом материала. Переменная С соответствует атрибуту-основанию, а индекс i - атрибуту-признаку.

Поступление материалов на склад обозначим переменной P (i , j , m , n ) , где j - номер склада; m - код поставщика; n - дата. Тогда, для определения стоимости материалов имеется расчетное соотношение S (i , j , m , n ) = Р(i , j , m , n ) С(i ). Таким образом, закономерности, установленные в математике для арифметических операций над переменными с индексами, трансформируются в правила арифметических операций над показателями.

Модель арифметических вычислений в ИС основывается на графе взаимосвязи показателей (файлов). В графе G (S , U ) множество вершин S = { s (i ) } представляют все показатели (файлы), хранящиеся в БД. Дуга U (i , j ) от S (i ) к S (j ) существует в том случае, если есть расчетное соотношение для показателя S (j ) и в правой части его встречается показатель S (i ).

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

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

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

Программа – это алгоритм, записанный на специальном алгоритмическом языке программирования, который может восприниматься ЭВМ.

Исполнитель алгоритма – это автоматическое устройство (ЭВМ, робот, станок с ЧПУ) или человек, выполняющие определенный набор команд.

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

Словесный способ предполагает словесное (без формул и таблиц) описание алгоритма, в принципе, с любой степенью детализации.

Формульно-словесный способ более компактный. В нем словесные описания сочетаются с формулами.

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

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

Табличный способ предполагает представление алгоритмов в виде таблицы решений и, в основном, носит вспомогательный характер.

Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательных действий.

Лекция №13

Технология программирования – это методы и средства создания программ. Эффективная технология программирования предполагает использование стандартов, прогрессивных инструментальных средств разработки, а также специальных методов и приёмов организации работ. Различают две технологии: структурное программирование; объектно-ориентированное программирование.

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

Разработка программ «сверху вниз» методом пошаговой детализации;

Модульное программирование;

    структурное кодирование.

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

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

Объект – это совокупность свойств (параметров) определённых сущностей (отношений) и методов их обработки (программных средств).

Свойство – это характеристика объекта и его параметров. Все объекты наделены определёнными свойствами, которые в совокупности выделяют объект из множества других объектов.

Метод – это программа действий над объектом или его свойствами.

Событие – это характеристика изменения состояния объекта.

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

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

Попадая в среду развитого алгоритмического языка, понятия объектно-ориентированного программирования оформляются в системе этого языка. Например, в Turbo Pascal объект – это особый тип данных, а экземпляры этого объекта – переменные этого типа. Состояние характеризуется значениями полей объекта. Методами объекта являются ассоциированные с ним функции и процедуры, которым доступны поля. Передача сообщений объекту происходит в виде вызовов его методов с заданными параметрами.

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

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

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

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

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

На системы с жёстким сценарием диалога – предполагают стандартизированное представление информации обмена в виде меню, действия запрос-ответ, запрос по формату;

На дескрипторные системы – предполагают наличие стандартного формата ключевых слов сообщений;

На тезаурусные системы 5 ;

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

Для создания диалоговых процессов и интерфейса пользователя наиболее подходят объектно-ориентированныеинструментальные средства разработки программ. Так, в составе инструментов СУБД содержатся построителименю, с помощью которых создаётся ориентированная на конечного пользователя совокупность режимов и команд в виде главного меню и вложенных подменю, и конструкторы экранных форм, системы подсказок и другие объекты.

Как правило, интерфейс прикладных программных продуктов строится по типу графического, ориентированного на среду Windows интерфейса (например, Delphi – это среда разработки программ, ориентированных на работу в Windows ). Определилась тенденция массового использования конечными пользователями интегрированных сред программирования (например, интегрированная среда программирования TURBO PASCAL 7.0 ).

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

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

Библиотеки программ, содержащие заранее подготовленные программы, которыми могут пользоваться программисты;

Различные вспомогательные программы.

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

- машинные (computer language ) языки, воспринимаемые аппаратной частью компьютера (машинные коды);

- машинно-ориентированные (computer - oriented language ) языки, предназначенные для использования на конкретных ЭВМ (ассемблеры);

- алгоритмические (algorithmic language ) – языки, не зависящие от архитектуры компьютера (Паскаль, Фортран, Бейсик и др.);

- процедурно-ориентированные (procedure - oriented language ) – языки, в которых есть средства описания программы как совокупности процедур (подпрограмм);

- проблемно-ориентированные (universal programming language ) языки, предназначенные для решения задач из определенной профессиональной деятельности (Лисп, РПГ, Симула и др.);

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

Системы программирования различаются по тому, какой язык программирования они реализуют, например:

Язык Си был изобретен для популярной ныне операционной системы UNIX . Он соединяет свойства языка высокого уровня с возможностью управления ресурсами компьютера, что обычно обеспечивается только при программировании на языке Ассемблера;

Язык Си++ представляет собой расширение языка Си. Язык облегчает создание сложных программ, реализует популярные в настоящее время концепции объектно-ориентированного программирования;

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

Язык Бейсик облегчает написание простых программ. Это – язык для начинающих. Множество версий этого языка иногда друг с другом не совместимы. Язык мало подходит для написания больших и сложных программ;

Языки Лисп и Пролог используют для построения экспертных систем.

Лекция №14

Для удовлетворения сложных информационных потребностей пользователи «общаются» с базой данных с помощью запросов.

Запрос представляет собой спецификацию (предписание) на специальном языке (базы данных) для обработки дан­ных. В реляционных СУБД запросы к базе данных выражают­ся, соответственно, на языке SQL .

Формирование запросов в СУБД может осуществляться в специальном редакторе (командный режим) или через нагляд­но-диалоговые средства (конструкторы) и пошаговые мастера формирования запросов. Сформированный запрос в виде SQL -инструкции сохраняется в файле базы данных и впослед­ствии специальной командой СУБД может запускаться (откры­ваться) на выполнение.

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

    запросы на выборку данных;

    запросы на изменение данных;

    управляющие запросы.

Запросы на выборку являются наиболее часто применяемыми запросами. Обычно они реализуется SQL -инструкцией SELECT с предложением FROM . Результатом исполнения запроса на выборку является набор данных, который представляет временную таблицу со структурой, определяемой параметрами запроса и полей таблиц, из которых выбираются данные. В отличие от режимов поиска и фильтра­ции запросами на выборку данные выбираются из закрытых таблиц базы данных.

Результаты запросов на выборку по­мещаются в специальную временную таблицу, размещаемую на период исполнения запроса в оперативной па­мяти. В этом смысле запрос в реляционных СУБД тождестве­ нен просто таблице данных, «открытие» которой осуществля­ется в результате выполнения запроса. Из этого следует возможность исполнения запросов над результатами исполнения других запросов, что об­легчает построение запросов при решении сложных задач.

Запросы на выборку классифицируются по двум критери­ям - по формированию условий выборки и по схеме отбора данных.

По формированию условий выборки запросы можно под­разделить на:

запросы со статическими (неизменяемыми) условиями отбора;

запросы с параметрами;

запросы с подчиненными запросами.

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

В зап­росах третьей группы условия отбора данных определяются по результатам исполнения вставленной в тело внешнего запроса внутренней инструкции SELECT .

По схеме отбора данных запросы на выборку подразделя­ются на запросы:

на выборку данных из одной таблицы;

на выборку данных в один набор из нескольких таблиц;

на объединение данных.

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

Различают запросы на выборку всех записей с заданным набором полей и запросы на выборку подмножества за­писей.

Пример запроса, формирующего список сотрудников организации из таблицы «Сотрудни­ки», но с сокращенным набором полей:

SELECT Сотрудники.Таб_№, Сотрудники.Фамилия, Телефон FROM Сотрудники;

В запросах на отбор подмножества записей в SQL -инст­рукции SELECT через предложение WHERE помещается выра­жение, определяющее условие отбора данных. Пример запроса на отбор подмножества за­писей из таблицы «Сотрудники» для формирования списка работников инженерно-технического и экономического профи­ля.

SELECT Фамилия, Должность FROM Сотрудники

WHERE ((Должность)=”Инженер” Or (Должность) = ”Экономист”);

В запросах на выборку данных широко применяются пре­ дикаты отбора ALL , DISTINCT , DISTINCTROW и TOP п.

Пре­дикат ALL используется по умолчанию и устанавливает вывод в набор всех записей, формируемых по условию отбо­ра в предложении WHERE , и в большинстве слу­чаев в инструкции SELECT опускается.

Предикат DISTINCT " используется для исключения в набо­ре отбираемых данных тех записей, значения которых по опре­деленному полю повторяются.

В запросах на выборку помимо предложений FROM и WHERE используются предложения GROUP BY , НА VING и ORDER В Y для дополнительной обработки отбираемых запи­сей.

Предложение GR О UP В Y объединяет (группирует) записи с одинаковыми значениями определенных полей в одну запись.

Предложение НА VING выполняет функцию предложения WHERE , позволяя задавать дополнительные условия для отбо­ра сгруппированных предложением GROUP В Y записей.

Пред­ложение ORDER BY обеспечивает сортировку отобранных за­писей в зависимости от способа ASC (по возрастанию) или DESC (по убыванию).

Пример запроса, формирующего в порядке убывания список сгруппированных по полям «Категория» и «Профиль» записей из таблицы «Под­разделения» при условии отбора подразделений с категорий выше третьей и отбора сгруппированных записей при условии основного профиля подразделений:

В трактовке реляционных СУБД и языка SQL «пустых», т. е. неопределенных, значе­ний полей не бывает. Иначе говоря, значением числового поля может быть число, равное «О», а значением других типов полей (текстовые, дата) может быть нулевое значение-« Null ».

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

Пример запроса, отбирающего данные из таблицы «Со­трудники» с «пустыми» значениями по полю «Ученая степень», т.е. формируется спи­сок сотрудников, не имеющих ученых степеней.

SELECT Фамилия, Должность FROM Сотрудники WHERE ((Ученая_степень) Is Null );

Запросы данного типа подразделяются на запросы на сочетание данных, на соединение данных, на объединение данных.

Запросы на сочетание строятся на основе операции скаляр­ного произведения реляционных таблиц и по смыслу направлены на формирование полного набора сочетаний строк-записей, пред­ставленных в исходных таблицах. Запросы на сочетание строятся на с простым перечислением отбираемых полей и их таблиц.

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

В реляционных СУБД такие возможности предоставляются через вычисляемые поля и групповые операции в запросах над отбираемыми данными.

Вычисляемые поля. В инструкции SELECT в списке отбираемых полей добавляется выражение, по которому вычисляется новое поле, и посредством ключевого слова AS определяется его имя в формируемом наборе данных. Запрос, формирующий ведомость начислений сотрудникам с вычисляемым полем «ИТОГО».

SELECT Сотрудники.*, Оклад+ Перс_надб+Надб_ за_учстеп AS ИТОГО FROM Сотрудники;

Групповые операции. В процессе отбора и обработки дан­ных важное значение имеют группирование данных по значе­ниям какого-либо поля и осуществление тех или иных опера­ций над сгруппированными записями. Групповые операции осу­ществляются на основе SQL -предложения GROUP BY в сочетании со статистическими функциями SQL . В большин­стве диалектов языка SQL в состав инструкции SELECT допус­кается включение статистических функций, которые осу­ществляют групповые вычислительные операции над отбираемыми записями.

К числу статистических функций SQL относятся:

SUM (выражение) - вычисляет сумму набора значений;

AVG (выражение) – вычисляет среднее арифметическое набора чисел;

Min (выражение) – вычисляет минимальное значение из набора значений;

Max (выражение) – вычисляет максимальное значение из набора значений;

StDev (выражение) – вычисляет среднеквадратичное отклонение набора значений;

Count (выражение) – вычисляет количество записей, содержащихся в наборе;

Var (выражение) – вычисляет дисперсию по набору значений.

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

Сами групповые вычисления задаются включением в SQL -инструкцию SELECT вычисляемого поля на основе выражения со статистическими функциями, вы­полняемыми над наборами данных, формируемыми предложе­нием GROUP BY .

Для примера на рисунке 7.15. приведен запрос, формирующий итоговые данные по общей сумме премиальных каждого из пре­мированных сотрудников. Группирование данных производит­ся по полю «ФИО».

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

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

Второй вариант реализуется через включение в тело внеш­ней (главной) SQL -инструкции внутренней инструкции SELECT . При этом результат исполнения внутренней инструкции SELECT используется для формирования условия отбора записей в главном (внешнем) запросе или в качестве выраже­ния для нового вычисляемого поля. Такие запросы называются подчиненными.

Использование внутренней инструкции SELECT для фор­мирования условий отбора записей во внешнем запросе возмож­но, например, через предикаты сравнения - ANY (каждый), SOME (некоторые), ALL (для всех);

Конструкция запроса может выглядеть следующим образом:

SELECT ...FROM... WHERE Выражение () (SELECT.. .);

где () - оператор сравнения.

Как правило, выражение включает поле из списка полей внешней SQL -инструкции или функцию от этих полей. Внут­ренняя инструкция SELECT должна возвращать набор данных по одному полю или по вычисляемому полю, в случае сравнимости с выражением во внешней SQL -инструк­ции по типу данных.

Предикаты ANY и SOME используются для отбора в главной SQL -инст­рукции тех записей, которые удовлетворяют сравнению с ка­кой-либо записью (т.е. хотя бы с одной), из отобранных во внут­ренней инструкции SELECT .

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

SELECT Электромобили.* FROM Электромобили WHERE (((Электромобили.Запас_хода) >=All (SELECT Маршруты.Расстояние FROM Маршруты WHERE (((Маршруты.Время_года)= ”Зима”));)));

Тема 1.3: Системное программное обеспечение

Тема 1.4: Сервисное программное обеспечение и основы алгоритмизации

Введение в экономическую информатику

1.4. Сервисное программное обеспечение ПК и основы алгоритмизации

1.4.2. Основы алгоритмизации и языки программирования

Алгоритм и его свойства

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

Алгоритм означает точное описание некоторого процесса, инструкцию по его выполнению. Разработка алгоритма является сложным и трудоемким процессом. Алгоритмизация – это техника разработки (составления) алгоритма для решения задач на ЭВМ.

Изобразительные средства для описания (представление) алгоритма

Для записи алгоритма решения задачи применяются следующие изобразительные способы их представления:

  1. Словесно- формульное описание.
  2. Блок-схема (схема графических символов).
  3. Алгоритмические языки.
  4. Операторные схемы.
  5. Псевдокод.

Для записи алгоритма существует общая методика:

  1. Каждый алгоритм должен иметь имя, которое раскрывает его смысл.
  2. Необходимо обозначить начало и конец алгоритма.
  3. Описать входные и выходные данные.
  4. Указать команды, которые позволяют выполнять определенные действия над выделенными данными.

Общий вид алгоритма:

  • название алгоритма;
  • описание данных;
  • начало;
  • команды;
  • конец.

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

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

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


Рис. 1.

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

Алгоритмические языки - это специальное средство, предназначенное для записи алгоритмов в аналитическом виде. Алгоритмические языки близки к математическим выражениям и к естественным языкам. Каждый алгоритмический язык имеет свой словарь. Алгоритм, записанный на алгоритмическом языке, выполняется по строгим правилам этого конкретного языка.

Операторные схемы алгоритмов. Суть этого способа описания алгоритма заключается в том, что каждый оператор обозначается буквой (например, А – арифметический оператор, Р – логический оператор и т.д.).

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

Псевдокод – система команд абстрактной машины. Этот способ записи алгоритма с помощью операторов близких к алгоритмическим языкам.

Принципы разработки алгоритмов и программ

Типы алгоритмических процессов

По структуре выполнения алгоритмы и программы делятся на три вида:

  • линейные;
  • ветвящиеся;
  • циклические;

Линейные вычислительные процессы

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

Алгоритмы разветвляющейся структуры

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

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


Рис. 2.

Циклические вычислительные процессы

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

Существуют две схемы циклических вычислительных процессов.


Рис. 3.

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

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

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

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

Языки программирования – это искусственные языки записи алгоритмов для исполнения их на ЭВМ. Программирование (кодирование) - составление программы по заданному алгоритму.

Классификация языков программирования. В общем, языки программирования делятся на две группы: операторные и функциональные. К функциональным относятся ЛИСП, ПРОЛОГ и т.д.

Операторные языки делятся на процедурные и непроцедурные (Smalltalk, QBE). Процедурные делятся на машино - ориентированные и машино – независимые.

К машино – ориентированным языкам относятся: машинные языки, автокоды, языки символического кодирования, ассемблеры.

К машино – независимым языкам относятся:

  1. Процедурно – ориентированные (Паскаль, Фортран и др.).
  2. Проблемно – ориентированные (ЛИСП и др.).
  3. Объектно-ориентированные (Си++, Visual Basic, Java и др.).

Основы алгоритмизации и программирования. Семакин И.Г., Шестаков А.П.

3-е изд. - М.: 2016. - 304 с.

В учебнике рассмотрены основы принципы алгоритмизации и программирования на базе языка Паскаль (версия Турбо Паскаль 7.0) Даны основные понятия объектно-ориентированного программирования и его реализация на языке Турбо Паскаль. Описана интегрированная среда программирования Delphi и визуальная технология создания графического интерфейса программ. Показана разработка программных модулей в этой среде. Учебник может быть использован при изучении общепрофессиональной дисциплины ОП «Основы алгоритмизации и программирования» в соответствии с требованиями ФГОС СПО для специальностей 230113 «Компьютерные системы и комплексы» и 230401 «Информационные системы (по отраслям)» укрупненной группы специальностей 230000 «Информатика и вычислительная техника». Для студентов средних профессиональных учебных заведений.

Формат: pdf

Размер: 7,3 Мб

Смотреть, скачать: drive.google

ОГЛАВЛЕНИЕ
Предисловие 4
Глава 1. Основные принципы алгоритмизации и программирования 8
1.1. Алгоритмы и величины 9
1.2. Линейные вычислительные алгоритмы 13
1.3. Ветвления и циклы в вычислительных алгоритмах 17
1.4. Логические основы алгоритмизации 26
1.5. Вспомогательные алгоритмы и процедуры 30
1.6. Основы структурного программирования 33
1.7. Развитие языков и технологий программирования 39
1.8. Структура и способы описания языков программирования высокого уровня 44
Глава 2. Программирование на языке Паскаль 49
2.1. Первое знакомство с языком Паскаль 50
2.2. Некоторые сведения о системах программирования на Паскале 56
2.3. Элементы языка Турбо Паскаль 57
2.4. Концепция типов данных 59
2.5. Арифметические операции, функции, выражения. Оператор присваивания 64
2.6. Ввод данных с клавиатуры и вывод на экран 70
2.7. Управление символьным выводом на экран 75
2.8. Логические величины, операции, выражения 81
2.9. Функции, связывающие различные типы данных 83
2.10. Программирование ветвящихся алгоритмов 86
2.11. Программирование циклических алгоритмов 90
2.12. Подпрограммы 96
2.13. Вычисление рекуррентных последовательностей 104
2.14. Графические средства Турбо Паскаля 113
2.15. Символьные строки 123
2.16. Массивы 129
2.17. Рекурсивные подпрограммы 139
2.18. Множества 144
2.19. Файлы 151
2.20. Комбинированный тип данных 162
2.21. Указатели и динамические структуры данных 168
2.22. Внешние подпрограммы и модули 179
Глава 3. Методы построения алгоритмов 189
3.1. Метод последовательной детализации 190
3.2. Рекурсивные методы 19В
3.3. Методы перебора в задачах поиска 201
3.4. Методы сортировки данных и сложность алгоритмов 208
Глава 4. Объектно-ориентированное программирование 217
4.1. Что такое объектно-ориентированное программирование 218
4.2. Объекты в Турбо Паскале 221
4.3. Интегрированная среда программирования Delphi 230
4.4. Компоненты Delphi. Свойства компонентов 234
4.5. Событийно-управляемое программирование 248
4.6. Технология создания приложенийв Delphi 253
4.7. Примеры разработки приложений Delphi 256
4.8. Иерархия классов 269
Приложения 275
Турбо Паскаль. Модуль CRT 275
Турбо Паскаль. Модуль GRAPH 278
DELPHI, Некоторые подпрогаммы 291
Список литературы 298

Р

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

Скачать:


Предварительный просмотр:

Министерство образования Саратовской области

Государственное автономное профессиональное образовательное учреждение Саратовской области «Энгельсский политехникум»

(ГАПОУ СО «Энгельсский политехникум»)

Р абочая программа учебной дисциплины

ОП.17 ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

программы подготовки специалистов среднего звена (квалифицированных рабочих, служащих)

для специальностей технического профиля 09.02.05.Прикладная информатика (по отраслям))

на базе основного общего образования

с получением среднего общего образования

2016 г.

УТВЕРЖДАЮ

зам. директора по учебной работе

_______________ /Думан О.А.

« » 2016 г.

_____________________________________

_______________ /_________________/

«_______»_____________2015 г.

«_______»_____________2016 г.

_______________ /_________________/

«_______»_____________2017 г.

_______________ /_________________/

«_______»_____________2018 г.

_______________ /_________________/

«_______»_____________2019 г.

Рабочая программа учебной дисциплины разработана в соответствии с требованиями ФГОС среднего общего образования, утверждённого приказом Министерства образования и науки РФ № 413 от «17» мая 2012г., с изменениями и дополнениями от 29 декабря 2014г.

ОДОБРЕНО на заседании предметно-цикловой комиссии информационно-коммуникационных технологий

Протокол №__, дата «___»________2016 г.

Председатель комиссии ________/________/

Протокол №__, дата «___»________2017 г.

Председатель комиссии ________/________/

Протокол №__, дата «___»________2018 г.

Председатель комиссии ________/________/

Протокол №__, дата «___»________2019 г.

Председатель комиссии ________/________/

ОДОБРЕНО методическим советом

ГАПОУ СО «Энгельсский политехникум»

Протокол №___ от «_____» __________2017 г.

Председатель _____________/______________/

Протокол №___ от «_____» __________2018 г.

Председатель _____________/______________/

Протокол №___ от «_____» __________2019 г.

Председатель _____________/______________/

Ивашов Юрий Александрович, преподаватель ГАПОУ СО «Энгельсский политехникум»

Рецензенты:

Внутренний

Чиканкова Наталия Александровна, преподаватель ГАПОУ СО «Энгельсский политехникум»

Внешний

Рекомендована Экспертной комиссией согласно приказа министерства образования Саратовской области от 13.01.2011 года № 28 «О подготовке основных профессиональных образовательных программ среднего профессионального образования»

разработана на основе Федерального государственного образовательного стандарта по специальностям среднего профессионального образования (далее – СПО)

09.02.05 - Прикладная информатика (по отраслям)

Организация-разработчик: ГАПОУ СО «Энгельсский политехникум»

Разработчики:

Ивашов Юрий Александрович, преподаватель

2. СТРУКТУРА И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ

3 УСЛОВИЯ РЕАЛИЗАЦИИ УЧЕБНОЙ ДИСЦИПЛИНЫ

1. ПАСПОРТ ПРОГРАММЫ УЧЕБНОЙ ДИСЦИПЛИНЫ

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

название программы учебной дисциплины

1.1. Область применения программы

Рабочая программа учебной дисциплины «Основы алгоритмизации и программирования» соответствует требованиям ФГОС по специальности 09.02.05 - Прикладная информатика (по отраслям) базовой подготовки и работодателей.

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

Учебная дисциплина направлена на формирование общих и профессиональных компетенций:

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

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

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

ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК 6. Работать в коллективе и команде, эффективно общаться с коллегами, руководством, потребителями.

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

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

ПК 1.1. Обрабатывать статический информационный контент.

ПК 1.2. Обрабатывать динамический информационный контент

ПК 2.3. Разрабатывать и публиковать программное обеспечение и информационные ресурсы отраслевой направленности со статическим, динамическим и интерактивным контентом.

ПК 2.4. Проводить отладку и тестирование программного обеспечения отраслевой направленности.

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

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

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

1.2. Цели и задачи дисциплины – требования к результатам освоения дисциплины:

В результате освоения дисциплины обучающийся должены:

уметь:

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

знать:

  • свойства алгоритма: конечность, определенность, результативность, массовость;
  • область определения алгоритма.
  • базовые структуры алгоритмов: линейные, разветвляющиеся, циклические.
  • базовые и динамические структуры данных и операции над ними;
  • операторы языка Pascal, C, C++.

Максимальной учебной нагрузки обучающегося 180 часов , в том числе:

обязательной аудиторной учебной нагрузки обучающегося 120 часов ;

самостоятельной работы обучающегося 60 часов .

2. СТРУКТУРА И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ

2.1. Объем учебной дисциплины и виды учебной работы

Вид учебной работы

Объем часов

Обязательная аудиторная учебная нагрузка (всего)

в том числе:

Практические занятия

Самостоятельная работа обучающегося (всего)

Итоговая аттестация в форме дифференцированного зачета

2.2. Тематический план и содержание учебной дисциплины «Основы алгоритмизации и программирования»

Наименование разделов и тем

Объем часов

Уровень освоения

Раздел 1. Основные принципы алгоритмизации и программи-

рования

Тема1.1 Основные понятия алгоритмизации

Понятие алгоритма. Свойства алгоритмов. Формы записей алгоритмов. Общие принципы построения алгоритмов. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические.

Данные: понятие и типы. Основные базовые типы данных и их характеристика.

Структурированные типы данных и их характеристика. Методы сортировки данных

Практические занятия

Контрольные работы по теме « Составление блок-схем алгоритмов»

Составление блок-схем линейных алгоритмов

Составление блок-схем разветвляющихся алгоритмов

Составление блок-схем циклических алгоритмов

Составление блок-схем алгоритмов сортировки данных

Тема 1.2. Логические основы алгоритмизации

Основы алгебры логики. Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия. Законы логических операций. Таблицы истинности.

Практические занятия

Составление таблиц истинности

Самостоятельная работа обучающихся

Типовой расчет «Логические основы программирования»

Тема 1.3. Языки и системы программирования

Эволюция языков программирования. Классификация языков программирования. Элементы языков программирования. Понятие системы программирования.

Исходный, объектный и загрузочный модули. Интегрированная среда программирования.

Самостоятельная работа обучающихся

Построение таблицы классификации

Тема 1.4 Методы программирования

Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования.

Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения. Типы приложений. Консольные приложения. Оконные Windows приложения. Web-приложения. Библиотеки. Web-сервисы.

Контрольные работы по теме « Основы программирования»

Самостоятельная работа обучающихся

Творческая работа «Жизненный цикл программного продукта» (на примере любого программного продукта)

Раздел 2. Программирование на алгоритмическом языке

Тема 2.1. Основные элементы языка

История развития языка программирования. Структурная схема программы на алгоритмическом языке. Лексика языка. Переменные и константы. Типы данных. Выражения и операции

Самостоятельная работа обучающихся

Типовой расчет «Операции и выражения в алгоритмических языках»

Тема 2.2. Операторы языка

Синтаксис операторов: присваивания, ввода-вывода. Синтаксис операторов: безусловного и условного переходов. Синтаксис операторов: циклов. Составной оператор.

Вложенные условные операторы. Циклические конструкции. Циклы с предусловием и постусловием.

Практические занятия

Составление программ линейной структуры.

Составление программ разветвляющейся структуры.

Составление программ циклической структуры.

Составление программ усложненной структуры.

Самостоятельная работа обучающихся

Типовой расчет «Задачи линейной и ветвящейся конструкции»

Типовой расчет «Задачи циклической конструкции»

Тема 2.3. Массивы

Массивы, как структурированный тип данных. Объявление массива. Стандартные функции для массива целых и вещественных чисел.

Ввод и вывод одномерных массивов. Ввод и вывод двухмерных массивов. Обработка массивов.

Практические занятия

Обработка одномерных массивов.

Обработка двухмерных массивов.

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

Самостоятельная работа обучающихся

Типовой расчет «Одномерные массивы»

Типовой расчет «Двумерные массивы»

Тема 2.4. Строки и множества

Структурированные типы данных: строки и множества. Объявление строковых типов данных. Поиск, удаление, замена и добавление символов в строке. Операции со строками. Стандартные функции и процедуры для работы со строками. Объявление множества. Операции над множествами.

Практические занятия

Работа со строковыми переменными.

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

Работа с данными типа множество.

Разработка программ со структурированными типами данных.

Разработка усложненных программ со структурированными типами данных.

Самостоятельная работа обучающихся

Типовой расчет «Строки и символы»

Типовой расчет «Множества»

Типовой расчет «Комбинированный тип»

Тема 2.5. Процедуры и функции

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

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

Формальные и фактические параметры. Процедуры с параметрами, описание процедур. Функции: способы организации и описание. Вызов функций, рекурсия.

Программирование рекурсивных алгоритмов. Стандартные функции.

Практические занятия

Организация процедур. Использование процедур.

Организация функций. Использование функций.

Применение рекурсивных функций. Использование процедур и функций

Самостоятельная работа обучающихся

Типовой расчет «Подпрограммы»

Тема 2.6. Организация ввода-вывода данных. Работа с файлами

Типы файлов. Организация доступа к файлам.

Файлы последовательного доступа. Открытие и закрытие файла последовательного доступа. Запись в файл и чтение из файла последовательного доступа.

Файлы произвольного доступа. Порядок работы с файлами произвольного доступа. Создание структуры записи. Открытие и закрытие файла произвольного доступа.

Запись и считывание из файла произвольного доступа. Использование файла произвольного доступа. Стандартные процедуры и функции для файлов разного типа.

Практические занятия

Выполнение операций с файлом последовательного доступа.

Выполнение операций с файлом произвольного доступа.

Разработка программ с чтением и записью файлов разных типов.

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

Самостоятельная работа обучающихся

Типовой расчет «Типизированные файлы»

Типовой расчет «Текстовые файлы»

Раздел 3. Программирование в объектно-ориентированной среде

Тема 3.1. Основные принципы объектно-ориентированного программирования (ООП)

История развития ООП. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс. Основные принципы ООП: инкапсуляция, наследование, полиморфизм. Событийно-управляемая модель программирования. Компонентно-ориентированный подход. Классы объектов. Компоненты и их свойства.

Тема 3.2. Интегрированная среда разработчика

Требования к аппаратным и программным средствам интегрированной среды разработчика. Интерфейс среды разработчика: характеристика, основные окна, инструменты, объекты.

Форма и размещение на ней управляющих элементов. Панель компонентов и их свойства. Окно кода проекта. Состав и характеристика проекта. Выполнение проекта. Настройка среды и параметров проекта.

Практические занятия

Изучение интегрированной среды разработчика.

Создание простого проекта.

Тема 3.3. Этапы разработки приложения

Проектирование объектно-ориентированного приложения. Создание интерфейса пользователя. Программирование приложения. Тестирование, отладка приложения. Создание документации.

Самостоятельная работа обучающихся

Творческая работа «Создание программного продукта»

Тема 3.4. Иерархия классов

Классы объектно-ориентированного языка программирования: виды, назначение, свойства, методы, события. Объявление класса, свойств и методов экземпляра класса. Наследование. Перегрузка методов.

Практические занятия

Объявление класса, создание экземпляров класса.

Создание наследованного класса.

Перегрузка методов.

Тема 3.5. Визуальное событийно-управляемое программирование

Основные компоненты (элементы управления) интегрированной среды разработки, их состав и назначение. Дополнительные элементы управления. Свойства компонентов (элементов управления). Виды свойств. Синтаксис определения свойств. Категория свойств. Назначение свойств и их влияние на результат. Управление объектом через свойства. События компонентов (элементов управления), их сущность и назначение.

Создание процедур на основе событий. Процедуры, определенные пользователем: синтаксис, передача аргументов. Вызов событий.

Практические занятия

Создание проекта с использованием кнопочных компонентов.

Создание проекта с использованием компонентов для работы с текстом.

Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени.

Создание проекта с использованием компонентов стандартных диалогов и системы меню.

Самостоятельная работа обучающихся

Создание программного продукта: калькулятор

Создание программного продукта: текстовый редактор

Создание программного продукта: графический редактор

Тема 3.6. Разработка оконного приложения

Разработка функционального интерфейса приложения. Создание интерфейса приложения. Разработка функциональной схемы работы приложения. Создание процедур обработки событий. Компиляция и запуск приложения.

Практические занятия

Разработка оконного приложения.

Разработка оконного приложения с несколькими формами.

Разработка многооконного приложения.

Контрольные работы по теме « Объектно-ориентированное программирование»

Самостоятельная работа обучающихся

Создание программного продукта: график функции.

Создание программного продукта: обучающее - контролирующая программа.

3. УСЛОВИЯ РЕАЛИЗАЦИИ ПРОГРАММЫ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ

3.1 Реализация программы дисциплины требует наличия учебного кабинета основы алгоритмизации и программирования, с подключением к сети Интернет.

Оборудование кабинета:

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

Программное обеспечение рабочих мест:

  • Операционная система;
  • Браузер;
  • Антивирусное ПО;
  • Среда программирования.

3.2. Информационное обеспечение обучения

Основные источники:

  1. Семакин, И. Г., Шестаков, А. П. Основы алгоритмизации программирования (учебник для СПО). [Текст]/ И. Г. Семакин, А. П. Шестаков – Москва, 2012 г. – 400 с.
  2. Колдаев, В. Д. Основы алгоритмизации и программирования. [Текст]/ В. Д. Колдаев – Москва, 2011 г.
  3. Андреева Т.А. Программирование на языке Pascal: учеб. пособие. Бином. Лаборатория знаний, 2011. 234 с.
  4. Некрасов В.П. Turbo Pascal 7.0. Основы программирования. Ч. 1. Екатеринбург: Изд-во УрГУПС, 2011. 60 с.
  5. Епанешников А.М. Программирование в среде Turbo Pascal 7.0: учеб. пособие. 4-е изд., испр. М.: Диалог-МИФИ, 2010. 367 с.
  6. Репаков, Г.Г. Turbo Pascal для студентов и школьников / Г.Г. Репаков. - СПб.: БХВ- Петербург, 2009,- 245с.
  7. Хореев, П.Б. Технология объектно-ориентированного программирования: учебное пособие для вузов / П. Б. Хорев. - Москва: Академия, 2008. - 448с
  8. Голицына О.Л, Партыка Т.Л., Попов И.И. Языки программирования. 2-е изд., перераб. и доп./ Голицына О.Л, Партыка Т.Л., Попов И.И. – М.: Издательство «Форум», 2010. - 400 с. (Допущено Министерством образования и науки Российской Федерации)

Дополнительная литература

  1. Голицина, О. Л., Попов, И.И Основы алгоритмизации и программирования. [Текст]/ О. Л. Голицина, И. И. Попов – Москва, 2004 г.
  2. Могилев, А. В., Пак, Н. И., Хеннер, Е. К. Информатика. [Текст]/ А. В. Могилев, Н. И. Пак, Е. К. Хеннер – Москва, 2004 г.
  3. Могилев, А. В., Пак, Н. И., Хеннер, Е. К. Практикум по информатике. [Текст]/ А. В. Могилев, Н. И. Пак, Е. К. Хеннер – Москва, 2005 г.
  4. Семакин, И. Информатика. Задачник-практикум. Том 1. - [Текст]/ И. Семакин – Москва. 2011 г.
  5. Попов В.Б. Turbo Pascal для школьников: Учеб. пособие. - 3-е изд., доп. – М.: Финансы и статистика, 2010. – 352 с.

4. КОНТРОЛЬ И ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ УЧЕБНОЙ ДИСЦИПЛИНЫ

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

Результаты обучения (освоенные умения, усвоенные знания)

Формы и методы контроля и оценки результатов обучения

Умения:

использовать языки программирования, строить логически правильные и эффективные программы

Экспертное оценивание выполнения лабораторных работ, практических занятий и самостоятельной работы

Знания:

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

понятия системы программирования

Экспертное оценивание выполнения лабораторной и самостоятельной работы, устный опрос

основных элементов процедурного языка программирования, структуры программы, операторов и операций, управляющих структур, структур данных, файлы, кассы памяти

подпрограммы, составление библиотек программ

Экспертное оценивание выполнения лабораторных работ, практических занятий и самостоятельных работ, тестирование

объектно-ориентированной модели программирования, понятия классов и объектов, их свойств и методов

Экспертное оценивание выполнения самостоятельной работы, устный опрос

Результаты

Формы и методы контроля

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

Демонстрация интереса к будущей профессии

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

  • обоснование выбора и применения методов и способов решения профессиональных задач в области разработки технологических процессов;

Демонстрация эффективности и качества выполнения

профессиональных задач

Устный опрос, электронное тестирование экзамен

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

Результаты

(освоенные общие компетенции)

Основные показатели результатов подготовки

Формы и методы контроля

ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

Демонстрация способности принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность

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

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

Нахождение и использование информации для эффективного выполнения профессиональных задач, профессионального и личностного развития

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

ОК 5. Использовать информационнокоммуникационные технологии в профессиональной деятельности

Демонстрация навыков использования информационнокоммуникационные технологии в профессиональной деятельности

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

ОК 6. Работать в коллективе и в команде, эффективно общаться с коллегами, руководством, потребителями

Взаимодействие с обучающимися, преподавателями и мастерами в ходе обучения

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

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

Проявление ответственности за работу подчиненных, результат выполнения заданий

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

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации

Планирование обучающимся повышения личностного и квалификационного уровня

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

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности

Проявление интереса к инновациям в области профессиональной деятельности

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

ОК 10. Исполнять воинскую обязанность, в том числе с применением полученных профессиональных знаний (для юношей)

Демонстрация готовности к исполнению воинской обязанности

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

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

Процент результативности (правильных ответов)

Качественная оценка индивидуальных образовательных достижений

балл (отметка)

вербальный аналог

90 ÷ 100

отлично

80 ÷ 89

хорошо

70 ÷ 79

удовлетворительно

менее 70

неудовлетворительно

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