Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование_83701

.pdf
Скачиваний:
29
Добавлен:
10.02.2015
Размер:
604.34 Кб
Скачать

Курс: «Программирование»

Авторы курса: Хуторова Ольга Германовна, профессор; Стенин Юрий Михайлович, доцент; Журавлев Андрей Александрович, доцент ; Корчагин Геннадий Евгеньевич, ассистент. Институт физики, кафедра радиоастрономии

Учебный план :

Направление: 011200.62 «Физика», учебный план бакалавриата (очное, 2013) Дисциплина: «Программирование» Количество часов: 108 ч. (в том числе: лекции – 30, практические занятия – 34,

самостоятельная работа – 44), форма контроля: зачет.

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

Дата начала эксплуатации: 15 апреля 2014 года

Темы: 1. Информационная цивилизация и компьютеры. Влияние новых физических идей на развитие компьютерной техники. Применение компьютеров в теоретической и экспериментальной физике. Компьютерный эксперимент в физике. 2. Представление информации в ЭВМ. Операции с целыми и вещественными числами. Точность. 3. Этапы решения задач на ЭВМ. Понятие алгоритма, его основные свойства. Способы описания алгоритма. Базисные структуры алгоритма. 4. Структурное программирование как научная методология. Основные методы структурного программирования. 5. Правила модульного программирования. Передача параметров при вызове функций. Глобальные и локальные переменные. 6. Пользовательские типы данных. Вложенные циклы. Оптимизация алгоритма. О стиле программирования. 7. Массивы. Алгоритмы с массивами. 8. Указатели и массивы. Указатели и функции. 9. Структуры данных. Строки. 10. Указатели и Динамическая память. 11. Принципы организации устройств компьютера. Классификация и архитектура процессоров. Параллельные и конвейерные архитектуры. 12. Периферийные устройства компьютера. Интерфейсы. Видеосистема. Организация вывода информации на экран дисплея. Компьютерная графика. 13. Технология запоминающих элементов и иерархия памятей в современном компьютере. Внешние запоминающие устройства. 14. Операционные системы и операционные оболочки. Пользовательский интерфейс, основные команды. Системные утилиты. Файлы и файловая система. Работа с файлами. 15. Компьютерные сети, электронная почта, банки данных. Локальные и глобальные сети. Архитектура сетей. Internet. Компьютерные сети, электронная почта, банки данных. Локальные и глобальные сети. Архитектура сетей.

Internet.

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

ФГАОУ ВПО «Казанский (Приволжский) федеральный университет»

Институт физики

О.Г. Хуторова, Ю.М. Стенин, А.А. Журавлев, Г.Е. Корчагин

Программирование

Конспект лекций

Казань-2014

Программирование. Конспект лекций / О.Г. Хуторова, Ю.М. Стенин, А.А. Журавлев, Г.Е. Корчагин; Каз.федер.ун-т. – Казань, 2014. – 16с.

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

Для этого курса имеется электронная версия - http://tulpar.kpfu.ru/course/view.php?id=1150

Принято на заседании кафедры радиоастрономии

©Казанский федеральный университет

©О.Г. Хуторова, Ю.М. Стенин, А.А. Журавлев, Г.Е. Корчагин

Оглавление

 

Курс: «Программирование» .........................................................................................................

1

Тема 1. Введение. Физика и компьютеры. ..............................................................................

5

Тема 2. Представление информации в ЭВМ. Операции с целыми и вещественными

 

числами. Точность.....................................................................................................................

5

Тема 3. Этапы решения задач на ЭВМ. Понятие алгоритма, его основные свойства.

 

Способы описания алгоритма. Базисные структуры алгоритма...........................................

6

Тема 4. Структурное программирование как научная методология. Основные методы

 

структурного программирования.............................................................................................

6

Тема 5. Правила модульного программирования. Передача параметров при вызове

 

функций. Глобальные и локальные переменные. ..................................................................

7

Тема 6. О стиле программирования.........................................................................................

7

Тема 7. Пользовательские типы данных. Массивы................................................................

8

Тема 8. Указатели и массивы. Указатели и функции.............................................................

8

Тема 9. Структуры. Строки. .....................................................................................................

9

Тема 10. Указатели и Динамическая память ..........................................................................

9

Тема 11. Принципы организации и устройства компьютера. Классификация и

 

архитектура процессоров. Параллельные и конвейерные архитектуры. ...........................

10

Тема 12. Периферийные устройства компьютера. Интерфейсы. Видеосистема.

 

Организация вывода информации на экран дисплея. Компьютерная графика.................

11

Тема 13. Технология запоминающих элементов и иерархия памятей в современном

 

компьютере. Внешние запоминающие устройства..............................................................

