C_Prog (780137)
Текст из файла
Авторская программа
"Программирование на языке СИ".
Пояснительная записка.
Введение.
В настоящее время в отделе "Астрономии" уделяется большое внимание вопросам, связанным с применением вычислительной техники и программного обеспечения в космических исследованиях.
Автор работает в области астрономии и космических исследований с 1967 года. Основные работы связаны с разработкой, испытанием и эксплуатацией комплексов научной аппаратуры, устанавливаемых на космических аппаратах. В частности, автор является разработчиком проблемно-ориентированных языка и операционной системы АВТОТЕСТ, версии которых использовались при комплексных испытаниях и подготовке к запуску комплексов научной аппаратуры по нескольким международным проектам (Интершок, Фобос и др.); программ обработки научных данных, полученных с плазменных датчиков ИСЗ типа Прогноз; программ обработки данных ориентации, полученных с датчиков Земли и Солнца ИСЗ типа Прогноз; программ предполетных испытаний ультрафиолетового спектрометра УФС-М КА Марс-96.
Наряду с основной деятельностью автор занимается педагогической работой. Он является доцентом Московской Государственной Академии Приборостроения и Информатики (МГАПИ), где читает два курса “Программирование и основы алгоритмизации” и “Проектирование систем автоматического управления ”. С 1971 года автор преподает во Дворце астрономию и физику, а последние несколько лет читает два курса "Информатика в космических исследованиях", и "Программирование на языке СИ" для учащихся первого и второго года обучения. Эти курсы связаны с использованием вычислительной техники и программного обеспечения в космических исследованиях.
Техническое оснащение отдела позволяет использовать в процессе обучения методические и программные разработки, выполненные автором в Институте Космических Исследований АН СССР (ИКИ АН СССР), Астрокосмическом Центре Физического Института им. П.Н. Лебедева АН (АКЦ ФИАН), Московской Государственной Академии Приборостроения и Информатики (МГАПИ).
Образовательная концепция.
Курс "Программирование на языке СИ" посвящен обучению учащихся основам программирования на одном из наиболее современных и мощных машинных языков высокого уровня, используемом для создания проблемно-ориентированных операционных систем управления, а также для создания комплексов программ, обеспечивающих испытания, управление и обработку данных при проведении крупномасштабных научных экспериментов.
С целью приобщения учащихся к профессиональному программированию и эффективной работе на ЭВМ автор использует в учебном процессе реальные программы и пособия, созданные им при подготовке космических экспериментов в ИКИ АН СССР и АКЦ ФИАН, в частности “Комплекс программ автономных испытаний космического ультрафиолетового спектрометра UFS-M Mars-96. Autonomous Tests”, “Комплекс программ комплексных испытаний космического ультрафиолетового спектрометра UFS-M Mars-96. Complex Tests”, ”Пособие для подготовки операторов испытательных комплексов ИКИ АН СССР“.(адаптированный вариант которого “Пособие для подготовки операторов ЭВМ” три раза переиздавался в МГДТДиЮ).
При создании данного курса автор широко применяет опыт, накопленный им при преподавании в МГАПИ. На базе методических пособий по курсам “Программирование и основы алгоритмизации” и “Проектирование систем автоматического управления”, читаемых автором в МГАПИ, им был создан для МГДТДиЮ ряд адаптированных вариантов: “Самоучитель языка СИ”, “Синтез систем управления на основе программных имитаторов”, “Программный имитатор электронных схем (ПИЭС)”, “Программный автоматизированный имитатор электронных схем (ПАИЭС)”.
“Самоучитель языка СИ” состоит из отдельных обучающих программ, посвященных изучению конкретной задачи (вывод символа, вывод строки, вывод параграфа или отдельных его строк, ввод переменных и строк, организация циклов, условный оператор IF, оператор SWITCH и.т.д), а также соответствующего справочного материала, оформленного в виде обзорных статей и таблиц.
“Синтез систем управления на основе программных имитаторов”, и его усовершенствованный вариант “Программный имитатор электронных схем (ПИЭС)” имеют целью научить учащихся создавать программы, имитирующие работу электронных устройств. Основой этих работ являются программы, написанные автором на языке программирования СИ и представляющие собой программные конструкторы, на основании которых можно создавать программные имитаторы электронных устройств, выполняющих заданные логические функции, а затем из этих программных имитаторов синтезировать заданные системы автоматического управления.
“Программный автоматизированный имитатор электронных схем (ПАИЭС)”. имитирует работу систем автоматического управления мехатронными объектами (объектами, в которых механические и электронные устройства, а также обеспечивающее их работу программное обеспечение представляют собой единое целое). Типичными мехатронными объектами являются: станки с числовым программным управлением, автоматические линии, автоматические комплексы космического назначения. Написанный автором исходный текст программы предусматривает 6 наиболее часто встречающихся в таких системах режимов работ. Так как исходный текст ПАИЭС составлен по модульному принципу, то любой из вышеприведенных режимов работы может быть легко исключен из программы, а любой другой режим легко вставлен в программу, что открывает широкие возможности для моделирования. При этом может быть обеспечена любая логика работы, в том числе имитация обработки сигналов мехатронных объектов (сигналов рассогласования, запросов на обслуживание и т.д.). Количество режимов не ограничено. Все результаты работы записываются по принципу “черного ящика” в автоматически открывающийся выходной файл. Исходный текст ПАИЭС содержит практически все основные средства языка программирования Си. В тексте использованы только библиотечные функции, т.е. нет обращения к заимствованным программам, что позволяет полностью проследить логику работы программы. Текст подробно комментирован на английском языке, как это принято при создании международных проектов.
Специально для учащихся школьного возраста автором создан ряд экспериментальных учебных программ, написанных на языке СИ, в частности программы "Графический редактор текстовых строк GREDIT_STRING", "Графический редактор текстовых страниц GREDIT_PAGE", “Работа программ в реальном времени CLOCK”. Указанные программы выполнены из модулей библиотеки “MY_INCL”, разработанных автором для программ, используемых при проведении испытаний космических объектов и при обработке результатов научных экспериментов. Эти модули позволяют выполнять все стандартные операции, возникающие в такого рода задачах:
-
создание стандартных титульных листов;
-
вывод информации в текстовых и графических режимах;
-
создание пользовательских меню;
-
организацию информационных окон;
-
ввод информации в буфер программы из файлов:
-
вывод информации в файлы;
-
организацию стандартного диалога оператор-ЭВМ;
-
организацию отсчета, использования и отображения времени;
-
обеспечение световой и звуковой сигнализации;
-
обработку ошибок;
-
организацию автоматического и интерактивного режимов работы программы
В программе “CLOCK” использованы также разработанные автором модули, обеспечивающие проигрывание музыкальных произведений.
Большое внимание в данном курсе уделяется изучению интегрированной среды подготовки программ Turbo C фирмы Borland, изучению современных международных стандартов языка СИ C88 и C98, а также использованию этой среды и этих стандартов при создании профессиональных и учебных программ на языке СИ.
Все тексты учебных пособий, тексты программ научного и учебного назначения, исполняемые модули типа EXE, а также используемые программами файлы шрифтов и графических драйверов прилагаются на дискетах.
Особенностью рассматриваемого курса является то, что автор подходит к преподаванию языка программирования СИ как к преподаванию иностранного языка. Известно, что наиболее эффективным способом овладения иностранным языком является общение с носителями языка. Для того, чтобы учащиеся "заговорили" на языке СИ "без акцента" обучение ведется всегда за компьютером с использованием реальных не адаптированных и адаптированных профессиональных программ и учебных программ, выполненных на модулях профессиональных библиотек. Учебники и справочные пособия по языку СИ используются для закрепления "живой разговорной речи" и для самостоятельной работы учащихся. Практические задания выполняются учащимися сразу же после объяснения текущей темы и иллюстрацией этой темы примерами из действующих программ. При таком подходе нет четкого разделения времени обучения на теоретические и практические часы. Теория и практика тесно сочетаются в едином учебном процессе.
Общие сведения об учебной группе.
-
Учебная группа "Программирование на языке СИ" состоит из учащихся в возрасте от 14 до 17 лет.
-
Программа рассчитана на 2 года обучения.
-
Количественный состав группы по числу рабочих мест за персональными компьютерами (ориентировочно до 10 учащихся).
-
Количество часов занятий в неделю - 4 часа (2 занятия по 2 часа).
-
Количество часов занятий в год - 144 часа.
-
Место занятий - класс, оснащенный персональными компьютерами.
Цели программы.
Основными целями обучения в группе являются:
-
освоение учащимися на уровне программиста работ по созданию программного обеспечения общего, народнохозяйственного и научного назначения на языке программирования СИ;
-
освоение интегрированной среды подготовки программ Turbo C фирмы Borland, в которой в едином пакете программ собраны средства для редактирования, компилирования, линкерования и управления проектом многомодульных программ, средства отладки программ, утилиты для работы с графическими функциями, средства настройки среды Turbo C, средства резидентной системы помощи.
-
освоение современных международных стандартов языка СИ C88 и C98.
-
освоение учащимися на уровне программиста работ по созданию текстового и графического пользовательского интерфейса при разработке программ, т.е. совокупности средств, обеспечивающих диалог между человеком и компьютером (меню, окон, панелей, полей ввода информации, кнопок выбора типа AND и OR, средств сигнализации и обработки ошибок).
-
освоение учащимися на уровне программиста работ по созданию программ, обеспечивающих работу мехатронных устройств промышленного и научного назначения и систем управления;
-
рассмотрение вопросов, связанных с применением вычислительной техники и программного обеспечения в научных исследованиях и народном хозяйстве;
-
профессиональная ориентация учащихся.
Задачи программы.
Основными задачами учебной группы являются:
-
Теоретическое изучение языка СИ, включающее рассмотрение следующих основных тем:
| 1 | Базовые понятия языка СИ |
| 1,1 | Алфавит, идентификаторы, служебные слова |
| Алфавит | |
| Идентификатор | |
| Служебные слова | |
| 1.2 | Константы и строки |
| Символы или символьные константы | |
| Целые константы | |
| Вещественные константы | |
| Предельные значения и типы арифметических констант | |
| Нулевой указатель | |
| Константы перечисляемого типа | |
| Строки или строковые константы | |
| 1.3 | Переменные и именованные константы |
| Переменная на объект | |
| Определение переменных | |
| Предельные значения переменных | |
| Инициализация переменных | |
| Именованные константы | |
| 1.4 | Операции |
| Знаки операций | |
| Унарные (одноместные) операции | |
| Бинарные (двуместные) операции | |
| 1.5 | Разделители |
| Квадратные скобки | |
| Круглые скобки | |
| Фигурные скобки | |
| Запятая | |
| Точка с запятой | |
| Многоточие | |
| Звездочка | |
| Обозначение присваивания | |
| Признак процессорных средств | |
| 1.6 | Выражения и приведение арифметических типов |
| Отношения и логические выражения | |
| Присваивание (выражение и оператор) | |
| Приведение типов | |
| Правила преобразования типов | |
| Выражения с поразрядными операциями | |
| условное выражение | |
| 2 | Введение в программирование на языке СИ |
| 2.1 | Структура и компоненты простой программы |
| Текст программы и препроцессор | |
| Структура программы | |
| Функция форматированного вывода | |
| Программы печати предельных констант | |
| Применимость вещественных данных | |
| Выделение лексем из текста программы | |
| 2.2 | Элементарные средства программирования |
| Деление операторов языка Си на группы | |
| Метки и пустой оператор | |
| Оператор перехода | |
| Программа оценки машинного нуля | |
| Ввод данных | |
| 2.3 | Операторы цикла |
| Три формы операторов цикла | |
| Оператор break | |
| Оператор continue | |
| 2.4 | Массивы и вложение операторов цикла |
| Массивы и переменные с индексами | |
| Вложенные циклы | |
| Инициализация массивов | |
| 2.5 | Функции |
| Определение функций | |
| Обращение к функции и ее прототип | |
| 2.6 | Переключатели |
| 3 | Препроцессорные средства языка СИ |
| 3.1 | Стадии и команды препроцессорной обработки |
| Стадии препроцессорной обработки | |
| Директивы препроцессора | |
| 3.2 | Замены в тексте |
| Директива #define | |
| Цепочка подстановок | |
| 3.3 | Включение текстов из файлов |
| 3.4 | Условная компиляция |
| Директивы ветвлений | |
| Операция #defined | |
| 3.5 | Макроподстановки средствами препроцессора |
| Моделирование многомерных массивов | |
| отличия макросов от функций | |
| Препроцессорные операции в строке замещения | |
| 3.6 | Вспомогательные директивы |
| Препроцессорные обозначения строк | |
| Реакция на ошибки | |
| Пустая директива | |
| Прагмы | |
| 3.7 | Встроенные макроимена |
| 4 | Указатели, массивы, строки |
| 4.1 | Указатели на объекты |
| Адреса и указатели | |
| Операции над указателями | |
| Арифметические операции и указатели | |
| Указатели и отношения | |
| 4.2 | Указатели и массивы |
| Указатели и доступ к элементам массивов | |
| Массивы динамической памяти | |
| Массивы указателей и моделирование многомерных массивов | |
| 4.3 | Символьная информация и строки |
| Ввод-вывод символьных данных | |
| Внутренние коды и упорядоченность символов | |
| Строки или строковые константы | |
| Строки и указатели | |
| 5 | Функции |
| 5.1 | Общие сведения о функциях |
| Определение функций | |
| Описание функции и ее тип | |
| Вызов функции | |
| 5.2 | Указатели в параметрах функции |
| Указатель параметр | |
| Имитация подпрограмм | |
| 5.3 | Массивы и строки как параметры функций |
| Массивы в параметрах | |
| Строки как параметры функций | |
| 5.4 | Указатели на функции |
| Указатели при вызове функций | |
| Массивы указателей на функции | |
| Указатели на функции как параметры | |
| Указатель на функцию как возвращаемое функцией значение | |
| Библиотечные функции с указателями на функции в параметрах | |
| 5.5 | Функции с переменным количеством параметров |
| Доступ к адресам параметров из списка | |
| Макросредства для переменного числа параметров | |
| 5.6 | Рекурсивные функции |
| 5.7 | Классы памяти и организация программ |
| Локализация объектов | |
| Глобальные объекты | |
| Динамическая память | |
| Внешние объекты | |
| 5.8 | Параметры функции main |
| 6 | Структуры и объединения |
| 6.1 | Структурные типы и структуры |
| Производные типы | |
| Структурный тип | |
| Определение структур | |
| Выделение памяти для структур | |
| Доступ к элементам структур | |
| 6.2 | Структуры, массивы и указатели |
| Массивы и структуры в качестве элементов | |
| Массивы структур | |
| Указатели на структуры | |
| Указатели как средство доступа к компонентам структур | |
| Операции над указателями на структуры | |
| Указатели на структуры как компоненты структур | |
| 6.3 | Структуры и функции |
| Имитация абстрактных типов данных | |
| 6.4 | Динамические информационные структуры |
| Статическое и динамическое представление данных | |
| Односвязный список | |
| рекурсия при обработке списка | |
| 6.5 | Объединения и битовые поля |
| Объединения | |
| Объединяющий тип | |
| Битовые поля | |
| 7 | Ввод-вывод информации |
| 7.1 | Потоковый ввод-вывод |
| Открытие и закрытие потока | |
| Стандартные функции и файлы для работы с ними | |
| Работа с файлами на диске | |
| 7.2 | Ввод-вывод нижнего уровня |
| Открытие, закрытие файла | |
| Чтение и запись данных | |
| Произвольный доступ к файлу. |
-
Практическое изучение языка СИ, включающее рассмотрение следующих основных тем:
-
Изучение учебных программ "Графический редактор текстовых строк GREDIT_STRING", "Графический редактор текстовых страниц GREDIT_PAGE", “Работа программ в реальном времени CLOCK”.
-
Практическое программирование на языке СИ с использованием модулей проблемно-ориентированной библиотеки MY_INCL.
-
Практическое программирование на базе учебных пособий и программ “Самоучитель языка СИ”, “Синтез систем управления на основе программных имитаторов”, “Программный имитатор электронных схем (ПИЭС)”, “Программный автоматизированный имитатор электронных схем (ПАИЭС)”.
-
Изучение использования языка СИ и других языков программирования в народном хозяйстве и научных исследованиях, включающее рассмотрение следующих основных тем:
-
Изучение программ подготовки космических экспериментов ИКИ АН СССР и АКЦ ФИАН, в частности “Комплекса программ автономных испытаний космического ультрафиолетового спектрометра UFS-M Mars-96. Autonomous Tests”, “Комплекса программ комплексных испытаний космического ультрафиолетового спектрометра UFS-M Mars-96. Complex Tests”, ”Пособия для подготовки операторов испытательных комплексов ИКИ АН СССР“.
-
Изучение принципов использования вычислительной техники и программного обеспечения в процессе предполетных испытаний комплексов научной аппаратуры при подготовке космических экспериментов, в частности изучение испытательных комплексов ПРОГНОЗ-10 ИНТЕРШОК, МАРС-96 .
-
Изучение принципов использования вычислительной техники и программного обеспечения в процессе проведения космических экспериментов, в частности организация управления полетом и сбором телеметрической научной и служебной информации.
-
Изучение принципов использования вычислительной техники и программного обеспечения в процессе обработки результатов космических экспериментов (принципы автоматизированной обработки, автоматического документирования, хранения и отображения информации).
-
Изучение принципов использования вычислительной техники и программного обеспечения в народном хозяйстве, в частности на примере внедрения разработок космического назначения на московском заводе “Красный Пролетарий” при создании участка испытаний промышленных роботов (программное обеспечение для этой работы написал автор).
-
Развитие у учащихся навыков работы в составе группы программного обеспечения учебного испытательного комплекса, учебного наземного измерительного пункта, учебной группы обработки данных научного эксперимента;
-
Формирование нравственных норм поведения и общения.
Конечный результат.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















