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


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

САРАПУЛЬСКИЙ ПРОМЫШЛЕННО-ЭКОНОМИЧЕСКИЙ ТЕХНИКУМ

СПЕЦИАЛЬНОСТЬ 230103

КОНТРОЛЬНАЯ РАБОТА

ПО ДИСЦИПЛИНЕ

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

ВЫПОЛНИЛ СТУДЕНТ

ГР. АСУ-31СЗ СУХИХ А.В.

ПРОВЕРИЛ

ПРЕПОДАВАТЕЛЬ МЫМРИНА М.Л.

2005/2006 уч. год

1. ПОНЯТИЕ АЛГОРИТМА 3

2. ЭЛЕМЕНТЫ ЯЗЫКА TURBO PASCAL 13

2.1. Алфавит 13

2.2. Идентификаторы 14

2.3. Комментарии 14

3. ЛЕКСИКА ЯЗЫКА С++ 16

4. ЛИТЕРАТУРА 21

1. ПОНЯТИЕ АЛГОРИТМА

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

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

Такими свойствами являются:

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

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

    Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.

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

На основании этих свойств иногда дается определение алгоритма, например: “Алгоритм – это последовательность математических, логических или вместе взятых операций, отличающихся детерменированностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов”. Такая трактовка понятия “алгоритм” является неполной и неточной. Во-первых, неверно связывать алгоритм с решением какой-либо задачи. Алгоритм вообще может не решать никакой задачи. Во-вторых, понятие “массовость” относится не к алгоритмам как к таковым, а к математическим методам в целом. Решение поставленных практикой задач математическими методами основано на абстрагировании – мы выделяем ряд существенных признаков, характерных для некоторого круга явлений, и строим на основании этих признаков математическую модель, отбрасывая несущественные признаки каждого конкретного явления. В этом смысле любая математическая модель обладает свойством массовости. Если в рамках построенной модели мы решаем задачу и решение представляем в виде алгоритма, то решение будет “массовым” благодаря природе математических методов, а не благодаря “массовости” алгоритма.

Разъясняя понятие алгоритма, часто приводят примеры “бытовых алгоритмов”: вскипятить воду, открыть дверь ключом, перейти улицу и т. д.: рецепты приготовления какого-либо лекарства или кулинарные рецепты являются алгоритмами. Но для того, чтобы приготовить лекарство по рецепту, необходимо знать фармакологию, а для приготовления блюда по кулинарному рецепту нужно уметь варить. Между тем исполнение алгоритма – это бездумное, автоматическое выполнение предписаний, которое в принципе не требует никаких знаний. Если бы кулинарные рецепты представляли собой алгоритмы, то у нас просто не было бы такой специальности – повар.

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

Само выражение “свойства алгоритма” некорректно. Свойствами обладают объективно существующие реальности. Можно говорить, например, о свойствах какого-либо вещества. Алгоритм – искусственная конструкция, которую мы сооружаем для достижения своих целей. Чтобы алгоритм выполнил свое предназначение, его необходимо строить по определенным правилам. Поэтому нужно говорить не о свойствах алгоритма, а о правилах построения алгоритма, или о требованиях, предъявляемых к алгоритму.

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

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

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

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

Третье правило – дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно.

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

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

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

Любая работа на компьютере – это есть обработка информации. Работу компьютера можно схематически изобразить следующим образом:

“Информация” слева и “информация” справа – это разные информации. Компьютер воспринимает информацию извне и в качестве результата своей работы выдает новую информацию. Информация, с которой работает компьютер, носит название “данные”.

Компьютер преобразует информацию по определенным правилам. Эти правила (операции, команды) заранее занесены в память компьютера. В совокупности эти правила преобразования информации называются алгоритмом. Данные, которые поступают в компьютер, называются входными данными. Результат работы компьютера – выходные данные. Таким образом, алгоритм преобразует входные данные в выходные:

Теперь можно поставить вопрос: а может ли человек обрабатывать информацию? Конечно, может. В качестве примера можно привести обычный школьный урок: учитель задает вопрос (входные данные), ученик отвечает (выходные данные). Самый простой пример: учитель дает задание – умножить 6 на 3 и результат написать на доске. Здесь числа 6 и 3 – входные данные, операция умножения – алгоритм, результат умножения – выходные данные:

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

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

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

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

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

