МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Алгоритмизация и программирование

рабочая программа дисциплины
Закреплена за кафедройКафедра цифровых технологий и бизнес-аналитики
Направление подготовки09.03.03. Прикладная информатика
ПрофильПрикладная информатика в дизайне
Форма обученияЗаочная
Общая трудоемкость8 ЗЕТ
Учебный планz09_03_03_Прикладная информатика_ПИвД-2023
Часов по учебному плану 288
в том числе:
аудиторные занятия 20
самостоятельная работа 255
контроль 13
Виды контроля по курсам
экзамены: 1
зачеты: 1

Распределение часов по курсам

Курс 1 Итого
Вид занятий УПРПДУПРПД
Лекции 8 8,0000000447035 8 8,0000000447035
Лабораторные 12 12 12 12
Сам. работа 255 255 255 255
Часы на контроль 13 13 13 13
Итого 288 288,0000000447 288 288,0000000447

Программу составил(и):
к.т.н., Доцент, Скурыдина Е.М.

Рецензент(ы):
к.ф.-м.н., доцент, Пономорев И.В.

Рабочая программа дисциплины
Алгоритмизация и программирование

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.03 Прикладная информатика (приказ Минобрнауки России от 19.09.2017 г. № 922)

составлена на основании учебного плана:
09.03.03 Прикладная информатика
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра цифровых технологий и бизнес-аналитики

Протокол от 14.04.2023 г. № 8
Срок действия программы: 20232024 уч. г.

Заведующий кафедрой
к.ф.-м.н., доцент Козлов Д.Ю.


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2023-2024 учебном году на заседании кафедры

Кафедра цифровых технологий и бизнес-аналитики

Протокол от 14.04.2023 г. № 8
Заведующий кафедрой к.ф.-м.н., доцент Козлов Д.Ю.


1. Цели освоения дисциплины

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

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.05

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

ОПК-2Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности;
ОПК-2.1 Знает современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
ОПК-2.2 Умеет выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
ОПК-2.3 Владеет навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности
ОПК-7Способен разрабатывать алгоритмы и программы, пригодные для практического применения;
ОПК-7.1 Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий
ОПК-7.2 Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.о различных парадигмах программирования и современном уровне развития языков и технологий программирования;
о сложности программных систем и методах ее преодоления;
об основах построения трансляторов;
основные понятия в области алгоритмизации, свойства алгоритмов, методы анализа сложности алгоритмов;
синтаксис и базовые конструкции языков C и С++, основные возможности и приемы программирования на этих языках;
принципы структурного программирования;
назначение, устройство и свойства основных структур данных: список, очередь, стэк, дерево, граф;
эффективные алгоритмы поиска и сортировки, алгоритмы решения задач теории графов.

3.2.Уметь:
3.2.1.разрабатывать алгоритмы решения типичных задач и реализовывать их на языке С;
применять при решении алгоритмических задач типичные алгоритмы и структуры данных;
использовать для разработки и отладки программ современные интегрированные среды разработки.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.приемами чтения, построения и записи алгоритмов;
навыками написания и отладки программ на высокоуровневом языке программирования в интегрированной среде разработки.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Курс Часов Компетенции Литература
Раздел 1. Алгоритмизация
1.1. Алгоритмические языки программирования. Базовые алгоритмические структуры: cледование, ветвление, повторение. Алгоритмические языки программирования. Уровни языков программирования. Алфавит, синтаксис и семантика алгоритмических языков программирования. Инструменты и схема построения исполняемого модуля для программы на языке программирования высокого уровня. Интегрированные среды разработки. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
1.2. Основы алгоритмизации. Исполнитель: среда, система команд исполнителя, отказы. Фон-неймановские принципы работы компьютеров. Алгоритм. Свойства алгоритма: понятность, дискретность, детерминированность, конечность, результативность, массовость. Формы записи алгоритмов: cловесно-пошаговая, графическая, в псевдокодах, на алгоритмических языках. Лекции 1 0,20000000298023 Л2.1, Л1.2, Л1.3, Л1.1
Раздел 2. Язык программирования Си
2.1. Общая характеристика языка С++. История и условия возникновения. Базовые принципы и свойства языка С++. Простейшая программа. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.2. Синтаксис языка С++. Алфавит, идентификаторы, ключевые слова. Комментарии. Типы, константы. Операции и выражения. Приоритет операций. Общая структура программы. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.3. Управляющие конструкции языка С++. Условный оператор. Оператор ветвления. Операторы циклов. Прерывание циклов. Инвариант цикла Лекции 1 0,20000000298023 Л2.1, Л1.2, Л1.3, Л1.1
2.4. Функции. Параметры функций. Инвариантная функция. Рекурсия. Взаимосвязь итерации и рекурсии. Индуктивное вычисление функции на последовательности данных Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.5. Массивы. Многомерные массивы. Массивы как параметры функций. Типичные операции над массивами. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.6. Указатели. Связь указателей и массивов. Динамические массивы. Указатели на функции. Указатели и параметры функций. Сложные описания с указателями. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.7. Структуры. Битовые поля. Указатели на структуры. Объединения. Размещение структур в памяти Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.8. Строки. Функции для работы со строками. Типичные операции над строками. Строки как параметры функций Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.9. Файлы. Файловая система. Текстовые и бинарные файлы. Функции для работы с файлами. Типичные приемы работы с файлами. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
2.10. Линейный вычислительный процесс Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.11. Линейный вычислительный процесс Сам. работа 1 6 Л2.1, Л1.2, Л1.3, Л1.1
2.12. Ветвящийся вычислительный процесс Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.13. Ветвящийся вычислительный процесс Сам. работа 1 6 Л2.1, Л1.2, Л1.3, Л1.1
2.14. Циклический вычислительный процесс Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.15. Циклический вычислительный процесс Сам. работа 1 8 Л2.1, Л1.2, Л1.3, Л1.1
2.16. Функции Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.17. Функции Сам. работа 1 18 Л2.1, Л1.2, Л1.3, Л1.1
2.18. Массивы Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.19. Массивы Сам. работа 1 18 Л2.1, Л1.2, Л1.3, Л1.1
2.20. Строки Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.21. Строки Сам. работа 1 51 Л2.1, Л1.2, Л1.3, Л1.1
2.22. Структуры Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.23. Структуры Сам. работа 1 40 Л2.1, Л1.2, Л1.3, Л1.1
2.24. Файлы Лабораторные 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
2.25. Файлы Сам. работа 1 28 Л2.1, Л1.2, Л1.3, Л1.1
Раздел 3. Технология программирования
3.1. Сложность программных систем. Причины и последствия сложности программных систем. Пять признаков сложных систем. Ограниченность интеллектуальных возможностей человека и пути преодоления связанных с нею трудностей. Способы борьбы со сложностью. Эволюция языков программирования. Топология языков программирования. Структурное программирование: цели, принципы и стандарты. Модульность. Методы программирования «сверху вниз» и «снизу вверх». Стиль программирования. Комментарии. Ошибкоустойчивость. Тестирование программ. Методы тестирования. Отладка. Надежность. Переносимость программ. Лекции 1 1 Л2.1, Л1.2, Л1.3, Л1.1
3.2. Основы трансляции. Компиляция и интерпретация. Основные этапы компиляции. Лексический, синтаксический, семантический анализ. Формальная грамматика. Компиляция формулы. Прямая и обратная польские нотации. Дерево синтаксического разбора. Лекции 1 0,10000000149012 Л2.1, Л1.2, Л1.3, Л1.1
3.3. Парадигмы программирования. Логическое, императивное, объектно-ориентированное, декларативное и функциональное программирование. Визуальное программирование. Современные технологии программирования. Компонентное сборочное программирование. Динамика и открытость языков программирования. Лекции 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
Раздел 4. Алгоритмы и структуры данных
4.1. Сложность алгоритмов. Эффективность алгоритмов. Оценка сложности алгоритмов. Взаимосвязь расхода памяти и скорости алгоритма. Асимптотический анализ сложности алгоритмов. Анализ худшего, лучшего и среднего случаев. Лекции 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
4.2. Типы и структуры данных. Абстрактные типы данных. Физическая реализация абстрактных типов данных. Лекции 1 3 Л2.1, Л1.2, Л1.3, Л1.1
4.3. Сортировка. Нижняя граница временной сложности алгоритмов сортировки. Пузырьковая сортировка. Шейкерная сортировка. Сортировка выбором. Сортировка вставками. Сортировка слиянием. Алгоритм быстрой сортировки Хоара (quicksort). Сортировка Шелла (shellsort). Линейные сортировки. Лекции 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
4.4. Списки. Односвязный список. Реализация абстрактного типа «односвязный список» на основе массивов и механизма динамического распределения памяти. Двусвязный список. Словарь. Стэк. Очередь. Лекции 1 0,5 Л2.1, Л1.2, Л1.3, Л1.1
4.5. Деревья. Бинарные деревья. Полные и сбалансированные бинарные деревья. Свойства сбалансированных деревьев. Обходы деревьев. Реализации абстрактного типа «бинарное дерево». Бинарные деревья поиска. Очереди с приоритетом. Лекции 1 0,30000001192093 Л2.1, Л1.2, Л1.3, Л1.1
4.6. Поиск. Линейный и бинарный поиск. Поиск с возвратом. Задача о восьми ферзях. Поиск и деревья Лекции 1 0,30000001192093 Л2.1, Л1.2, Л1.3, Л1.1
4.7. Базовые методы сортировки Лабораторные 1 3 Л2.1, Л1.2, Л1.3, Л1.1
4.8. Базовые методы сортировки Сам. работа 1 36 Л2.1, Л1.2, Л1.3, Л1.1
4.9. Методы сортировки с линейно-логарифмической сложностью Лабораторные 1 2 Л2.1, Л1.2, Л1.3, Л1.1
4.10. Методы сортировки с линейно-логарифмической сложностью Сам. работа 1 24 Л2.1, Л1.2, Л1.3, Л1.1
4.11. Анализ сложности алгоритмов сортировки Лабораторные 1 1 Л2.1, Л1.2, Л1.3, Л1.1
4.12. Анализ сложности алгоритмов сортировки Сам. работа 1 8 Л2.1, Л1.2, Л1.3, Л1.1
4.13. Динамические структуры данных Лабораторные 1 2 Л2.1, Л1.2, Л1.3, Л1.1
4.14. Динамические структуры данных Сам. работа 1 12 Л2.1, Л1.2, Л1.3, Л1.1

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном
портале «Цифровой Университет АлтГУ» – https://portal.edu.asu.ru/course/view.php?id=298, https://portal.edu.asu.ru/course/view.php?id=360,
https://portal.edu.asu.ru/course/view.php?id=380


ОЦЕНКА СФОРМИРОВАННОСТИ КОМПЕТЕНЦИИ ОПК-7: Способен разрабатывать алгоритмы и программы, пригодные для практического применения;
ОПК-2: Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности;

ПРИМЕРЫ ЗАДАНИЙ ЗАКРЫТОГО ТИПА ОПК-2

1. Что такое Куча:
а) Область динамической памяти
б) Именованная область памяти
в) Куча переменных
Ответ: a

2. Какие циклы существуют в языке C#:
а) for, while
б) for, while, do while, foreach
в) for, while, do while
Ответ: б


3. Что обозначает ключевое слово var:
а) Устраивает «войну» между программами
б) Обозначает что переменная имеет явный тип данных
в) Обозначает что переменная без явного типа данных
Ответ: в


4. Какие типы переменных существуют:
а) int, char, bool, float, double
б) int, char, bool, string
в) Оба варианта верны
г) Нет верного ответа
Ответ: в

5. Что такое константа:
а) Глобальная переменная
б) Переменная которая может быть изменена в любое время
в) Переменная значение которой нельзя изменить
Ответ: в

6. Где правильно создана переменная:
а) $x = 10;
б) char symbol = ‘A’;
в) x = 0;
Ответ: б


7. Какой оператор возвращает значение из метода:
а) end
б) out
в) return
Ответ: в


8. В чем отличие между break и continue:
а) Continue пропускает итерацию, break выходит из цикла
б) Break используется в Switch case, а continue в циклах
в) Continue работает только в циклах, break дополнительно в методах
Ответ: a


9. Какие бывают циклы:
а) Цикл, Форич, Двойной цикл, Многократный
б) Большие и маленькие
в) for, while, do-while, foreach
Ответ: в


10. Что делает try-catch:
а) Работает с файлами
б) Работает с исключениями
в) Работает с классами
Ответ: б


11. Что такое цикл и для чего они нужны:
а) Циклы нужны для многократного выполнения кода
б) Циклы нужны для многократного запуска программы
в) Циклы нужны для многократного размещения данных
Ответ: a



12. Для чего можно использовать язык C#:
а) Для создания веб сайтов
б) Для создания программ под ПК
в) Оба варианта верны
г) Нет верного ответа
Ответ: в

13. Какие бывают массивы:
а) Одномерные и многомерные
б) Резиновые и статичные
в) Сложные и простые
Ответ: a


14. Какой тип переменной используется в коде: int a = 5:
а) Знаковое 64-бит целое
б) Знаковое 8-бит целое
в) Знаковое 32-бит целое
Ответ: в


15. Что такое массив:
а) Набор однотипных данных, которые располагаются в памяти последовательно друг за другом
б) Набор данных типа int (32-бит целое)
в) Набор текстовых значений в формате Unicode, которые расположены в случайном порядке
Ответ: a


16. Что делает оператор «%»:
а) Возвращает процент от суммы
б) Возвращает остаток от деления
в) Возвращает тригонометрическую функцию
Ответ: б


17. Как называется оператор «?:» :
а) Прямой оператор
б) Вопросительный
в) Тернарный оператор
Ответ: в


18. Что сделает программа выполнив следующий код: Console.WriteLine(«Hello, World!»);
а) Напишет Hello, World!
б) Напишет на новой строчке Hello, World!
в) Удалит все значения с Hello, World!
Ответ: б


19. Для чего нужны условные операторы:
а) Чтобы устанавливать условия пользователю
б) Для оптимизации программы
в) Для ветвления программы
Ответ: в


20. Как сделать инкрементацию числа:
а) !=
б) ++
в) —
Ответ: б


21. Чему равен d, если int a = 0; int b = a++; int c = 0; int d = a + b + c + 3;
а) 4
б) False
в) 3
Ответ: a


22. Как сделать декрементацию числа:
а) !=
б) —
в) %%
Ответ: б


23. Чему будет равен с, если int a = 0; int c = —a;
а) Null
б) 1
в) -1
Ответ: в


24. Как найти квадратный корень из числа x:
а) Sqrt(x)
б) Math.Sqrt(x)
в) Arifmetic.sqrt(x)
Ответ: б


25. Чему будет равен с, если int a = 0; int c = a—;
а) -1
б) 1
в) 0
Ответ: в


26. Обозначения оператора «НЕ»:
а) No
б) !
в) Not
Ответ: б


27. Чему будет равен с, если int a = 10; int b = 4; bool c = (a == 10 && b == 4);
а) True
б) Null
в) False
Ответ: a


28. Обозначение оператора «ИЛИ»:
а) !+
б) !=
в) ||
Ответ: в


29. Чему будет равен с, если int a = 10; int b = 4; int c = a % b;
а) 2
б) 11
в) 1
Ответ: a


30. Обозначение оператора «И»:
а) &
б) &&
в) and
Ответ: б

ПРИМЕРЫ ЗАДАНИЙ ЗАКРЫТОГО ТИПА ОПК-7


1. Что произойдет в результате выполнения следующего кода:class Test  {     static void Main(string[] args)      {         char[] letters = {'a','b','c','d','e'};         for (int i = 1; i <= letters.Length; i++)         Console.Write(letters[i] + " ");     } } 
A) Возникнет ошибка компиляции
B) a b c d 
C) Код напечатает "b c d e", а дальше уже возникает ошибка времени выполнения
D) b c d e 
Ответ: C

2. Скомпилируется ли данный фрагмент кода успешно?public static int GetID (string inputText){if (inputText != "")return 1;else if (inputText == "")return 0;}
A) да
B) нет
Ответ: A

3. Среди перечисленных конструкций C# укажите объявление метода 
A) string Name;
B) string GetName () { return “Name”;}
C) string this [int i] {get {return “Name”;}}
D) string Name {get{return “Name”;}}
Ответ: B

4. Что напечатает программа:class Program{static bool SomeMethod(){Console.WriteLine("Method was invoked");return true;}static void Main(string[] args){if (true & false & SomeMethod()){Console.WriteLine("Inside IF operator");}Console.ReadKey();}}
A) Method was invoked
B) Method was invokedInside IF operator
C) Ошибка компиляции
D) Ничего не напечатает
E) Ошибка времени выполнения
Ответ: A

5. Что напечатает следующий код:class MyClass {     static void Main()     {         int a = 1, b = 2;         Swap(a, b);         Console.WriteLine("a=" + a + ", b=" + b);         Console.ReadLine();     }      private static void Swap(int a, int b)     {         int c = a;         a = b;         b = c;     } } 
A) Возникнет ошибка компиляции
B) a=2, b=1
C) Возникнет ошибка времени выполнения
D) a=1, b=2
Ответ: D

6. Что получим на экране, если выполним этот код ?public  static void Main() {     int i, j, s = 0;     for (i = 0, j = 6; i < j; ++i, --j )     {         s += i;     }     Console.WriteLine(s); } 
A) 21
B) 3
C) 2
D) 6
Ответ: B

7. Что будет выведено на консоль после выполнения следующего кода:static public void Main(string[] args)    {      int i = 1;      string s = "Hello, world";        Console.WriteLine("i = " + i);      ModifyInt(i);      Console.WriteLine("i = " + i);        Console.WriteLine("s = " + s);      ModifyString(s);      Console.WriteLine("s = " + s);    }      static void ModifyInt(int i)    {      i = 2;    }      static void ModifyString(string s)    {      s = "I've been modified.";    } 
A) i = 1i = 2s = Hello, worlds = I've been modified.
B) i = 1i = 1s = Hello, worlds = I've been modified.
C) i = 1i = 1s = Hello, worlds = Hello, world
D) i = 1i = 2s = Hello, worlds = Hello, world
Ответ: C

8. Что напечатает следующий код:static bool Method1() {     Console.WriteLine("in Method1");     return false; } static bool Method2() {     Console.WriteLine("in Method2");     return true; } static void Main(string[] args) {     if (Method1() & Method2())     {        Console.WriteLine("inside if");     } } 
A) in Method1in Method2inside if
B) in Method1
C) in Method1in Method2
Ответ: C

9. Что выведет на экран код:static void Main() {     if (false)     {         int i = 1;     }     int i = 2;     Console.WriteLine(i); } 
A) 1
B) 2
C) 0
D) Код не скомпилируется
Ответ: D

10. Что выведет данный код?static void Main(string[] args) {     string s;     {         int s = 10;         Console.WriteLine(s);     } } 
A) Пустую строку
B) Код не скомпилируется
C) Код скомпилируется, но во время исполнения возникнет Exception
D) 10
Ответ: B

11. Что напечатает следующий код:class MyClass {     static void Main()     {         int a = 1, b = 2;         Swap(a, b);         Console.WriteLine("a=" + a + ", b=" + b);         Console.ReadLine();     }      private static void Swap(int a, int b)     {         int c = a;         a = b;         b = c;     } } 
A) Возникнет ошибка времени выполнения
B) Возникнет ошибка компиляции
C) a=1, b=2
D) a=2, b=1
Ответ: C

12. Что напечатает данный код:class Test {    static void increment(int p)    {      ++p;    }    static void Main( )     {      int x = 8;      increment(x);      Console.WriteLine(x++);    } } 
A) 8
B) 9
C) 10
D) Код не скомпилируется
Ответ: A

13. Каким будет результат выполнения кода:using System;  class App {      static void Main()     {         string s;         s+="string";         Console.WriteLine(s);     } } 
A) string
B) "string"
C) Ошибка компиляции
D) Ошибка времени выполнения
Ответ: C

14. Что напечатает следующий код:public static void Main() {     Int32 v = 5;     Object o = v;     v = 123;     Console.WriteLine(v + ", " + (Int32) o); } 
A) 123, 5
B) 5, 5
C) 123, 123
D) Возникнет ошибка приведения типов
Ответ: A

15. Что будет выведено на консоль в результате выполнения кода?public static void Foo(params string[] lines){foreach (string l in lines) {Console.Write(l);}}public static void Main(){string[] data = new string[] { "1", "2", "3" };Foo(data);Foo("A", "B", "C");}
A) Программа не компилируется
B) 123ABC
C) Возникнет ошибка времени выполнения
Ответ: B

16. Что будет выведено на консоль в результате выполнения следующего кода:namespace ConsoleApplication1{class Program{static void Main(string[] args){Console.Write(Foo(1)+Foo(2)*Foo(3));Console.ReadLine();}public static int Foo(int o){Console.Write(o);return o;}}}
A) 2317
B) 1237
C) 3217
D)  Возникнет ошибка компиляции, тип int нужно привести к строке
Ответ: B

17. Что делает оператор %?
A) Возвращает остаток от деления
B) Форматирует значения разных типов в строку
C) Переводит дробное число в проценты
D) Возвращает процентное соотношение двух операндов
Ответ: A

18. Что напечатает следующий код:static void Main(string[] args) {int a = 0;decimal b = 0;double c = 0.0;Console.WriteLine(a == b);Console.WriteLine(a.Equals(b));Console.WriteLine(a == c);Console.WriteLine(a.Equals(c));Console.ReadLine();}
A) FalseTrueFalseFalse
B) TrueTrueTrueTrue
C) TrueFalseTrueFalse
D) TrueTrueTrueFalse
Ответ: C

19. Что будет выведено на консоль?using System;[Flags]public enum Economics: byte{None = 0x00,Money = 0x01,Buseness = 0x02,Innovation = 0x04}public class App{public static void Main(string[] args){Economics ec = Economics.Money | Economics.Innovation ;Console.WriteLine(ec);}}
A) 0x05
B) 5
C) Ошибка компиляции
D) Money, Innovation
Ответ: D


КРИТЕРИИ ОЦЕНИВАНИЯ: Каждое задание оценивается 1 баллом. Оценивание КИМ теоретического характера в целом:
• «зачтено» – верно выполнено более 50% заданий; «не зачтено» – верно выполнено 50% и менее 50% заданий;
• «отлично» – верно выполнено 85-100% заданий; «хорошо» – верно выполнено 70-84% заданий; «удовлетворительно» – верно выполнено 51-69% заданий; «неудовлетворительно» – верно выполнено 50% или менее 50% заданий.

ПРИМЕРЫ ЗАДАНИЙ ОТКРЫТОГО ТИПА ОПК-2
Тестовые задания со свободным выбором вариантов ответа



1. Программа выводит на печать:
a=5, b=2
Подставьте в код программы на C# пропущенные элементы
void Main(){
int a=5,b=2___
System.Console.WriteLine(" a={___}, b={____}",b,a);
System.Console.ReadLine(___ ;
Ответы: ; , 1, 0, )

2. Программа должна напечатать
Method is Inside IF operator
namespace ConsoleApplication1
{
class Program
{
static bool SomeMethod()
{
Console.___________("Method");
return _______;
}
static void Main(string[] args)
{
if (true & false _____ !SomeMethod())
{
Console.WriteLine(" is Inside IF operator");
}
Console.ReadKey();
}
}
}
Ответы: Write, false, ||

3. В результате выполнения следующего кода на консоль будет выведено 1234. Что необходимо для этого

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write(Foo(0) __ Foo(1) ___ Foo(2) ___ Foo(3));

Console.ReadLine();
}


public static string Foo(int o)
{
_______ (o+1). ________;
}
}
}
Ответы: +,+,+,return, ToString()
4. Что нужно сделать, чтобы в результате программа напечатала следующее:
4
static void Main(string[] args)
{
for (int k = 1; k < 3; )
Console.WriteLine(++k + k___);
Console.ReadKey();
}
Ответ: ++

5. Программа выполняет синтаксический разбор строки текста с разделителями ‘|’:
"34 | Петров А.И. | 45000.34 | 3"
Находит оклад (третье слово) и вычисляет 15% от него.
Подставьте в код программы на C# пропущенные элементы
class Program
{
static void Main(string[] args)
{
string s = "34 | Петров А.И. | 45000.34 | 3";
char[] разделители = {'__'};
string[] слово = s.Split(‘|’);
string строка_оклад = слово[__];
int i=0;
foreach (string s1 in слово)
System.Console.WriteLine(" {0} {1} ", i++, __);

double оклад=0;
double.{#5}(слово[{#6}].Replace('.', ','), out {#7});
System.Console.WriteLine(" Оклад = {0} 15%= {1}", оклад, 0.15*оклад);
System.Console.ReadLine();
}
}

Ответы: |, ‘|’, 2, s1,
6. Программа выполняет синтаксический разбор строки текста с разделителями ‘|’:
"34 | Петров А.И. | 45000.34 | 3"
Находит оклад (третье слово) и вычисляет 15% от него.
Подставьте в код программы на C# пропущенные элементы
class Program
{
static void Main(string[] args)
{
string s = "34 | Петров А.И. | 45000.34 | 3";
System.Console.WriteLine("s= {0} ", s);
int n = 0;
n = s.______("|", n)+1;
n = s.______("|", n)+1;
string s1 = s._____(n+1) ;
n = s1.______('|');
s1 = s1.______(0, n);
System.Console.WriteLine("s1= {0} ", s1);
double оклад = 0;
double._______(s1.______('.', ','), out оклад);
System.Console.WriteLine("Оклад={0} 15%={1}",оклад,_____*оклад);
System.Console.ReadLine();
}
}

Ответы: IndexOf, IndexOf, Substring, IndexOf, Substring, TryParse, Replace, 0.15

7. Приведена программа для вычисления суммы чисел от 1 до 10. Вставьте недостающие элементы в код программы на языке C#

double x = ___;
for (int i = ____; i <= 10; i++)
{
x += ___;
System.Console.WriteLine(__" i={i} x={x}");
}
System.Console.WriteLine(__" x={x}"); System.Console.ReadLine();
Ответы: 0, 1, i, $, $
8. Программа вычисляет сумму чисел от 1 до 10.
Вставьте пропущенные элементы кода на C#

void Main(){
int x = ___;
for (int i = 0; i <= ___; i++)
x ___ i;
System.Console.WriteLine(" x={___}", x);
System.Console.ReadLine();}
Ответы: 0, 10, +=, 0

9. Программа должна записать в файл «1.txt» строку «Привет всем!!!». Заполните пропущенные фрагменты кода.

string s = "Привет всем!!!";
string f = "1.txt";
try
{
System.IO.File.WriteAllText(___ , ___);
System.Console.WriteLine($"Строка s={s} записана в файл {f}");
}
catch {
System.Console.WriteLine($"Ошибка! \n Не удалось записать строку s={s} в файл {f}");
}
System.Console.ReadLine();

Ответы: f, s

10. Программа должна считать из файла «1.txt» массив вещественных чисел и вывести его на печать. В файле каждое число расположено на отдельной строке. Заполните пропущенные фрагменты кода.
internal class Program
internal class Program {
static void Печать(double[] a)
{
System.Console.WriteLine();
for ( int i = 0; i< a._____;i++)
System.Console.Write($" {a[i]}");
}
static void Main(string[] args)
{

string s="";
string f = "1.txt";
string[] a;;
double[] x= { };
try
{
s= System.IO.File._______(f);
a = s.Split('\n');
x=new double[a.Length];
System.Console.WriteLine($"n={a.______}");
for (int i = 0; i < a.______; i++)
double._________(a[i],out x[i]);
}
catch {
System.Console.WriteLine($"Ошибка! Массив не считан");
}
Печать(x);
System.Console.ReadLine();
}
}


Ответы: Length, ReadAlText, Length, Length, TryParse




КРИТЕРИИ ОЦЕНИВАНИЯ ОТКРЫТЫХ ВОПРОСОВ.
«Отлично» (зачтено): Ответ полный, развернутый. Вопрос точно и исчерпывающе передан, терминология сохранена, студент превосходно владеет основной и дополнительной литературой, ошибок нет.
«Хорошо» (зачтено): Ответ полный, хотя краток, терминологически правильный, нет существенных недочетов. Студент хорошо владеет пройденным программным материалом; владеет основной литературой, суждения правильны.
«Удовлетворительно» (зачтено): Ответ неполный. В терминологии имеются недостатки. Студент владеет программным материалом, но имеются недочеты. Суждения фрагментарны.
«Неудовлетворительно» (не зачтено): Не использована специальная терминология. Ответ в сущности неверен. Переданы лишь отдельные фрагменты соответствующего материала вопроса. Ответ не соответствует вопросу или вовсе не дан.



5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном портале
«Цифровой Университет АлтГУ» – https://portal.edu.asu.ru/course/view.php?id=298, https://portal.edu.asu.ru/course/view.php?id=360,
https://portal.edu.asu.ru/course/view.php?id=380


ВОПРОСЫ К ЗАЧЕТУ
Рекомендуемый перечень вопросов для самостоятельной подготовки:
1. Понятие информации. Информационные процессы. Непрерывная и дискретная информация. Виды классификации информации.
2. Единицы количества информации: вероятностный и объемный подходы.
3. Международная система байтового кодирования.
4. Системы счисления: позиционная и непозиционная. Представление чисел в различных системах счисления. Основание системы счисления.
5. Перевод чисел в различные системы счисления.
6. Арифметические действия в различных системах счисления.
7. Кодирование информации. Представление данных в памяти ЭВМ. Теорема Шеннона.
8. Алфавитное неравномерное двоичное кодирование. Префиксный код Хаффмана.
9. Равномерное алфавитное двоичное кодирование. Байтовый код.
10. Алфавитное кодирование с неравной длительностью элементарных сигналов. Код Морзе.
11. Блочное двоичное кодирование.
12. Представление чисел без знака и со знаком.
13. Индикаторы переноса и переполнения. Действия над числами в системе чисел со знаком и без знака.
14. Представление чисел с фиксированной и с плавающей запятой в памяти компьютера.
15. Устройство компьютера.
16. Измерение количества информации.
17. Файловые менеджеры (Far).
18. Файловая система дисков.
19. Понятие каталогов и файлов.
19. Выбор группы файлов, просмотр файлов с помощью функциональных клавиш Far.
20. Создание каталогов, сравнение каталогов с помощью функциональных клавиш Far.
21. Копирование файлов и каталогов с помощью функциональных клавиш Far.
22. Переименование файлов и каталогов с помощью функциональных клавиш Far.
23. Удаление файлов и каталогов с помощью функциональных клавиш Far.
24. Выбор диска, переход с диска на диск с помощью функциональных клавиш Far.
25. Меню команд пользователя. Управляющее меню.
26. Форматирование диска.
27. Понятие операционной системы (назначение, функции, команды).
28. Общие сведения о Windows (преимущества и недостатки).
29. Полный путь к файлу. Имя файла. Короткое, длинное имя файла. Механизм перенаправления ввода-вывода. Маски файлов.
30. Работа с файлами и каталогами с помощью команд операционной системы.
31. Работа с файловой системой с помощью команд операционной системы.
32. Работа с пакетными файлами: создание пакетного файла, параметры пакетного файла, запуск пакетного файла с параметрами, отключение режима дублирования команд на экран при выполнении командного файла.
33. Работа с файлами сценариями (создание, редактирование, запуск файлов сценариев).
34. Объект FileSystemObject.
35. Получение основных свойств папок и файлов с помощью файлов сценариев.
36. Понятие алгоритма. Виды алгоритмов. Способы записи алгоритмов.
37. Языки программирования.
38.Основы алгоритмизации и программирования
39. Понятие алгоритма, формы записи и свойства алгоритма.
40. Алгоритмы, способы записи. Среды и оболочки для создания алгоритмов.
41. Введение в технологии программирования. Процедурное программирование. Обзор языков программирования высокого уровня.
42. Разработка простейших программ
43. Основы разработки на платформе .Net. Типы данных, константы, переменные.
44. Операции и операторы C#
45. Подпрограммы (методы). Рекурсивные методы.
46. Символы, строки, массивы.
47. Организация ввода-вывода

ВОПРОСЫ К ЭКЗАМЕНУ
12. Основные понятия теории информации и теоретические основы информатики
13. Предмет и задачи информатики. Понятие информации. Двойственность информации. Количественный и качественный аспекты информации.
14. Информация. Количественный и качественный аспекты информации. Объем информации.
15. Теория информации и теория информационного общества. Кодирование информации. Системы счисления. Информационно-логические основы ЭВМ.
16. Кодирование информации. Системы счисления. Информационно-логические основы ЭВМ.
17. Технические средства реализации информационных процессов
18. История развития и направления развития ЭВМ.
19. Архитектура персонального компьютера.
20. Программные средства реализации информационных процессов
21. Системное программное обеспечение. Операционные системы.
22. Прикладное программное обеспечение. Общие принципы работы офисных пакетов.
23. Назначение и основные функции текстовых редакторов и процессоров. Общая характеристика процессоров электронных таблиц.
24. Работа в текстовых процессорах.
25. Расширенная функциональность офисных средств, возможности табличных процессоров. Средства построения презентаций
26. Основы алгоритмизации и программирования
27. Понятие алгоритма, формы записи и свойства алгоритма.
28. Алгоритмы, способы записи. Среды и оболочки для создания алгоритмов.
29. Введение в технологии программирования. Процедурное программирование. Обзор языков программирования высокого уровня.
30. Разработка простейших программ
31. Основы разработки на платформе .Net. Типы данных, константы, переменные.
32. Операции и операторы C#
33. Подпрограммы (методы). Рекурсивные методы.
34. Символы, строки, массивы.
35. Организация ввода-вывода
36. Работа с файловой системой
37. Основы информационной безопасности
38. Средства и методы защиты информации. Компьютерные вирусы и методы их профилактики
39. Базы данных
40. Базы и банки данных. Структура и пользователи банков данных. Языковые средства
41. Базы и банки данных. Структура и пользователи банков данных. Языковые средства СУБД.
42. Основы работы в MS'Access


ТЕМЫ КУРСОВЫХ РАБОТ

1. Информация и информатика.
2. История развития и виды языков программирования.
3. Эволюция и современное состояние технологий локальных информационно-вычислительных сетей.
4. Использование средств связи в компьютерных коммуникациях.
5. Создание интерактивных ресурсов глобальной сети Internet.
6. Корпоративные технологии сетей Интранет.
7. Русскоязычные ресурсы Интернет для экономистов.
8. Современные методы защиты информации.
9. Эволюция операционных систем для персональных компьютеров.
10. Современные операционные оболочки и операционные среды.
11. Файлы и файловые системы.
12. Настройка современной операционной системы.
13. Назначение и возможности текстовых оболочек операционных систем. Их сравнительная характеристика.
14. Прикладное программное обеспечение и тенденции его развития.
15. Использование технологий мультимедиа и гипермедиа в обучении.
16. Современные программные средства для решения экономических задач
17. Технологии электронных презентаций и их использование в современном бизнесе.
18. Технологии электронного офиса в управлении предприятием.
19. Влияние монополизации на рынок программного обеспечения и аппаратных средств.
20. Российский рынок программного обеспечения для экономистов.
21. Индустрия компьютерных игр. Современные технологии. Отечественные и зарубежные производители.
23. Системы управления базами данных.
24. Программы для работы с графическими изображениями
25. Возможности MS Word при работе с объектами.
26. Применение OLE и DDE механизмов при совместном использовании пакетов MS'Word и MS'Excel.
27. Средства деловой графики MS Excel.
28. Возможности MS Excel при работе с различными типами данных
29. Обработка бухгалтерских проводок средствами MS Excel.
30. Учет материальных ценностей средствами MS Excel.
31. Учет доходов физических лиц и подоходного налога средствами MS Excel.
32. Комплексные бухгалтерские вычисления средствами MS Excel.
33. Системы автоматизации бухгалтерского учета и управления средствами MS Excel.
34. Учет и контроль дебиторской задолженности средствами MS Excel.
35. Создание электронного прайс-листа средствами MS Excel



5.3. Фонд оценочных средств для проведения промежуточной аттестации
Промежуточная аттестация заключается в проведении в конце второго семестра зачета, в конце третьего семестра экзамена по всему изученному курсу.
Тест размещен в разделе «Промежуточная аттестация (зачет)» онлайн-курса на образовательном портале
«Цифровой университет АлтГУ». https://portal.edu.asu.ru/course/view.php?id=298, https://portal.edu.asu.ru/course/view.php?id=360,
https://portal.edu.asu.ru/course/view.php?id=380
Количество заданий в контрольно-измерительном материале (тесте) для промежуточной аттестации, составляет 25.
КРИТЕРИИ ОЦЕНИВАНИЯ: Каждое задание оценивается 1 баллом. Оценивание КИМ в целом:
Для экзамена: «отлично» – верно выполнено 85-100% заданий;
«хорошо» – верно выполнено 70-84% заданий;
«удовлетворительно» – верно выполнено 51-69% заданий;
«неудовлетворительно» – верно выполнено 50% и менее 50% заданий.

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Подбельский В.В., Фомин С.С. Курс программирования на языке Си: Учебники Издательство "ДМК Пресс", 2012 e.lanbook.com
Л1.2 Смирнов А.А. Технологии программирования : учебно-практическое пособие [Электронный ресурс]: Учебно-практическое пособие Евразийский открытый институт, 2011 // ЭБС "Университетская библиотека ONLINE" biblioclub.ru
Л1.3 Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона: Учебные пособия Издательство "ДМК Пресс", 2010 e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Кауфман В.Ш. Языки программирования. Концепции и принципы: Учебник М.: ДМК Пресс // ЭБС "Лань", 2011 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 C — The ISO Standard — Rationale, Revision 5.10 (англ.) (апрель 2004). — Обоснование и пояснения для стандарта C99. – http://www.open-std.org/JTC1/SC22/WG14/www/docs/C99RationaleV5.10.pdf
Э2 ISO/IEC JTC1/SC22/WG14 official home – Официальная страница международной рабочей группы по стандартизации языка программирования Си. – http://www.open-std.org/JTC1/SC22/WG14/
Э3 Поисковые системы - yandex.ru, google.com
Э4 Свободная энциклопедия Википедия – http://ru.wikipedia.org
Э5 Форум разработчиков программного обеспечения - Stackoverflow.com
Э6 Интернет-университет информационных технологий. – http://www.intuit.ru
Э7 Образовательный курс "Алгоритмизация и программирование" на платформе MOODLE portal.edu.asu.ru
6.3. Перечень программного обеспечения
Интегрированная среда разработки
Компилятор С/С++
Текстовый редактор
Microsoft Windows
Microsoft Office
7-Zip
AcrobatReaderMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
1. Образовательный портал АлтГУ [Электронный ресурс]: http://portal.edu.asu.ru
2. Издательство «Лань» - электронно-библиотечная система [Электронный
ресурс]: http://e.lanbook.com
3. Издательство МЦНМО. Свободно распространяемые книги издательства
Московского центра непрерывного математического образования
[Электронный ресурс]: www.mccme.ru/free-books
4. Математическая библиотека [Электронный ресурс]: www.math.ru/lib
7. Электронная библиотечная система Алтайского государственного
университета [Электронный ресурс]: http://elibrary.asu.ru
8. Научная электронная библиотека Elibrary [Электронный ресурс]:
http://elibrary.ru

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
107Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица
Помещение для самостоятельной работы помещение для самостоятельной работы обучающихся Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

8. Методические указания для обучающихся по освоению дисциплины

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

1. Рабочая программа дисциплины

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


2. Презентации к лекциям

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


3. Лабораторные работы

Выполнение лабораторных работ -- основа практических занятий. Основные навыки программирования вырабатываются именно в эти моменты. Для выполнения работы необходимо

получить вариант задания у преподавателя, ведущего практические занятия;
обратившись к нужной лабораторной работе,загрузить документ с описанием работы;
внимательно прочитать задание к работе (как правило, на второй странице документа);
разработать, отладить и оттестировать программы, решающие указанные задачи;
составить отчёт о лабораторной работе по шаблону (см. ссылку в 0-м разделе курса);
загрузить PDF-версию отчета, используя нужный элемент "Лабораторная работа №..." (при необходимости вместо уже загруженного варианта отчета всегда можно загрузить и его обновленную версию);
очно защитить результаты работы перед преподавателем и получить оценку.

Оценки за лабораторные работы можно просмотреть через пункт меню "Оценки", расположенном на главной странице курса в её левой нижней части (Настройки\Управление курсом\Оценки).

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

4. Образец отчета о лабораторной работе

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

5. Тесты

Тесты предназначены для контроля усвоения теоретического материала, а также умения читать и понимать код программ. Количество попыток на каждый тест ограничено тремя. Зачётные попытки выполнения теста осуществляются только в присутствии преподавателя (на практическом занятии или консультации). Оценка за тест определяется как максимальная из оценок, полученных в зачетных попытках. Результаты прочих попыток аннулируются, а попытки рассматриваются как тренировочно-ознакомительные.

Оценки за тесты сообщаются по окончании попытки, а также могут быть просмотрены в любой момент через пункт меню "Оценки", расположенный на главной странице курса в её левой нижней части (Настройки\Управление курсом\Оценки).

6. Рекомендации

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


7. Примеры программ

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

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