Студопедия — Осуществляется при поддержке Министерства образования РФ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Осуществляется при поддержке Министерства образования РФ






 

Практикум

 

Редактор Г.С. Одинцова

 

Подписано в печать __________ Формат 60х84/16. Бумага писчая.

Печать цифровая. Усл. п.л. 6. Уч.-изд. л. _____. Тираж 50 экз.

Заказ № _______.

680042, г. Хабаровск, ул. Тихоокеанская, 134, ХГАЭП, РИЦ

Федеральное государственное образовательное

Учреждение среднего профессионального образования

Санкт-Петербургский колледж информатизации и управления

 

Электронное учебное пособие

«Практикум C/C++

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

для специальностей:

 

230103 «Автоматизированные системы обработки информации и управления»,

230105 «Программное обеспечение ВТ и АС»

 

Санкт-Петербург

2007г

 

 

Одобрена предметной методической комиссией ________________   протокол № _____ от «_____» ____________ 200___ г. Составлена в соответствии с Государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальностям: 230103, 230105  
Председатель ______________ Девятко Н.С. Зам. директора по научно-методической работе ___________ Конакина Е. Г.
   
  Одобрена Методическим советом СПб КИУ протокол № _____ от «_____» ____________ 200___ г.  
     

 

 

Разработал: студент гр. 442к

Статин Иван Сергеевич

Руководитель: преподаватель

Монзуль Ирина Николаевна

Т. А. Павловская

Ю. А. Щупак

 

C/C++

 

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

 

Практикум

 

 

Издательская программа

Лучших учебников для высшей школы

В честь 300-летия Санкт-Петербурга

осуществляется при поддержке Министерства образования РФ

 

 

ПИТЕР®

Москва • Санкт-Петербург • Нижний Новгород • Воронеж • Ростов-на-Дону

Новосибирск • Екатеринбург • Самара • Киев • Харьков • Минск

Краткое содержание

 

Предисловие..................................................................................................................... Семинар 1.Линейные программы................................................................................. Семинар 2.Разветвляющиеся программы. Циклы....................................................... Семинар 3.Одномерные массивы и указатели............................................................. Семинар 4.Двумерные массивы.................................................................................... Семинар 5.Строки и файлы........................................................................................... Семинар 6.Структуры.................................................................................................... Семинар 7.Функции....................................................................................................... Семинар 8.Перегрузка и шаблоны функций................................................................ Приложение.Интегрированная среда Borland C++ 3.1...............................................  

Содержание

 