12

Тема 14. Операционные системы и операционные оболочки. Пользовательский

 

интерфейс, основные команды. Системные утилиты. Файлы и файловая система. Работа

с файлами. ................................................................................................................................

13

Тема 15. Компьютерные сети, электронная почта, банки данных. Локальные и

 

глобальные сети. Архитектура сетей. Internet. .....................................................................

13

Тема 1. Введение. Физика и компьютеры.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Информационная цивилизация и компьютеры.

Влияние новых физических идей на развитие компьютерной техники.

Применение компьютеров в теоретической и экспериментальной физике.

Компьютерный эксперимент в физике.

Рекомендуемые информационные ресурсы

Макарова Н.В., Волков В.Б. Информатика: Учебник для ВУЗов. — СПб.: Питер,

2011. – 576 с..

Компьютерное моделирование физических процессов с использованием пакета MathCad. Учебное пособие: Поршнев С. В. — Москва, Горячая Линия - Телеком, 2002 г.- 252 с.

Компьютерное моделирование в физике. Х. Гулд, Я. Тобочник. М., Мир,1990 г.

К ВОПРОСУ О СТАНОВЛЕНИЕ И РАЗВИТИЕ ИНФОРМАЦИОННОЙ ЦИВИЛИЗАЦИИ http://www.info-library.com.ua/libs/stattya/6037-do-pitannja-pro- stanovlennja-ta-rozvitok-informatsijnoyi-tsivilizatsiyi.html

Тема 2. Представление информации в ЭВМ. Операции с целыми и вещественными числами. Точность.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Внутреннее и внешнее представление данных. Двоичное представление.

Система счисления непозиционные и позиционные.

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

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

Арифметические операции в позиционных системах счисления

Представление чисел в компьютере в форме с фиксированной запятой и в форме с плавающей запятой.

Представление текстовых данных.

Представление графических данных.

Типы данных в языке Си.

Рекомендуемые информационные ресурсы

Гусева Е.Н. и др. Информатика: учебное пособие http://www.knigafund.ru/books/116085

Обучающие уроки по Cи. Электронный ресурс. http://www.programmer-

lib.ru/assemw_page.php?id=1 (дата доступа: 20.03.14)

Кудинов Ю.И., Пащенко Ф.Ф. Основы современной информатики: Учебное пособие. 2-е изд., испр. – СПб.: Издательство «Лань», 2011. – 256 с.: ил. – (Учебники для вузов. Специальная литература).

Макарова Н.В., Волков В.Б. Информатика: Учебник для ВУЗов. — СПб.: Питер,

2011. – 576 с.: ил.

Романова Ю.Д. Информатика и информационные технологии. Конспект лекций: учебное пособие /Ю.Д. Романова, И.Г. Лесничая. – 2-е изд., перераб. И доп. – М.: Эксмо, 2009. – 320 с. – (Учебный курс: кратко и доступно).

Информатика. Базовый курс. 2-е издание / Под ред. С. В. Симоновича. — СПб.:

Питер, 2005. — 640 с: ил.

Информатика: Учебник для вузов / А.С. Грошев. – Архангельск, Ар-ханг. гос. техн.

ун-т, 2010. – 470 с.

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб. : Линk, 2008. – 288 с. http://dvo.sut.ru/libr/cvti/i618buz/index.htm

http://rubydev.ru/2012/05/variables-and-data-types-in-c/

http://dfe.petrsu.ru/koi/posob/c/c.htm

http://www.zaurtl.ru/UkVT/UKVT6.html

http://www.slideshare.net/GulnazKAI/7-9372423

Тема 3. Этапы решения задач на ЭВМ. Понятие алгоритма, его основные свойства. Способы описания алгоритма. Базисные структуры алгоритма.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Этапы решения задач на ЭВМ.

Понятие алгоритма, его основные свойства.

Способы описания алгоритма.

Базисные структуры алгоритма.

Рекомендуемые информационные ресурсы

Обучающие уроки по Cи. Электронный ресурс. http://www.programmerlib.ru/assemw_page.php?id=1 (дата доступа: 20.03.14)

Кудинов Ю.И., Пащенко Ф.Ф. Основы современной информатики: Учебное пособие. 2-е изд., испр. – СПб.: Издательство «Лань», 2011. – 256 с.: ил. – (Учебники для вузов. Специальная литература).

Макарова Н.В., Волков В.Б. Информатика: Учебник для ВУЗов. — СПб.: Питер,

2011. – 576 с.: ил.

Романова Ю.Д. Информатика и информационные технологии. Конспект лекций: учебное пособие /Ю.Д. Романова, И.Г. Лесничая. – 2-е изд., перераб. И доп. – М.: Эксмо, 2009. – 320 с. – (Учебный курс: кратко и доступно).