Программирования , рассматриваемого в учебном пособии. В...

  • Программирование и основы алгоритмизации (2)

    Курсовая работа >> Информатика
  • Основы алгоритмизации (2)

    Методичка >> Информатика

    Гистограмму для нечетного. Тема №3. Основы алгоритмизации Задание 18. Дать определение алгоритму... . Пpогpаммиpование: выбор языка программирования ; уточнение способов организации данных... чего во всех языках программирования имеются специальные процедуры. ...

  • Р

    программы подготовки специалистов среднего звена (квалифицированных рабочих, служащих)
    для специальностей технического профиля 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

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

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


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

    Термин «алгоритм» происходит от латинской формы имени среднеазиатского математика Аль-Хорезми – Algorithmi. Алгоритм является одним из основных понятий информатики и математики.

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

    Для характеристики исполнителя используют несколько понятий:

    среда;

    система команд;

    элементарные действия;

    отказы.

    Среда (или обстановка) представляет собой «место обитания» исполнителя.

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

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

    Может возникнуть и отказ исполнителя в случае, если команда вызывается при недопустимом для нее состоянии среды. Чаще всего исполнитель ничего не знает о цели алгоритма. Он выполняет все предложенные ему действия, не задавая вопросов «почему» и «зачем».

    В информатике универсальным исполнителем алгоритмов является компьютер.

    К основным свойствам алгоритмов относятся:

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

    2) дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное исполнение простых (или ранее определенных) шагов (этапов);

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

    4) результативность (или конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;

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

    На практике чаще всего встречаются следующие формы представления алгоритмов:

    словесная – записывается на естественном языке;

    графическая – с помощью изображения из графических символов;

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

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

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

    1) задание двух чисел;

    2) если числа равны, то выбор любого из них в качестве ответа и остановка, в противном случае – продолжение выполнения алгоритма;

    3) определение большего из чисел;

    4) замена большего из чисел разностью большего и меньшего из чисел;

    5) повтор алгоритма с шага 2.

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

    Словесный способ не имеет широкого распространения, так как обладает некоторыми недостатками:

    данные описания строго не формализуемы;

    отличаются многословностью записей;

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

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

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

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

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

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

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

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

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

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

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

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

    Промежуточное место между машинно-независимыми и машинно-зависимыми языками отводится языку Си. Он создавался при попытке объединения достоинств, присущих языкам обоих классов. Данный язык обладает рядом особенностей:

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

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

    Языки разделяют на процедурно-ориентированные и проблемно-ориентированные.

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

    Проблемно-ориентированные языки, в частности РПГ, Лисп, АПЛ, GPSS, применяются для описания процессов обработки информации в более узкой, специфической области.

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

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

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

    1) интерпретирующая программа должна располагаться в памяти ЭВМ на протяжении всего процесса выполнения исходной программы. Другими словами, она должна занимать некоторый установленный объем памяти;

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

    Трансляторы-интерпретаторы являются достаточно распространенными, так как они поддерживают диалоговый режим.

    Процессы трансляции и выполнения при компиляции разделяются во времени: сначала исходная программа в полном объеме переводится на машинный язык, после чего оттранслированная программа может многократно исполняться. Для трансляции методом компиляции необходим неоднократный «просмотр» транслируемой программы, т. е. трансляторы-компиляторы являются многопроходными. Трансляция методом компиляции носит название объектного модуля, который представляет собой эквивалентную программу в машинных кодах. Необходимо, чтобы перед исполнением объектный модуль обрабатывался специальной программой ОС и преобразовывался в загрузочный модуль.

    Применяют также трансляторы интерпретаторы-компиляторы, объединяющие в себе достоинства обоих принципов трансляции.

    9.3. Классификация языков программирования высокого уровня

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

    Языки программирования высокого уровня подразделяют на процедурно-ориентированные, проблемно-ориентированные и объектно-ориентированные.

    Процедурно-ориентированные языки применяются для записи процедур или алгоритмов обработки информации на каждом определенном круге задач. К ним относятся:

    а) язык Фортран (Fortran), название которого происходит от слов Formulae Translation – «преобразование формул». Фортран представляет собой один из старейших языков программирования высокого уровня. Длительность его существования и применения можно объяснить простотой структуры данного языка;

    б) язык Бейсик (Basic), который расшифровывается как Beginner"s All-purpose Symbolic Instruction Code, что в переводе означает – «многоцелевой символический обучающий код для начинающих», разработан в 1964 г. как язык для обучения программированию;

    в) язык Си (С), применяемый с 1970-х гг. как язык системного программирования специально для написания ОС UNIX. В 1980-е гг. на основе языка С был разработан язык C++, практически включающий в себя язык С и дополненный средствами объектно-ориентированного программирования;

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

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

    а) язык Лисп (Lisp – List Information Symbol Processing), который был изобретен в 1962 г. Дж. Маккарти. Первоначально он применялся как средство для работы со строками символов. Лисп употребляется в экспертных системах, системах аналитических вычислений и т. п.;

    б) язык Пролог (Prolog – Programming in Logic), используемый для логического программирования в системах искусственного интеллекта.

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

    а) Visual Basic (~ Basic);

    б) Delphi (~ Pascal);

    в) Visual Fortran (~ Fortran);

    д) Prolog++ (~ Prolog).

    9.4. Система VBA

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

    Программирование в среде VBA обладает рядом особенностей. В частности, в ней нельзя создавать проект независимо от этих приложений.

    Из-за того что VBA является визуальной системой, программист способен создавать видимую часть приложения, которая является основой интерфейса «программа – пользователь». Благодаря этому интерфейсу производится взаимодействие пользователя с программой. На принципах объектно-ориентированного подхода, который реализуется в VBA применительно к приложениям, выполняемым под управлением Windows, разрабатывается программный интерфейс.

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

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

    Любое из событий проявляется в определенных действиях программы, а виды возможных действий можно разделить на две группы. Действия первой группы являются следствием свойств объекта, устанавливающихся из некоторого стандартного перечня свойств, которые задаются системой программирования VBA и самой системой Windows, например свертывание окна после щелчка по кнопке Свернуть. Вторую группу действий на события может определить только программист. Для любого возможного события отклик обеспечивается созданием процедуры VBA. Теоретически возможно создать процедуру для каждого события, но практически программист заполняет кодом процедуры только для событий, представляющих в данной программе интерес.

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

    Свойствами-участниками являются свойства, которые задают вложенные объекты.

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

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

    Язык программирования VBA предназначен для написания кода программы. Он обладает своим алфавитом, который включает в себя:

    строчные и прописные буквы латинского алфавита (А, B....,Z,a,b....,z);

    строчные и прописные буквы кириллицы (А-Я, а-я);

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

    специальные символы, участвующие в построении конструкций языка: +-*?^=><():{}" &©;

    цифры от 0 до 9;

    символ подчеркивания «_»;

    составные символы, воспринимаемые как один символ: <=, >=, <>.

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

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

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

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

    1) имя следует начинать с буквы;

    2) имя не должно включать в себя точки, пробелы, разделительные символы, знаки операций, специальные символы;

    3) имя должно быть уникальным и не совпадать с зарезервированными словами VBA или другими именами;

    4) длина имени не должна превышать 255 символов;

    5) при составлении имен необходимо соблюдать соглашения по стилю;

    6) идентификатор должен ясно отражать назначение переменной для понимания программы;

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

    8) имена констант следует составлять из прописных букв;

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

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

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

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

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

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

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

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

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

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

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

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


    2. Парадигмы и языки программирования (презентация)
    Понятие парадигмы (стиля) программирования. Императивное программирование (машинный код, язык ассемблера, структурное, процедурное, модульное). Декларативное программирование (функциональное, логическое). Объектно-ориентированное программирование. Примеры классификации языков программирования. Структура языка программирования. Составляющие языка программирования высокого уровня (алфавит, синтаксис, семантика). Понятие о формальных грамматиках и синтаксических диаграммах. Характеристики ЯП и их влияние на критерии оценки программного обеспечения. Развитие языков программирования


    Основные подходы к генерации кода для программ на языках высокого уровня. Способы трансляции (интерпретация, компиляция, динамическая (JIT) компиляция). Этапы трансляции (препроцессинг, компиляция, связывание). Компиляция программы. Структура компилятора. Этапы компиляции (лексический анализ, синтаксический анализ, семантический анализ, оптимизация, генерация кода). Инструментальные средства для создания и отладки программ на языках высокого уровня. Минимальный набор средств разработки. Расширенный набор средств разработки. Интегрированная среда разработки (IDE, IDDE). Онлайн-компиляторы


    Структура типовой программы на языке C. Основы препроцессинга, подключение файлов, описание констант

    ВИДЕО НЕТ

    5. Базовые типы данных. Переменные. Константы (презентация)
    Типы данных и переменные (понятие и классификация типов данных, базовые (простые) типы данных, описание переменных, отличие типа данных от переменной, инициализация переменных при объявлении). Область видимости и время жизни переменных. Описание констант. Приведение (преобразование) типов

    Операторы и операции в языке С (унарные операции, бинарные операции, тернарные операции). Понятие о «ленивых вычислениях» в логических выражениях. Порядок вычисления выражений. Приоритеты операций

    Организация ввода/вывода в языке С. Форматированный вывод (функция printf() и спецификаторы форматов для вывода данных различного типа, модификаторы формата). Форматированный вывод (функция scanf() и спецификаторы форматов для ввода данных различного типа, модификаторы формата).

    Операторы ветвлений (Условный оператор, Оператор выбора (переключатель), Тернарный оператор). Операторы циклов (Цикл с предусловием, Цикл с постусловием, Цикл по счетчику). Основные операторы переходов (Оператор прерывания цикла, Оператор продолжения цикла, Оператор перехода и метки)

    Понятие массива, Описание массива и доступ к элементам массива, Использование цикла при работе с массивами). Указатели (Понятие адреса и значения, Операции с указателями ("разыменование", взятие адреса переменной, арифметические операции), Указатели и массивы, преимущества и недостатки использования указателей для работы с массивами, Тип void). Символьные строки (Представление в памяти, Специализированные функции для ввод/вывода строк и символов, Библиотечные функции для работы со строками.

    Курс "Основы программирования и алгоритмические языки" является фундаментом образования будущего программиста. В этом курсе он должен научиться придумывать и программировать алгоритмы, и это умение будет служить ему всю программистскую жизнь по будням и даже в праздники. По этой причине пособие состоит из двух частей: первая - основы алгоритмизации (разделы с 1 по 5) и вторая - основы программирования на С++(разделы с 6 по 21).

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

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

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

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

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

    1 Основные этапы решения задачи на эвм

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

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

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

    Ко времени решения поставленной задачи;

    Объему необходимых ресурсов, например, оперативной памяти;

    Точности достигаемого результата.