Предисловие......................................................................................................................   Семинар 1.Линейные программы................................................................................. Задача 1.1. Расчет по формуле......................................................................................... Отладка программы.......................................................................................................... Описание переменных..................................................................................................... Задача 1.2. Временной интервал..................................................................................... Задания..............................................................................................................................   Семинар 2.Разветвляющиеся программы. Циклы...................................................... Разветвляющиеся программы......................................................................................... Задача 2.1. Вычисление значения функции, заданной графически............................. Задача 2.2. Выстрел по мишени...................................................................................... Задача 2.3. Клавиши курсора........................................................................................... Циклы................................................................................................................................ Задача 2.4. Таблица значений функции.......................................................................... Задача 2.5. Вычисление суммы ряда............................................................................... Задания..............................................................................................................................   Семинар 3.Одномерные массивы и указатели............................................................. Задача 3.1. Количество элементов между минимумом и максимумом....................... Динамические массивы................................................................................................... Задача 3.2. Сумма элементов правее последнего отрицательного............................... Задача 3.3. Быстрая сортировка массива........................................................................ Задания..............................................................................................................................   Семинар 4.Двумерные массивы.................................................................................... Задача 4.1. Среднее арифметическое и количество положительных элементов...... Динамические массивы................................................................................................... Задача 4.2. Номер столбца из положительных элементов........................................... Задача 4.3. Упорядочивание строк матрицы.................................................................. Задания..............................................................................................................................   Семинар 5.Строки и файлы........................................................................................... Описание строк................................................................................................................. Ввод-вывод строк............................................................................................................. Операции со строками..................................................................................................... Работа с символами.......................................................................................................... Задача 5.1. Поиск подстроки........................................................................................... Задача 5.2. Подсчет количества вхождений слова в текст............................................ Задача 5.3. Вывод вопросительных предложений........................................................ Задания..............................................................................................................................     Семинар 6.Структуры.................................................................................................... Задача6.1. Поиске массиве структур............................................................................... Задания ……………………………………......................................................................   Семинар 7.Функции....................................................................................................... Задача 7.1. Передача в функцию параметров стандартных типов............................... Задача 7.1-а. Передача в функцию имени функции...................................................... Задача 7.2. Передача одномерных массивов в функцию.............................................. Задача 7.3. Передача строк в функцию........................................................................... Задача 7.4. Передача двумерных массивов в функцию................................................. Задача 7.5. Передача структур в функцию..................................................................... Задача 7.6. Рекурсивные функции.................................................................................. Многофайловые проекты................................................................................................. Что и как следует размещать в заголовочном файле..................................................... Задача 7.7. Многофайловый проект — форматирование текста.................................. Задания.............................................................................................................................. Семинар 8. Перегрузка и шаблоны функций................................................................ Перегрузка функций......................................................................................................... Задача 8.1. Перегрузка функций..................................................................................... Шаблоны функций........................................................................................................... Задача 8.2. Шаблоны функций........................................................................................ Задания.............................................................................................................................. Приложение.Интегрированная среда Borland C++ 3.1............................................... IDE..................................................................................................................................... Работа с меню.................................................................................................................. Меню File........................................................................................................................ Меню Edit......................................................................................................................... Меню Run........................................................................................................................ Меню Compile................................................................................................................. Меню Debug.................................................................................................................... Меню Project................................................................................................................... Меню Options.................................................................................................................. Меню Window................................................................................................................. Создание нового проекта................................................................................................. Модификация существующего проекта......................................................................... Открытие проекта............................................................................................................. Работа с проектом............................................................................................................. Завершение работы с проектом....................................................................................... Работа с отладчиком.........................................................................................................                    

 

Предисловие

 

Эта книга предназначена для изучения языка C++ на практических занятиях и лабораторных работах по программированию для студентов, обучающихся по направлению «Информатика и вычислительная техника» и смежным направлениям, а также для любознательных школьников, гениальных дошкольников, упорных пенсионеров и вообще всех, кто решил самостоятельно освоить этот язык. Она является дополнением к учебнику Т. А. Павловской «C/C++. Программирование на языке высокого уровня», выпущенному издательством «ПИТЕР» в 2001 году. В дальнейшем, исключительно для краткости, а не из излишнего пиетета, мы будем называть ее просто «Учебник».

 

Практикум состоит из двух книг — «Структурное программирование» и «Объектно-ориентированное программирование». В первой книге, которую вы держите в руках, рассматриваются возможности C++, используемые в рамках структурной парадигмы написания программ. Это стандартные типы данных, основные конструкции языка, массивы, строки и структуры, функции, шаблоны функций и динамические структуры данных. По содержанию книга соответствует материалу первой части Учебника. Методы создания объектно-ориентированных программ, шаблонов классов, использование исключений, а также классов и алгоритмов стандартной библиотеки будут рассмотрены во второй книге, которая выйдет в издательстве «ПИТЕР» в начале 2004 года.

 

В этой книге на примерах рассматриваются различные алгоритмы, методы и приемы написания программ, структуры данных, типичные ошибки, которые совершают начинающие (и не только) программисты, обсуждаются вопросы качества и стиля. Большое внимание уделяется процессу отладки и тестирования. Весь материал разбит на отдельные семинары. Логика изложения материала в основном соответствует Учебнику. Программа обучения рассчитана на 1-3 семестра: в зависимости от объема курса и степени подготовленности студентов количество и содержание работ можно варьировать.

 