Информатика. Базовый курс. 2-е издание / Под ред. С. В. Симоновича. — СПб.:

Питер, 2005. — 640 с: ил.

Информатика: Учебник для вузов / А.С. Грошев. – Архангельск, Ар-ханг. гос. техн.

ун-т, 2010. – 470 с.

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб. : Линk, 2008. – 288 с. http://dvo.sut.ru/libr/cvti/i618buz/index.htm

Тема 4. Структурное программирование как научная методология. Основные методы структурного программирования.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Структурное программирование как научная методология. История вопроса. работа Э. Дейкстры "Заметки по структурному программированию".

Теорема о структурировании. Основные методы структурного программирования. Метод пошаговой детализации.

Рекомендуемые информационные ресурсы

Информатика. Ч.1 / Казан.гос.ун-т;Сост.:Ю.М.Стенин, О.Н.Шерстюков. —Казань: Б.и.,

1996.—68с.

Кудинов Ю.И., Пащенко Ф.Ф. Основы современной информатики: Учебное пособие. 2-е изд., испр. – СПб.: Издательство «Лань», 2011. – 256 с.: ил. – (Учебники для вузов. Специальная литература).

Макарова Н.В., Волков В.Б. Информатика: Учебник для ВУЗов. — СПб.: Питер, 2011. –

576 с.: ил.

Романова Ю.Д. Информатика и информационные технологии. Конспект лекций: учебное пособие /Ю.Д. Романова, И.Г. Лесничая. – 2-е изд., перераб. И доп. – М.: Эксмо, 2009. – 320 с. – (Учебный курс: кратко и доступно).

Информатика. Базовый курс. 2-е издание / Под ред. С. В. Симоновича. — СПб.: Питер,

2005. — 640 с: ил.

Информатика: Учебник для вузов / А.С. Грошев. – Архангельск, Ар-ханг. гос. техн. ун-т,

2010. – 470 с.

Тема 5. Правила модульного программирования. Передача параметров при вызове функций. Глобальные и локальные переменные.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Модульное программирование, основные понятия. Преимущества и недостатки модульного программирования.

Функции в языке Си. Глобальные и локальные переменные.

Согласование по типам между формальными и фактическими параметрами. Прототипы функций

Библиотеки объектных модулей. Стандартные библиотеки используемого компилятора. Заголовочные файлы.

Рекомендуемые информационные ресурсы

Подбельский В.В. Язык С++: Учеб. Пособие. – 5-е изд. – М.: Фининсы и статистика, 2003. – 560 с.: ил.

Информатика. Ч.1 / Казан.гос.ун-т; сост.:Ю.М.Стенин, О.Н.Шерстюков. — Казань: Б.и.,

1996.—68с.

Информатика. Базовый курс. 2-е издание / Под ред. С. В. Симоновича. — СПб.: Питер, 2005.

— 640 с: ил.

Прата С. Язык программирования С++. Лекции и упражнения, 6-е изд.: Пер. с англ. – М.:

ООО «И.Д. Вильямс», 2012. – 1248 с.: ил.

С/С++. Структурное программирование: Практикум / Т.А. Павловская, Ю.А. Щупак. – СПб.:

Питер, 2003. – 240 с.: ил.

Тема 6. О стиле программирования.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Типы данных в языке Си.

Пользовательские типы данных.

Принципы организации вложенных циклических структур.

Основные аспекты оптимизации алгоритма.

Стиль программирования.

Основные аспекты хорошего стиля программирования.

Рекомендуемые информационные ресурсы

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. – 288 с.

Обучающие уроки по Cи. Электронный ресурс. http://www.programmerlib.ru/assemw_page.php?id=1 (дата доступа: 20.03.14)

Керниган, Ричи. Язык C http://lib.ru/CTOTOR/kernigan.txt

Тема 7. Пользовательские типы данных. Массивы.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Массивы в языке Си.

Алгоритмы с массивами.

Одномерные массивы.

Двумерные массивы.

Модификатор перечислимого типа данных.

Создание и работа с перечислимым типом данных.

Рекомендуемые информационные ресурсы

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. – 288 с.

Конспект лекций по программированию на языке С++. Автор: доцент кафедры Прикладной математики МЭИ(ТУ) Чибизова Наталья Владимировна. Электронный ресурс. http://natalia.appmat.ru/c&c++/index.php?sezione=lezioni (дата доступа: 25.03.14)

Л. Б. Бузюков, О. Б. Петрова СОВРЕМЕННЫЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ

НА ЯЗЫКАХ C И C++ http://dvo.sut.ru/libr/cvti/i618buz/index.htm

Си/Си++. От дилетанта до профессионала http://ermak.cs.nstu.ru/cprog/HTML/index.htm

Полный справочник по C http://lord- n.narod.ru/download/books/walla/programming/Spr_po_C/main.htm

Тема 8. Указатели и массивы. Указатели и функции.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Указатели.

Операции над указателями.

Массивы и указатели.

Функции и указатели.

Массивы и функции.

Рекомендуемые информационные ресурсы

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. – 288 с.

Конспект лекций по программированию на языке С++. Автор: доцент кафедры Прикладной математики МЭИ(ТУ) Чибизова Наталья Владимировна. Электронный ресурс. http://natalia.appmat.ru/c&c++/index.php?sezione=lezioni (дата доступа: 25.03.14)

Л. Б. Бузюков, О. Б. Петрова СОВРЕМЕННЫЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ

НА ЯЗЫКАХ C И C++ http://dvo.sut.ru/libr/cvti/i618buz/index.htm

Си/Си++. От дилетанта до профессионала http://ermak.cs.nstu.ru/cprog/HTML/index.htm

Полный справочник по C http://lord- n.narod.ru/download/books/walla/programming/Spr_po_C/main.htm

Тема 9. Структуры. Строки.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Работа со структурами в Си.

Строковый литерал.

Особенности работы со строками.

Массив символов и указатель на строку.

Передача строки в функцию.

Массив строк и массив указателей.

Функции библиотеки string.h.

Дополнительные функции для работы со строками (string.h, stdlib.h).

Рекомендуемые информационные ресурсы

Кляус Сергей. Функции библиотеки string.h. http://cppworld.h16.ru/stdc/string_h.htm

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. – 288 с.

Конспект лекций по программированию на языке С++. Автор: доцент кафедры Прикладной математики МЭИ(ТУ) Чибизова Наталья Владимировна. Электронный ресурс. http://natalia.appmat.ru/c&c++/index.php?sezione=lezioni (дата доступа: 25.03.14)

Л. Б. Бузюков, О. Б. Петрова СОВРЕМЕННЫЕ МЕТОДЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКАХ C И

C++ http://dvo.sut.ru/libr/cvti/i618buz/index.htm

Си/Си++. От дилетанта до профессионала http://ermak.cs.nstu.ru/cprog/HTML/index.htm

Полный справочник по C http://lord- n.narod.ru/download/books/walla/programming/Spr_po_C/main.htm

Тема 10. Указатели и Динамическая память

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Указатели.

Операции над указателями.

Динамические переменные.

Функции работы с динамической памятью.

Рекомендуемые информационные ресурсы

Очереди, стеки, связанные списки и деревья http://lord- n.narod.ru/download/books/walla/programming/Spr_po_C/22/22.htm

Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб.: Линk, 2008. – 288 с. Доступ в сети: http://dvo.sut.ru/libr/cvti/i618buz/index.htm

Линейные списки http://ermak.cs.nstu.ru/cprog/HTML/index.htm

Тема 11. Принципы организации и устройства компьютера. Классификация и архитектура процессоров. Параллельные и конвейерные архитектуры.

Аннотация. Данная тема раскрывает основные понятия в следующих разделах.

Пять принципов Джона фон Неймана, принятых за основу создания компьютерной техники. Вариации: принстонская и гарвардская архитектуры.

Структура микропроцессорной системы (МПС) с общей системной шиной. Её достоинства

инедостатки. Назначение и основные характеристики составляющих МПС.

Основные системные части микропроцессора (МП): устройство управления (УУ), арифметико-логическое устройство (АЛУ), регистровая память (или СОЗУ – сверхоперативное запоминающее устройство). Назначение, основные характеристики.

Описание упрощенной схемы функционирования персонального компьютера (ПК) как конкретной реализации микропроцессорной системы в режиме выполнения команд программы. Формат машинной команды. Размещение и перемещение адресов операндов

икоманд, байт данных. Регистр команд. Счётчик команд. Кэш-память и кэш-контроллер.

Основные характеристики микропроцессора: изготовитель, назначение, разрядность,

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

Классификация процессоров. По различным параметрам. Основное внимание – схемам распараллеливания обработки информации:

Классификация Флинна: конвейерная архитектура (распараллеливание во времени) – формула эффективности многоступенчатой системы обработки, матричная (параллельная) архитектура – распараллеливание в пространстве.

Рекомендуемые информационные ресурсы

Стенин Ю. М. Принципы организации и устройства компьютера. Казань: КГУ,

2001. – 48 с.

Журнал "Компьютерра" http://www.computerra.ru/

Журнал «Железо» http://www.xard.ru/

Сайт “Intel” http://www.intel.ru/

Сайт «AMD» http://www.amd.com