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

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

Курс Программирования расссчитан на ДВА семестра, изучаются ДВА языка высокого уровня на уровне процедурного программирования. Объектно-ориентированное программирование изучается позже и в другом курсе и семестре. В рамках первого семестра изучается язык Паскаль(Pascal, PascalABC, FreePascal, Delphi (Object Pascal)). Для работы с языком в семестре можно использовать разные среды программирования разных разработчиков и версий, например:
  • язык ПаскальABC в среде PascalABC.Net (сайт http://pascalabc.net );
  • язык Free Pascal в среде Lazarus (Free Pascal RAD IDE, сайт https://www.lazarus-ide.org/ );
  • язык Delphi в средe Embarcadero RAD Studio (Бесплатная официальная учебная версия (Community Edition) Delphi доступна(?) при регистрации на сайте разработчика www.embarcadero.com ); изучаем консольные приложения, хотя среда разработки намного мощнее;
  • язык Delphi в мультиязыковой средe Borland Developer Studio 2007; консольные приложения;
  • язык Delphi (Object Pascal) в средe Borland Delphi 7; консольные приложения.
Для быстрой отладки первых приложений можно воспользоваться онлайн компиляторами Pascal, например: Все работы в осеннем семестре c 2023, видимо, будем выполнять преимущественно с помощью первых двух сред - PascalABC.Net и Lazarus, хотя изначально курс был написан для более мощной среды программирования с языком Delphi (Object Pascal). Все версии языков и сред имеют различия, но по большей части синтаксически совпадают для консольных версий программ. Например, самый часто используемый цикл первого семестра - параметрический цикл for - имеет существенные нюансы и различия в своей работе в разных версиях языка Паскаль при почти полностью одинаковом синтаксисе. Во втором семестре аналогичная картина будет и с языками Си.

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

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


недели
Семинары Лабораторные работы Дополнительные материалы и лекции
- Рекомендуемая литература из библиотеки МЭИ PDF-файл

1. Фаронов В.В. Delphi. Программирование на языке высокого уровня: учебник для вузов по направлению подготовки дипломированных специалистов "Информатика и вычислительная техника". – СПб.: Питер, 2010 . – 640 с. – (Учебник для вузов) . - ISBN 978-5-8046-0008-3
либо
Фаронов В.В. Delphi. Программирование на языке высокого уровня: учебник для вузов по направлению "Информатика и вычислительная техника". – СПб.: Питер, 2011 . – 640 с. – (Учебник для вузов) . - ISBN 978-5-8046-0008-3 http://opac.mpei.ru/

Помимо материалов семинаров из левого столбца
большинство лабораторных семестра на Паскале рассмотрены в методичке, которую можно взять в библиотеке:
2. Перевезенцева Е.С., Перевезенцев А.А. Технология решения задач с использованием компьютера: Учебное пособие по курсу "Программирование на языке высокого уровня". – М.: Издательство МЭИ, 2003. – 132 с. - ISBN 5-7046-0917-1 http://opac.mpei.ru/

и еще можно почитать
3. Чуркина Л.В. Нисходящая разработка многомодульных программ на языке Паскаль: Методическое пособие по курсу "Основы программирования". – М.: МЭИ, 1998. – 32с.http://opac.mpei.ru/

6. Чуркина, Л. В.Структура алгоритмов. Простые переменные : методическое пособие по курсу "Информатика" по направлению "Прикладная математика". – М.: Изд-во МЭИ, 2011 . – 60 с. http://opac.mpei.ru/
1 Студентам: Желательно знакомится с материалами для занятия заранее. а на первом занятии даже желательно иметь при себе пример спецификации из файла Lab2-3-Example2019.PDF лучше в распечатанном виде, чтобы просто добавлять себе пояснения на полях, а не пытаться распознать написанное на доске! Преподаватель не переписывать все на доску приходит, а объяснять. У каждого семинара и лабораторной работы есть список файлов.

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

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

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

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

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


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

Задание 1: Ознакомьтесь с правилами по Технике безопасности в компьютерных классах, запишите пароли. Преподаватель ознакомит вас со средой программирования, порядком запуска виртуальной машины, сетевыми дисками, со средой программирования, поможет создать и выполнить первую программу, расскажет о форматировании при выводе.
При работе со средой разработки Borland RAD Studio 2006 посмотрите первые два Клипа

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

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


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

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

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

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



Вывод кириллицей: смена кодировки в Delphi и использование стандартных диалоговых окон
RUS-2018.pdf Документ PDF

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

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

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


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

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

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


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

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

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

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

Текстовые файлы можно создавать/открывать/редактировать как в Блокноте. так и в самой среде программирования. В списке клипов есть Ролик №5 про возможность работы с текстовым файлом в среде Borland Delphi 7. В среде разработке Delhi 2003-2009 также есть такая возможность: среди других (Other files) файлов есть пункт Text. Лаб №5 Поиск экстремума Lab-5.pdf PDF-файл - разрабатывается аналогично предыдущей задаче (Лаб №2-4), но как и почти все задачи далее за одну неделю, а не за три. Не копите задания, делайте их в срок!

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

Расписание очных консультаций c конца сентября на странице Где и Когда. Приносите программы или ноутбук, чтобы общение было предметным и конкретным, а не абстрактным.


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


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

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

Домашнее задание: Подготовится к лабораторной работе №6
КНИГА Язык Object Pascal - Delphi

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

Лаб №6 Cond2 Поиск экстремума с двумя условиями. Нисходящая разработка
Файл Lab-6-2019.pdf PDF-файл
Delphi 6 - программирование - УЧЕБНИК
7 Практическое занятие №4
(Файл Sem-4.pdf Документ MS Word)

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


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


БАРС - КМ-4-7 (контрольные мероприятия 4-7) - надо сдать лаб.4,5,7 и написать контрольную на практическом занятии. На 9 неделе уже надо начинать лаб.(6),8,9! Пересдать можно только ДВОЙКУ и только ОДИН раз до начала экзаменационной сессии (После начала экзаменационной/зачетной сессии средний балл в БАРС не пересчитывается)

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

Лаб №7 Сортировка выбором и пузырьковая. Файл Lab-7-2019.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-8-2020.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 или REPEAT)
Файл Lab-9-2020.pdf PDF-файл (обновлен 17.10.2020)

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

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

Домашнее задание: Подготовится к лабораторным работам №10 и №11, начать выполнять ТР


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

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

Процедуры и параметры - практика - пример из лекции Procedures.pdf PDF-файл

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

Решение задачи "3 массива" в двух вариантах:
1) только с процедурами общего вида и
2) с функцией(ями) для решения лаб.8

Файл Lab-11-2021.pdf PDF-файл

Пример в файле Sem-6.pdf
Функции и модули Functions.pdf PDF-файл

Процедуры и функции - 1
Процедуры и функции - 2

Модули - 1
Модули - 2

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

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

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


БАРС - КМ-11-12 (контрольные мероприятия 11-12) - надо сдать лаб.10-11 вовремя. На 14 неделе уже надо начать сдавать готовый Типовой расчет! Пересдать можно только ДВОЙКУ и только ОДИН раз до начала экзаменационной сессии (после - уже без пересчета итогового балла в БАРС)
Вне программы:
DLL
DLL

DLL Модули в Borland Pascal под Windows



14

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

Задание в файле TP-2019.pdf PDF-файл

Пример выполнения со структурными тестами в конце в файле TP-Example-2021.pdf PDF-файл



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

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

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

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


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

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

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

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

Записи Record.pdf PDF-файл

Множества Set.pdf PDF-файл
16


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

Даты требуют уточнения... в январе экзамены

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

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


 Обновлено: 31.08.2023



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


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