Специальные разделы информатики

Министерство образования и науки Российской Федерации

Владивостокский государственный университет экономики и сервиса

Специальные разделы информатики

Владивосток

2014

ББК 32.841

Н 34

Учебная программа по дисциплине «Специальные разделы информатики» составлена в соответствии с требованиями ГОС ВПО. Предназначена для студентов специальности 210305.65 Средства радиоэлектронной борьбы.

Составитель: , д-р. ф.-м. н., профессор кафедры Электроники ИИБС.

Утверждена на заседании кафедры Электроники от 13.12.09 г., протокол , редакция 2014 г. (заседание кафедры от 01.01.2001 г., протокол №8).

Рекомендована к изданию учебно-методической комиссией ИИБС ВГУЭС от 20.12.09 протокол

Утверждена на заседании учёного совета ИИИБС, протокол №8 от 01.01.2001 г.

Издательство Владивостокского

Государственного университета

экономики и сервиса, 2014 г.

ВВЕДЕНИЕ

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

1. Организационно-методические указания

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

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

НЕ нашли? Не то? Что вы ищете?

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

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

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

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

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

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

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

1.2. Перечень компетенций, приобретенных при изучении дисциплины

Дисциплина направлена на формирование следующих профессиональных качеств:

-знание основ языков программирования высокого уровня;

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

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

решений;

- применять и настраивать радиоприемные и передающие системы;

-разрабатывать программные системы управления;

-уметь работать с аудио и видео программами.

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

Дисциплина «Специальные разделы информатики» изучается в четвертом семестре. Общее количество часов, которое отводится на изучение дисциплины – 68. Количество аудиторных часов – 34, из них: лекций – 17час, лабораторных занятий – 17. На самостоятельную работу студентов отводится 34 часов, из них 14 часов на подготовку к экзамену, 16 часов на оформление отчетов по лабораторным работам и подготовку их к защите и 4 часов на выполнение индивидуальных домашних заданий, самостоятельное изучение материала и консультации.

1.3.1. Лекционные занятия

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

1.3.2. Лабораторные занятия

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

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

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

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

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

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

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

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

Экзамен по дисциплине проводится в форме электронного теста.

Текущий контроль – рефераты, доклады, контрольные работы.

Итоговая оценка складывается из текущей и оценки на экзамене.

Текущий контроль знаний и умений студентов включает:

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

- экспресс-контрольных работ на лекционных занятиях;

- оценку подготовки студентов к выполнению лабораторных работ;

- защиту отчетов по выполненным лабораторным работам.

Для проведения лабораторных работ с использованием пакетов программ С++ Builder необходим компьютерный класс, оснащенный компьютерами типа IBM PC, работающими под управлением русскоязычной (локализованной) либо корректно русифицированной версии операционных систем MS Windows /ME/NT/2000/XP.

Минимально допустимые уровни ОС:, Win2000 SP2, WinXP SP1.

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

- процессор Pentium с тактовой частотой не менее 800 МГц;

- оперативная память не менее 512 Мб;

- графический адаптер VGA с видеопамятью не менее 8 Мб;

- привод CD-ROM;

2. Содержание дисциплины

Тема 1. ПРОЦЕСС ПОСТРОЕНИЯ ПРОГРАММЫ НА ЯЗЫКЕ С++.(4 ч.)

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

- подготовку файлов исходного кода (*.cpp);

- компиляцию исходных файлов в файлы объектного кода (*.obj);

- компоновку объектных файлов с присоединением необходимых библиотек (*.lib, *.dll) и ресурсов (*.res), в результате формируется конечный исполняемый файл (*.exe).

Для того, чтобы сделать возможным написание программ, состоящих из нескольких файлов исходного кода и, как следствие, раздельную компиляцию исходных файлов в языке С++ используется механизм заголовочных файлов (*.h или *.hpp). Они подключаются к компилируемым исходным файлам на этапе препроцессорной обработки и содержат информацию (как правило, прототипы функций), необходимую для раздельной компиляции исходных модулей программы. Заголовочные файлы подключаются к компилируемому файлу исходного кода с помощью директивы #include. Один и тот же заголовок можно подключать ко многим исходным файлам. Структурно программа на С++ представляет собой набор функций, среди которых одна является входной точкой программы; она называется main() или WinMain(). Функции - единственный тип подпрограмм в С++.

Тема 2. ОСНОВНЫЕ ОПЕРАЦИИ ЯЗЫКА С++

Арифметические операции.

К арифметическим операциям относятся умножение ( * ), деление ( / ), вычисление остатка от деления (или взятие по модулю, %), сложение ( + ) и вычитание Операция взятия остатка от деления применяется только к целочисленным операндам и даёт остаток от деления операнда на второй. Что касается операции деления, то следует помнить, что в С++ если оба её операнда являются целыми, то и результат также будет целым, равный частному от деления с остатком первого операнда на второй.

Операция приведения типа.

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

int p1;

double p2=3.84;

p1=p2; // p1 получит значение 3

p2=p1; // p2 получит значение 3.0

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

int p1;

double p2=3.84;

p1=(int)(p2+0.5); // Округление p2. p1 получит значение 4.

Операции инкремента и декремента

Операции инкремента ( ++ ) и декремента (Соответственно увеличивают или уменьшают свой операнд на единицу. Пример:

int i, j;

i=1;

j=5;

i++; // Эквивалентно i=i+1;

j--; // Эквивалентно j=j-1;

Эти операции могут использоваться и в выражениях:

int i, j;

i=1;

j=5;

i=i+(--j); // i получит значение 5, j получит значение 4;

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

Массивы.

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

double mymatrix[3][3];

int myarray[10];

Массив, как и переменную, можно инициализировать при объявлении:

int myarray[10]={0,1,2,3,4,5,6,7,8,9};

Обращение к элементам массива производится путём указания индекса элемента в квадратных скобках:

myarray[3]=30;

Индекс должен быть целым выражением в пределах допустимого диапазона. Индексация массивов в С++ всегда начинается с 0, поэтому если массив состоит из N элементов, то его индекс может принимать значения от 0 до N-1.

Тема 3. Управляющие конструкции языка С++

УСЛОВНЫЙ ОПЕРАТОР if … else

Условный оператор реализует структуру выбора. Он имеет следующий вид:

if (условие) оператор1 else оператор2

Если условие оценивается как истинное (не равное 0), выполняется оператор1, если как ложное (равное 0), выполняется оператор2

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

if (условие)

{операторы блока if}

else

{операторы блока else}

Ключевое слово else и соответствующий ему блок операторов могут отсутствовать. Можно также строить вложенные структуры if … else.

ОПЕРАТОР ВЫБОРА switch

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

switch (выражение)

{

case константное выражение1: группа операторов1

case константное выражение2: группа операторов2

[default: группа операторов]

}

ОПЕРАТОР goto

Исполнение оператора goto приводит к передаче управления на метку, указанную в операторе. Пример:

loop1:

goto loop1;

ЦИКЛЫ

В языке С++ структуры многократного повторения реализуются тремя разновидностями операторов цикла: while, dowhile и for.

Цикл while

Синтаксис оператора while выглядит так:

while (условие продолжения) оператор

Сначала оценивается условие продолжения. Если оно истинно, выполняется оператор, после чего управление возвращается заголовку цикла и всё повторяется снова. Когда условие оказывается ложным, выполнение цикла прекращается и управление передаётся следующему после цикла оператору. Пример:

int j=0;

while (j<=5)

{

j=j+1;

printf(“j=%d \n”, j); // На консоль выводится значение j, пока j не станет больше 5

}

Следует обратить внимание, что в цикле while проверка условия делается перед выполнением тела цикла. Если условие изначально ложно, то тело цикла не исполняется ни одного раза.

Цикл dowhile

Этот цикл имеет следующий вид:

do оператор while (условие продолжения);

Здесь сначала выполняется оператор, а затем производится проверка условия продолжения. Если условие истинно, управление возвращается на начало цикла, если ложно, цикл завершается. Отличие от предыдущей конструкции состоит в том, что тело цикла do .. while исполняется хотя бы один раз вне зависимости от каких либо условий.

Цикл for

Цикл for выглядит так:

for ([инициализация]; [условие]; [модификация]) оператор

Часто бывает необходимым досрочно прервать некоторый цикл, до того, как условие его продолжения станет ложным. Для досрочного завершения циклов в С++ применяются операторы break и continue.

Оператор break вызывает прерывание ближайшего (самого внутреннего) заключающего его блока switch, while, dowhile или for.

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

Тема 4. Представление информации в С

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

Разновидности форм определяются значениями их свойства FormStyle, которое может иметь следующие значения: fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop.

Стиль fsNormal определяет обычную стандартную форму.

Стили fsMDIChild и fsMDIForm используются при создании многодокументных приложений в стиле MDI.

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

Внешний вид и поведение окон зависят также от некоторых других свойств формы.

Форма имеет также ряд специфических методов:

Close() – закрывает окно, для главного окна завершает работу программы,

GetFormImage() – возвращает текущее изображение окна формы,

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

При перемещении указателя мыши по экрану он может менять свою форму в зависимости от свойства Cursor компонента, над которым он расположен в данный момент. В среде Builder определены стандартные курсоры, которые можно увидеть, раскрыв соответствующую страницу инспектора объектов. С помощью редактора ресурсов можно определять и свои разновидности курсоров.

Для большинства видимых элементов определён набор обработчиков событий, связанных с мышью – движение указателя мыши (OnMouseMove), нажатие и отпускание клавиши мыши (OnMouseDown, OnMouseUp), щелчок и двойной щелчок мышью(OnClick, OnDblClick).

Типичная функция-обработчик движения указателя мыши имеет вид:

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

{

}

Здесь Shift – структура, содержащая признаки, уточняющие обстоятельства возникновения события: ssShift – нажата клавиша Shift, ssAlt – нажата клавиша Alt, ssCtrl – нажата клавиша Ctrl, ssLeft – нажата левая кнопка мыши, ssRight – нажата правая кнопка мыши, ssMiddle – нажата средняя кнопка, ssDouble – нажаты одновременно левая и правая кнопки. Переменные X и Y содержат коодинаты указателя мыши в момент возникновения события. Во всех обработчиках параметр Sender содержит указатель компонента, вызвавшего событие. Проверка состояния структуры Shift осуществляется посредством элемента-функции Contains(). Пример:

if (Shift. Contains(ssShift)) {Label2->Caption="Нажата Shift";};

Функция-обработчик нажатия или отпускания кнопки мыши имеет вид:

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)

{

}

Здесь Button – переменная, определяющая одну из трёх кнопок мыши: левую (mbLeft), правую (mbRight) и среднюю (mbMiddle). Параметры Shift, X и Y имеют тот же смысл, что и выше. Пример:

if (Button==mbLeft) {Label1->Caption="Нажали левую кнопку мыши”;};

Функции обработчики OnClick и OnDblClick не имеют специфических параметров (кроме Sender). Отметим, что событие OnClick возникает после OnMouseDown, но перед OnMouseUp, а событие OnDblClick возникает после OnMouseUp.

События от клавиатуры (OnKeyDown, OnKeyUp и OnKeyPress) могут получать только некоторые оконные компоненты. Параметр Key в обработчиках OnKeyDown, OnKeyUp содержит виртуальный код клавиши, а в обработчике OnKeyPress – ASCII-символ. Обработчики OnKeyDown, OnKeyUp перехватывают нажатие любой клавиши клавиатуры, в то время как OnKeyPress только алфавитно-цифровых клавиш, причём получаемый им символ Key учитывает выбранный язык и регистр.

1. Шаблоны программ в языке С++. Решение простейших задач. Арифметические процедуры процессоров ЦОС.

2. Расчет силы тока и сопротивления.

3. Программное решение расчета произвольной электрической цепи.

4. Решение графических задач.

5. Решение мультимедийных задач.

Тема 1.

1 .Записать инструкцию присваивания переменных.

2. Записать инструкцию присваивания для расчета площади.

3. Вывести на экран произвольный текст.

Тема 2.

1. Написать программу вычисления площади.

2. Написать программу вычисления сопротивления цепи из трех элементов.

3. Написать программу расчета цепи с наличием источника напряжения.

4. Написать программу определения скорости движения.

5. Написать программу с использованием команд инкремента ( ++ ) и декремента ( -- ).

Тема 3.

1. Написать программу вычисления сопротивления с инструкцией if.

2. Написать программу вычисления силы тока с инструкцией if.

3. Написать простейшую программу вычисления сопротивления с инструкцией switch.

4 Написать программу вычисления силы тока с инструкцией switch

5.Написать программу вычитания двух чисел с инструкцией switch.

6.Написать программу сложения трех чисел с инструкцией switch .

Тема 4.

1. Дать определение формы.

2. Построить простейшую форму для одного элемента.

3. Построить простейшую форму для двух элементов.

4. Решить задачу расчета сопротивления в C++Builder.

5. Решить задачу расчета силы тока в C++Builder.

6. Решить простейшую графическую задачу в C++Builder

3. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИЗУЧЕНИЮ ДИСЦИПЛИНЫ

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

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

3.2. Методические рекомендации по организации СРС

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

Кроме того, для контроля этого вида СРС на лекционных занятиях предусматриваются следующие экспресс-контрольные работы:

1. Решение задач по программированию процессора и контроллеров.

2. Составление простейших арифметических задач в отладчике.

3. Построение простейшей беспроводной сети..

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

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

Объем СРС, отведенный на эту работу, составляет 16 часов.

На подготовку к экзамену отводится 20 часов СРС.

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

Контрольные вопросы

для самостоятельной оценки

качества освоения дисциплины

1. Что такое инструкция присваивания?

2. Опишите структуру инструкция присваивания.

3. Дайте классификацию инструкций присваивания.

4. Назовите типы инструкций присваивания.

5. Назовите типы инструкций ввода.

6. Назовите типы инструкций вывода.

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

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

9. Постройте простейшую программу с инструкцией if.

10. Постройте простейшую программу с инструкцией if для трех переменных.

11. Постройте простейшую программу с инструкцией switch.

12. Постройте простейшую программу с инструкцией switch для четырех переменных.

13. Постройте простейшую программу с инструкцией for.

14. Постройте простейшую программу с инструкцией for для трех переменных.

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

Основная литература

1. , Информатика, Питер, 2003.

2. , С/С++ в задачах и примерах, СПб, 2008.

3. , С/С++ Builder в задачах и примерах, СПб, 2005.

4. Вычислительные системы, сети и телекоммуникации, Питер, 2004.

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

1. В. Юров ASSEMBLER, СПб, Питер, 2005.

2. Информационные технологии в транспортной логистике. Сборник
материалов (составитель ). - М.: КИА центр, 20с.

3. База данных: разработка и управление/Пер, с англ. - М:
БИНОМ, 1999.-699 с.

4. , Олифер сети. Принципы технологии,
протоколы. - СПб, ИД «Питер», 20с.

5. , Сикарев связи с подвижными объектами. - Киев:
Техника, 1989,- 158 с.

6. ГОСТ Р ИСО/МЭК Информационная технология. Процессы
жизненного цикла программных средств.