Практикум рассчитан на первоначальное освоение языка C++, но может быть использован и для совершенствования, при этом основное внимание нужно уделить более сложным примерам. Предполагается, что студенты имеют возможность пользоваться Учебником, поэтому теоретические сведения в полном объеме здесь не приводятся. В начале каждого семинара приведены ссылки на разделы Учебника, содержащие соответствующий материал. Тем не менее при разборе текстов программ поясняются все использованные в них возможности языка, поэтому практикум можно рассматривать и как самостоятельное издание. Тексты заданий на лабораторные работы большей частью соответствуют Учебнику, по некоторым разделам Добавлены дополнительные комплекты заданий в двадцати вариантах.

 

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

 

В Учебнике синтаксис языка C++ изложен в соответствии со стандартом ISO/IEC 14882 (1998). В настоящее время существует великое множество компиляторов C++, которые поддерживают этот стандарт в разной степени. Как правило, чем позже выпущен компилятор, тем соответствие стандарту лучше.

 

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

 

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

 

Различные среды программирования имеют разные интерфейсы, часто достаточно сложные для освоения. Наш практикум не рассчитан на обучение работе в конкретной среде, для этого существуют специальные, порой гораздо более объемные, руководства. Тем не менее для удобства пользования практикумом в приложениях приведены основные понятия и приемы работы в Borland C++ 3.1.

Отчего мы остановили выбор именно на Borland C++ 3.1? Borland C++ 3.1 (в дальнейшем для краткости - ВС). Как показал опрос, этот крепкий и живучий старик вовсю трудится на древней технике, которой все еще оснащены многие вузы и школы. Естественно, что некоторые примеры в нем компилироваться не будут.

 

Для успешного изучения языка C++ по этой книге пользоваться упомянутыми выше средами совершенно не обязательно. Собственно говоря, не обязательно вообще работать в какой-либо среде. Любой компилятор можно вызвать из командной строки, а для программ, состоящих из нескольких исходных файлов, воспользоваться утилитой make. Можно работать с любыми компиляторами, рассчитанными на любые платформы (различные версии Linux, Macintosh, Solaris, FreeBSD, Windows и так далее), но при этом необходимо проверять по справочной системе, что изучаемые возможности языка поддерживаются данным конкретным компилятором. В задачах, рассмотренных в этой книге, применяются только средства, соответствующие стандарту.

 

Если у вас есть доступ в Интернет, попробуйте для разнообразия использовать его не для развлечения: зайдите на поисковый сервер (к примеру, на http: //www.google.com), введите фразу «free C++ compiler list», и вы получите море информации по различным средам и компиляторам. Например, хорошо поддерживает стандарт компилятор gcc, используемый в различных оболочках. Это бесплатный программный продукт, его можно скачать по сети и установить на своем компьютере.

В практикуме, так же, как и в Учебнике, не рассматривается программирование под Windows, поэтому все примеры представляют собой так называемые «консольные приложения».

 

Книга поддержана проектом «Разработка концепции и научно-методического обеспечения регионального центра целевой подготовки разработчиков программного обеспечения и компьютерных технологий» программы Министерства образования Российской Федерации «Государственная поддержка региональной научно-технической политики высшей школы и развития ее научного потенциала» на 2002 год. В основу книги положены семинары, проводимые авторами в Санкт-Петербургском государственном институте точной механики и оптики (Техническом университете).

 

Авторы выражают благодарность участникам конференции FIDO SU.C_CPP за советы и предложения. Ваши замечания, пожелания и дополнения к практикуму и к Учебнику не ленитесь присылать по адресу [email protected].

 

 







Дата добавления: 2014-11-10; просмотров: 730. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

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

РЕВМАТИЧЕСКИЕ БОЛЕЗНИ Ревматические болезни(или диффузные болезни соединительно ткани(ДБСТ))— это группа заболеваний, характеризующихся первичным системным поражением соединительной ткани в связи с нарушением иммунного гомеостаза...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

Функциональные обязанности медсестры отделения реанимации · Медсестра отделения реанимации обязана осуществлять лечебно-профилактический и гигиенический уход за пациентами...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия