На главную страницу сайта

План занятий на осенний семестр
Программирование
на языке высокого уровня и основы алгоритмизации

(СТРАНИЦА В РАЗРАБОТКЕ - Примеры программ меняются с Паскаля на Си...)

Курс Программирования расссчитан на ДВА семестра, с осени 2026 в качетве эксперемента изучается только один язык высокого уровня - С - на уровне процедурного программирования. Объектно-ориентированное программирование изучается позже и в другом курсе и семестре. Никаких cin, cout, string, iostream, ifstream, vector, ...

В рамках первого семестра изучается язык С и базовые алгоритмы для работы с массивами. Для работы с языком в семестре можно использовать разные среды программирования разных разработчиков и версий, например:
  • Visual C++ из Visual Studio (Community Edition) ;
  • C++ Builder в среде Borland Developer Studio (Community Edition) на сайте разработчика www.embarcadero.com;
  • или свободно распространяемые среды разработки с языками, похожими на изучаемую версию компилятора языка Си (например, Dev-C++ codeBlocks Falcon C++), Редактор кода с терминалом VS Code.
  • Для быстрой отладки первых приложений без установки ПО можно воспользоваться онлайн компиляторами С, например : https://www.online-compiler.com/en/compiler/c) можно выбрать компилятор языка С версии gcc14.3.1 или С++ или компилятор с сайта https://coddy.tech/playground/ru/cpp).
Пользуясь разными компиляторами и средами дома для отладки программ, не забывайте, что есть небольшие отличия в версиях языка и в именах подключаемых модулей иногда, поэтому при первом запуске первой программы на Си могут возникнут небольшие проблемы - обращайтесь к преподавателю за консультацией (приносите ноутбук - запустим, часть проблем описана ЗДЕСЬ

Книги-учебники-справочники в Интернете:
https://c-cpp.ru/books/
Про язык С++. Начала. Учебник-Справочник
по-английски C++ Language
Документация по Visual Studio и Visual C++

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

Нашли орфографическую ошибку или битую ссылку?
Напишите мне об этом, постараюсь оперативно исправить. Спасибо!

№
недели
Семинары Лабораторные работы Дополнительные материалы и лекции
- Рекомендуемая литература из библиотеки МЭИ PDF-файл
Про Си ищите во втором семестре литературу и выше ссылки
1 Студентам: Желательно знакомится с материалами для занятия заранее. а на первом занятии даже желательно иметь при себе пример спецификации из файла Lab2-4-ExampleC.PDF лучше в распечатанном виде, чтобы просто добавлять себе пояснения на полях, а не пытаться распознать написанное на доске! Преподаватель не переписывать все на доску приходит, а объяснять. У каждого семинара и лабораторной работы есть список файлов.

Практическое занятие №1 (1-2 неделя)

Данные - входные(исходные) и выходные(результаты).
Типы данных - целые и вещественные (размер, диапазон, операции).
Структуры данных - простые переменные и одномерные статические массивы.
Описание констант, простых переменных и статических одномерных массивов.

Спецификация на примере задачи из Лабораторной работы №2 (Файл НОВЫЙ Lab2-3ExampleC4.doc в формате doc или в формате PDF) Программы на C для этого примера лаб.2-3 Example2-3CCode.doc в формате doc
Домашнее задание: Подготовится к Лабораторной работе №2. Начать составлять спецификацию по разобранному примеру из выше указанного файла до функциональных тестов пока что (уточните условие, определите исходные и выходные данные, их имена, типы и диапазоны, проанализируйте необходимость альтернаивных ответом).

ВАРИАНТ задания выдаётся на первом Лабораторном занятии преподавателем. Спецификация пишется вручную или, если есть возможность, можете исправить электронную версию и распечатать. Не бойтесь написать первую версию не полностью и спросить/уточнить у преподавателя! - это часть процесса обучения в ПЕРВЫЙ МЕСЯЦ ПЕРВОГО СЕМЕСТРА, надо успеть исправить спецификацию.

Не затягивайте: есть сроки выполнения всех работ в семестре. За несвоевременное выполнение работ в семесте будет понижатся средний балл, что может привести к понижению на балл экзаменационной оценки. И наоборот - за своевременное выполнение оценка может быть повышена на балл - будет "право на ошибку" на экзамене!


О пунктах из спецификации есть информация в файле Sem-1.pdf PDF-файл), но лучше не пропускайте занятия, файлам вопрос не сможете задать и получить ответ.
Пример создания функциональных тестов есть в файле Tests.pdf PDF-файл
Лабораторная работа №1

Задание 1: Ознакомьтесь с правилами по Технике безопасности в компьютерных классах, запишите пароли. Преподаватель ознакомит вас со средой программирования, порядком запуска виртуальной машины, сетевыми дисками, со средой программирования, поможет создать и выполнить первую программу, расскажет о форматировании при выводе. Присвоит вам ВАРИАНТ для выполнения заданий в семестре.


Задание 2: Откройте среду программирования и создайте консольное приложение на C(на языке Си) для вычисления значения функции для введённого значения вещественного аргумента.
Задание по вариантам находится в файле Lab-1C.pdf PDF-файл НОВЫЙ
По результатам работы будет проставляется первая оценка по Программированию в БАРС по КМ-1 (Контрольное мероприятие-1). Крайний срок - 3-я неделя.
Лекция: Алгоритм. Свойства алгоритмов.
Использование блок-схем для описания алгоритма.
В лекции AlgorithmC.pdfPDF НОВЫЙ

Структурное программирование


Блок-схемы: ГОСТ
Язык высокого уровня
2 Лабораторная работа №2

Задание 1: Выполнить ввод-вывод простых переменных и массивов для задачи из файла Lab2-3-ExampleC4 (ссылки слева), рассмотренному на Практике(Семинаре) #1.

Задание 2: Выполнить ввод-вывод для своего варианта (Файл с заданием Lab-2.pdf PDF-файл) и написать свой отчет (легче не заново, а исправив свою копию файла Lab2-4ExampleC4 и распечатать, а если нет такой возможности, то пишите вручную на тетрадных листах или листах формата A4).

По ввод и вывод простых переменных и массивов см. справа - в файле Algorithm-coding.pdf Пример - см в спецификации из файла слева Lab2-4ExampleC4.
ВЫУЧИТЬ к концу семестра: Кодирование алгоритмов, описанных в виде блок-схем, на языке C
Algorithm-codingC.pdf PDF-файл НОВЫЙ, а также ввод и вывод простых данных и массивов, в строчку и в столбик.

НЕ НАДО БОЯТЬСЯ ДЕЛАТЬ ОШИБКИ! ОНИ НЕИЗБЕЖНЫ! ЭТО ЧАСТЬ ОБУЧЕНИЯ!
Глаза боятся - руки делают! Начните с постановки задачи - перепишите ее, нарисуйте пустые таблицы данных, формы ввода и вывода, таблицы для тестов, "начало" и "ввод" в блок-схеме (первая блок-схема почти такая же во всех вариантах - отделите ввод и вывод от обработки, программа тоже будет похожа, особенно без решения (с заглушкой)). ЗАПОЛНИТЕ ЧТО И КАК СМОЖЕТЕ И ПРИНОСИТЕ! Это нормально!!! в начале обучения. Если бы Вы все знали, Вы бы не пришли учиться. Зато к экзамену постепенно научитесь, ЕСЛИ НАЧНЕТЕ. Чем раньше, тем лучше. ДОРОГУ ОСИЛИТ ИДУЩИЙ

ОШИБКИ - это не только часть обучения, но и часть процесса создания программных продуктов: ОБЯЗАТЕЛЬНОЙ частью создания программных продуктов является отладка и тестирование с целью их (ошибок) обнаружения. Ошибка есть в каждой программе! - и, если в это не верить, вы ее не найдете, потому что не будете даже искать. Специально ошибки делать не надо, они и так там будут. Если Вы не нашли ошибку, это НЕ значит, что ее там нет. А если нашли, то значит - там еще есть хотя бы одна. Если преподаватель тоже не нашел, значит, он устал и не заметил :)

Допуск к экзамену = отсутвие двоек(0,1,2) за все КМ в БАРС (может быть ОДНА пересдача каждой двойки в период ДО зачетной/экзаменационной сессии и затем после еще несколько попыток). Заработанный балл может повысить или понизить вашу оценку за ответ на экзамене! Удобно при высоком среднем балле получить на экзамене "право на ошибку": ответил с ошибкой, но из-за высокого среднего балла в БАРС итоговая оценка станет на балл выше! И обидно при низком среднем балле в БАРС вместо 4-5 получить 3-4. Двойка остается двойкой и не корректируется по среднему баллу. Сдавайте свои работы и вовремя: плохо выучив материал за первый семестр, со вторым семестром не справитесь!
3 Студентам: не забудьте ознакомится с файлами ДО занятия и подготовить вопросы, чтобы обсудить, что не понятно, с преподавателем на семинаре! Объяснение пройдет быстрее и эффективнее


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

1) Спецификация (Метод-Алгоритм-Код) на примере задач из лабораторных работ №2-5.
2) Поиск экстремума в одномерном массиве
3) Ввод и вывод с использованием нестандартных текстовых файлов.
4) Передача имен файлов через параметры программы (изучить самостоятельно)
5) Символьный тип (ознакомиться самостоятельно, будет на лекции, будет в работал.7 и 9, КР-2, на экзамене)

Домашнее задание: подготовится к выполнению лабораторных работ №3-5.
Информация к занятию и указания для составления отчета по Лаб.работе №5 в файле Sem-2.pdf PDF-файл)


БАРС - КМ-2 - надо сдать лаб.2-4 (лаб.4 = лаб.3 с файлами) и уже надо начать делать лаб.5 (со спецификацией и с файлами)! Пересдать можно только ДВОЙКУ и только ОДИН раз до начала экзаменационной сессии (после - уже без пересчета итогового балла в БАРС до повторного экзамена)
Лабораторная работа №3-5

Выполнение и защита лабораторных работ №3-5
по вариантам

Лаб №3 = Лаб №2 + раскрытие абстракции А02. Задание в файле Lab-3C.pdf PDF-файл НОВЫЙ

Лаб №4 = Лаб №3 + использование нестандартных текстовых файлов. Задание в файле Lab-4.pdf PDF-файл

Текстовые файлы можно создавать/открывать/редактировать как в Блокноте, так и в самой среде программирования.

Лаб №5 Поиск экстремума Lab-5C.pdf PDF-файл - разрабатывается аналогично предыдущей задаче (Лаб №2-4), но как и почти все задачи далее за одну неделю, а не за три. Не копите задания, делайте их в срок!

Бесплатные индивидуальные КОНСУЛЬТАЦИИ лектора по вопросам составления функциональных тестов на примере ВАШЕЙ конктретной задачи и написания программ, спецификаций.
Для примера понадобятся файлы: спецификация (Файл Lab2-4ExampleC.pdf), и кодирование ввода-вывода Algorithm-codingC.pdf и базовых алгоритмов Base-algorithmesC.pdf и свой черновик спецификации (условие в пункт 1 переписали?).

Расписание очных консультаций c конца сентября в таблице по ссылке https://disk.yandex.ru/i/LqOH9Z8btp-pkw . Приносите программы или ноутбук, чтобы общение было предметным и конкретным, а не абстрактным.


ЧУЖИЕ программы обсуждать не готова, надо каждому делать СВОИ ошибки. Обсуждаем либо ВАШИ программы и разбираемся с ВАШИМИ ошибками, либо МОИ примеры с этого сайта.


Приходите! Не стыдно не знать, стыдно - не пытаться узнать. Составление тестов - не тривиальная задача и требует ТРЕНИРОВКИ на как можно большем числе задач, так же как и само программирование: чем БОЛЬШЕ вы программ напишите, тем БОЛЬШЕ вы ошибок сделаете, тем БОЛЬШЕ возможностей их найти и исправить получите - как и возможностей их запомнить и не повторять (часто совершаются одни и те же ошибки из программы в программу). Давайте начнем их делать и искать как можно раньше!
ВЫУЧИТЬ к концу семестра: Простейшие базовые алгоритмы: поиск суммы, произведения, количества, минимума, максимума.
Base-algorithmesC.pdf Документ PDF НОВЫЙ
4 Лекция 2-4: Языки высокого уровня, C: простые типы и в разработке про статические массивы
TypesC1-3+.pdf Документ pdf ПОЧТИ ВЕСЬ НОВЫЙ

Особенности и странности вещественных типов
статья 1
5 Практическое занятие №3
Поиск на множестве элемента, удовлетворяющего заданному условию, и его номера (Файл Sem-3-2020.pdf Документ MS Word исправлена опечатка 13.11.2020)
Задача Cond2 "Поиск по двум условиям"

Домашнее задание: Подготовится к лабораторной работе №6
Книги-учебники-справочники в Интернете:
Полный справочник по С.
Язык программирования Си
Про язык С++. Начала. Учебник-Справочник
по-английски C++ Language
Документация по Visual Studio и Visual C++

6 Лабораторная работа №6
достаточно сложная, если не успеваете, то можно делать дольше (к 11 неделе) или даже сразу в виде лаб.10. Пример рассматривается и обсуждается на Практике-3.

Лаб №6 Cond2 Поиск экстремума с двумя условиями. Нисходящая разработка
Файл Lab-6C.pdf PDF-файл
.
7 Практическое занятие №4
(Файл Sem-4.pdf Документ MS Word)

1) Упорядочение одномерного массива методом простого выбора
2) Упорядочение одномерного массива методом пузырька (простым обменом)
3) Упорядочение одномерного массива методом простой вставки
4) Логические выражения
5) Контрольная работа на 1 ак.час


Домашнее задание: Подготовится к выполнению Лаб.работы №7


БАРС - КМ-4 - надо защитить лаб.5,7,8

БАРС - КМ-3 (контрольное мероприятие 3 на 7-8 неделе) - оценка за Первую контрольную работу
Лабораторная работа №7

Лаб №7 Сортировка выбором и пузырьковая. Файл Lab-7C.pdf PDF-файл

Описание сортировок в конспекте лекции: Файл Sort.doc Word-файл
Описание сортировок в конспекте лекции: Файл Sort.doc Word-файл


Сортировка и не только сортировка
8
Господа студенты, полученные вами двойки по контрольным неделям расцениваются как нежелание учиться в нашем институте и в университете в целом. Избавить вас от бремени обучения смогу только на экзамене, если вы на него попадете. Так что у вас есть еще время передумать, победить свою лень и страхи ошибок, взрастить силу воли. Но, если вы сегодня же не возьметесь за учебу, вы просто физически не успеете сдать все задачи и получить допуск к экзамену. Помните, что преподаватель - один, а вас - откладывающих задачи до конца семестра - много... Кроме того, у вас есть и другие предметы... Напоминаю, что с сентября по декабрь ждала вас на бесплатную личную консультацию каждую неделю.
Читайте выложенные материалы, консультируйтесь со своим преподавателем на семинарах и лабораторных, со своими одногруппниками общайтесь (у нас групповые занятия). За вас никто не научится и не поймет - это придется вам сделать самим с первых работ (чем дальше, тем сложнее), а преподаватели могут только помочь и направить, предоставив возможность научиться, а затем и оценить результат ваших усилий.
9 Практическое занятие №5

Работа с матрицами: ввод/вывод, проверка условия для строк/столбцов и элементов (файл Sem-5.pdf PDF-файл )

Примеры из он-лайн семинара sem5-utf8.txt или sem5-win1251-ansi.txt

Домашнее задание: Подготовится к лабораторным работам №8 и №9
Лабораторная работа №8
Обработка матрицы (двухмерного массива)
Файл Lab-8C.pdf PDF-файл (заменены почти все имена C на D 13.11.2020 для лучшей совместимости с именами лаб.11)

Ввод/вывод матрицы есть в файлах Algorithm-coding.pdf и Sem-5.pdf, алгоритмы суммирования разных элементов разных частей матриц в файле Base-algorithmes.pdf(ищите соответствующие ссылки в левом и в правом столбце)
Delphi: Текстовые файлы, обработка исключений
Files-Exception.doc Документ MS Word СТАРЫЙ

10 Если занятия 04 ноября пропадают, то программа курса от этого не сокращается! Готовьтесь к следующим лабораторным работам, и доделывайте предыдущие, иначе к Новому году обрастете хвостами, и будете не праздновать и отдыхать, а думать о возможном отчислении...
Пропавшие занятия от 01-сен и 04-ноя будут компенсированы в конце декабря


Лабораторная работа №9
Поиск подходящей по условию строки/столбца в матрице
ДВЕ версии программы требуется: с двумя for и флагами, while/do while и флагами.
Файл Lab-9C.pdf PDF-файл (обновлен 17.10.2020)

Ввод/вывод матрицы есть в файлах Algorithm-codingC.pdf и Sem-5.pdf, алгоритмы проверки ВСЕ ЛИ и ХОТЯ БЫ 1 в файлах Base-algorithmesC.pdf и Sem-3.pdf(ищите соответствующие файлы в почте или на сайте)
11 Практическое занятие №6

Процедуры, параметры (файл Sem-6-2020.PDF PDF-файл исправлена опечатка 13/11/2020)

Домашнее задание: Подготовится к лабораторным работам №10 и №11, начать выполнять ТР
Лабораторная работа №10
Решение задачи Cond2 (лаб.6) с процедурами
КАЖДУЮ подзадачу надо оформить в виде функции, а не ВСЕ подзадачи для решения в ОДНУ функцию.
Файл Lab-10.pdf PDF-файл

После этой недели ВСЕ (1-9) несданные еще задачи сдаются ТОЛЬКО С ФУНКЦИЯМИ(с папраметрами)!!!!! Сделайте хотя бы ОДНУ функцию в еще НЕсданных лаб.5,7,8,9
Процедуры в Delphi - теория - ProcTheory.pdf PDF-файл СТАРЫЙ

Функции и параметры - практика - пример из лекции Lection-Function-Parameters-2026C-1.pdf PDF-файл НОВЫЙ 19.10.26

Функции и результат и параметры - практика - пример из лекции Lection-Function-Parameters-2026C-2.pdf PDF-файл НОВЫЙ 26.10.26

12 Лабораторная работа №11
- укрупнение задачи из Лаб.работы №8 - восходящая разработка и тестирование.

Решение задачи "3 массива" в двух вариантах:
1) только с функциями без результата с параметрами и
2) с функцией с результатом и параметрами для решения лаб.8 (ВСЕЙ(не ввод-вывод, а решение)) как минимум
, лучше - все с результатом
Файл Lab-11-2021.pdf PDF-файл

Пример в файле Sem-6.pdf
Язык Си

13 Практическое занятие №6

Процедуры vs. Функции, модули (файл Sem-7.pdf PDF-файл ) СТАРЫЙ

Домашнее задание: Выполнение Типового расчета с размещением ВСЕХ функций (кроме main) в отдельном(ых) модуле(ях).



14

Лабораторная работа №12 - Типовой расчет

Задание в файле TP-2019.pdf PDF-файл СТАРЫЙ, надо язык С

Пример выполнения со структурными тестами в конце в файле TP1-Example-2026C.pdf PDF-файл НОВЫЙ



Отладка и тестирование - 1
Отладка и тестирование - 2
Отладка и тестирование - 3
Отладка и тестирование - wikipedia

Тестирование призвано указывать на наличие, а не на отсутствие ошибок.
Дейкстра
15

Практическое занятие №7 или 8

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


БАРС - КМ-7 (контрольное мероприятие 7) - Оценка за Итоговую контрольную работу! на практическом занятии

БАРС - КМ-8 (контрольное мероприятие 8) - Оценка за Типовой расчет! Отчет (полная спецификация по основной и подзадачам) в бумажном виде - от руки или напечатанный.

Пересдать можно только ДВОЙКУ и только ОДИН раз до начала экзаменационной сессии (после - уже без пересчета итогового балла в БАРС)
Последние лекции:

Процедурный тип, области видимости и нисходящее тестирование ProcType-.pdf PDF-файл СТАРЫЙ

16


Господа студенты, преподаватель вовсе не обязан обеспечить всех положительными оценками и допуком. Он просто должен адекватно оценить полученные вами знания. К вашим услугам были материалы с этого сайта, библиотека, вы могли задавать вопросы лектору и другим своим преподавателям В ТЕЧЕНИЕ УЧЕБНОГО СЕМЕСТРА на занятиях и консультациях, а также одногруппникам. Кроме того, существует Интернет и форумы по языкам программирования, электронные книги (пара ссылок на учебники есть на этой странице).
Долги сдаются по расписанию преподавателя (будет на сайте МЭИ, в БАРС, и мое на этом сайте тоже и таблица для записи). Совпадения по времени с приемом долгов по другим предметам - ваша проблема. За один подход к преподавателю - не более двух-трех задач, чтобы имеющие меньшие долги получили допуск первыми.
17 Пропавшие занятия от 01-сен будут компенсированы _23_-дек
Пропавшие занятия от 04-ноя будут компенсированы _22_-дек
Учебные занятия до _23_ декабря, и средний балл в БАРС фиксируется и не пересчитывается больше,
с _24_-дек до __-дек - зачетная неделя
,

Даты требуют уточнения... в январе экзамены(па), в феврале и марте - переэкзаменовки (ппа1 и ппа2)

Допуск при отсутвии двоек(0,1,2) за КМ в БАРС (может быть ОДНА пересдача каждой двойки в период ДО экзаменационной сессии и потом только после). Заработанный балл может повысить или понизить вашу оценку за ответ на экзамене! Удобно при высоком среднем балле получить на экзамене право на ошибку: ответил с ошибкой, но из-за высокого среднего балла в БАРС оцентку получил на балл выше! И обидно при низком среднем балле в БАРС вместо 4-5 получить 3-4. Двойка остается двойкой и не корректируется по среднему баллу. Сдавайте свои работы и вовремя: плохо выучив материал за первый семестр, со вторым семестром не справитесь, не доучив как следует первый!
Вопросы к экзамену Документ MS Word

 Гречкина Полина Викторовна Написать сообщение и отправить прямо с сайта


 Обновлено: 31.08.2026



Turbo Pascal и Документация к нему


На главную страницу сайта