СОДЕРЖАНИЕ КРАТКОЕ ОПИСАНИЕ УЧЕБНОГО КУРСА "ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ++" ..........................................................................................................................5 ЛЕКЦИЯ 1. ОСНОВЫ СИ++.........................................................................................................7 1. НЕСКОЛЬКО ЗАМЕЧАНИЙОНАЗНАЧЕНИИПРОГРАММИРОВАНИЯ................................................7 2. ПРОИСХОЖДЕНИЕ ЯЗЫКАСИ++...................................................................................................9 3. СТАНДАРТ ANSI СИ++ ................................................................................................................9 4. СРЕДА РАЗРАБОТКИMICROSOFT DEVELOPER STUDIO VISUAL С++...........................................10 5. ПРИМЕР ПРОГРАММЫНАСИ++ .................................................................................................10 6. ВЫПОЛНЕНИЕ ВВОДА/ВЫВОДА ДАННЫХИПРИСВАИВАНИЕЗНАЧЕНИЙ....................................12 7. УПРАВЛЕНИЕ ПОРЯДКОМВЫПОЛНЕНИЯКОМАНДСПОМОЩЬЮОПЕРАТОРА IF ........................13 8. ОФОРМЛЕНИЕ ИСХОДНОГОТЕКСТА...........................................................................................15 9. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................15 10. УПРАЖНЕНИЯ ...........................................................................................................................15 ЛЕКЦИЯ 2. ПЕРЕМЕННЫЕ, ТИПЫ ДАННЫХ И ВЫРАЖЕНИЯ....................................18 1. ИДЕНТИФИКАТОРЫ ....................................................................................................................18 2. ТИПЫ ДАННЫХ...........................................................................................................................18 3. ВЫВОД ВЕЩЕСТВЕННЫХЧИСЕЛНАЭКРАН................................................................................22 4. ОПИСАНИЯ, КОНСТАНТЫ ИПЕРЕЧИСЛЕНИЯ..............................................................................24 5. ПРИСВАИВАНИЕ ИВЫРАЖЕНИЯ.................................................................................................26 6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................28 7. УПРАЖНЕНИЯ .............................................................................................................................28 8. ПРИЛОЖЕНИЯ .............................................................................................................................29 ЛЕКЦИЯ 3. ФУНКЦИИ И ПРОЦЕДУРНАЯ АБСТРАКЦИЯ .............................................31 1. НАЗНАЧЕНИЕ ПОДПРОГРАММ.....................................................................................................31 2. ОПРЕДЕЛЕНИЕ НОВЫХФУНКЦИЙ...............................................................................................31 3. СПОСОБЫ ПЕРЕДАЧИПАРАМЕТРОВВНУТРЬФУНКЦИЙ..............................................................33 4. ПОЛИМОРФИЗМ ИПЕРЕГРУЗКАФУНКЦИЙ..................................................................................35 5. ПРОЦЕДУРНАЯ АБСТРАКЦИЯИ"ХОРОШИЙ" СТИЛЬ ПРОГРАММИРОВАНИЯ...............................36 6. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ...........................................................................................36 7. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................38 8. УПРАЖНЕНИЯ .............................................................................................................................39 ЛЕКЦИЯ 4. ТЕКСТОВЫЕ ФАЙЛЫ И ПОТОКИ ВВОДА/ВЫВОДА ................................41 1. НАЗНАЧЕНИЕ ФАЙЛОВ................................................................................................................41 2. ПОТОКИ ВВОДА/ВЫВОДА ...........................................................................................................41 3. ПРОВЕРКА ОШИБОКВЫПОЛНЕНИЯФАЙЛОВЫХОПЕРАЦИЙ.......................................................43 4. СИМВОЛЬНЫЙ ВВОД/ВЫВОД ......................................................................................................44 5. ПРОВЕРКА ДОСТИЖЕНИЯКОНЦАФАЙЛАПРИОПЕРАЦИЯХВВОДА............................................45 6. ПЕРЕДАЧА ПОТОКОВ ФУНКЦИЯМВКАЧЕСТВЕПАРАМЕТРОВ.....................................................47 7. ОПЕРАТОРЫ ВВОДА/ВЫВОДА ">>" И "<<" .................................................................................48 8. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................50 9. УПРАЖНЕНИЯ .............................................................................................................................50 ЛЕКЦИЯ 5. ОПЕРАТОРЫ ВЕТВЛЕНИЯ И ЦИКЛЫ ...........................................................52 1. ЛОГИЧЕСКИЕ ЗНАЧЕНИЯ, ВЫРАЖЕНИЯ ИФУНКЦИИ...................................................................52 2. ЦИКЛЫ "FOR", "WHILE" И "DO...WHILE" .....................................................................................53 3. МНОЖЕСТВЕННОЕ ВЕТВЛЕНИЕИОПЕРАТОР"SWITCH" ..............................................................55 4. БЛОКИ ИОБЛАСТЬВИДИМОСТИПЕРЕМЕННЫХ..........................................................................56 4 5. ЗАМЕЧАНИЕ ОВЛОЖЕННЫХЦИКЛАХ.........................................................................................59 6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................59 7. УПРАЖНЕНИЯ .............................................................................................................................60 ЛЕКЦИЯ 6. МАССИВЫ И СИМВОЛЬНЫЕ СТРОКИ.........................................................63 1. НАЗНАЧЕНИЕ МАССИВОВ...........................................................................................................63 2. ПЕРЕДАЧА МАССИВОВВКАЧЕСТВЕПАРАМЕТРОВФУНКЦИЙ....................................................66 3. СОРТИРОВКА МАССИВОВ...........................................................................................................68 4. ДВУМЕРНЫЕ МАССИВЫ..............................................................................................................69 5. СИМВОЛЬНЫЕ СТРОКИ...............................................................................................................70 6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................73 7. УПРАЖНЕНИЯ .............................................................................................................................73 ЛЕКЦИЯ 7. УКАЗАТЕЛИ............................................................................................................75 1. НАЗНАЧЕНИЕ УКАЗАТЕЛЕЙ........................................................................................................75 2. ПЕРЕМЕННЫЕ ТИПА"МАССИВ". АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИСУКАЗАТЕЛЯМИ....................79 3. ДИНАМИЧЕСКИЕ МАССИВЫ.......................................................................................................81 4. АВТОМАТИЧЕСКИЕ ИДИНАМИЧЕСКИЕПЕРЕМЕННЫЕ................................................................82 5. СВЯЗНЫЕ СПИСКИ......................................................................................................................82 6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................86 7. УПРАЖНЕНИЯ .............................................................................................................................87 ЛЕКЦИЯ 8. РЕКУРСИЯ...............................................................................................................89 1. ПОНЯТИЕ РЕКУРСИИ...................................................................................................................89 2. ПРОСТОЙ ПРИМЕРРЕКУРСИИ.....................................................................................................89 3. КАК ВЫПОЛНЯЕТСЯРЕКУРСИВНЫЙВЫЗОВ................................................................................90 4. ЕЩЕ ТРИПРИМЕРАРЕКУРСИИ....................................................................................................92 5. РЕКУРСИЯ ИЦИКЛЫ....................................................................................................................93 6. РЕКУРСИЯ ВСТРУКТУРАХДАННЫХ............................................................................................94 7. РЕКУРСИВНАЯ РЕАЛИЗАЦИЯАЛГОРИТМАБЫСТРОЙСОРТИРОВКИ.............................................94 8. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................97 9. УПРАЖНЕНИЯ .............................................................................................................................97 ЛЕКЦИЯ 9. СОСТАВНЫЕ ТИПЫ ДАННЫХ.......................................................................100 1. НАЗНАЧЕНИЕ СОСТАВНЫХТИПОВДАННЫХ............................................................................100 2. ОПИСАНИЕ ИИНИЦИАЛИЗАЦИЯСТРУКТУР..............................................................................100 3. ДОСТУП ККОМПОНЕНТАМСТРУКТУРЫЧЕРЕЗУКАЗАТЕЛЬ......................................................103 4. МАССИВЫ ИСТРУКТУРЫ..........................................................................................................104 5. ПЕРЕГРУЗКА ОПЕРАТОРОВ........................................................................................................105 6. ПРИМЕНЕНИЕ СТРУКТУРДЛЯРЕАЛИЗАЦИИСТЕКА ..................................................................107 7. СВОДКА РЕЗУЛЬТАТОВ.............................................................................................................111 8. УПРАЖНЕНИЯ ...........................................................................................................................112 ПРИЛОЖЕНИЕ. КРАТКОЕ РУКОВОДСТВО ПО СРЕДЕ РАЗРАБОТКИ DEVELOPER STUDIO VISUAL C++..................................................................................................................113 1. СОЗДАНИЕ НОВОГОПРОЕКТА...................................................................................................113 2. ДОБАВЛЕНИЕ ВПРОЕКТНОВОГОИСХОДНОГОФАЙЛА.............................................................114 3. СБОРКА ПРОЕКТА.....................................................................................................................115 4. ЗАПУСК НОВОГОПРИЛОЖЕНИЯ................................................................................................116 ЛИТЕРАТУРА.............................................................................................................................117 5 Краткое описание учебного курса "Основы программиро- вания на языке Си++" Развитие современныхтехнологийпрограммированияпредполагаетвладение программистом широкимнаборомпрактическихнавыков, средикоторыходнимииз основных можносчитатьзнаниеязыкапрограммирования, средыразработкиисис- темных технологийбазовойоперационнойсистемы. Рассматриваемыйучебный курс предназначен дляначальнойподготовкипрограммиста, владеющегоязыкомпро- граммирования Си++ применительнокразработкепрограммвОСсемейства Win32. При анализедоступныхвИнтернетзарубежныхкурсов, связанныхсобучени- ем практическомупрограммированиюврамкахподготовкипоспециальностям Computer Science, оказаласьзаметнаследующаятенденция: существуюткурсыпоизуче- нию языкаСи++, курсыпоизучениюобъектно-ориентированногопрограммирования на базе, чащевсего, Java иреже, Си++, ипрактическистандартныйкурс "Операцион- ные системы", посвященныйструктуре Unix-совместимыхоперационныхсистем. Ха- рактерной особенностьюзарубежныхуниверситетскихкурсовявляетсяотсутствие разделов, посвященныхизучениюпрактическогопрограммированиявсредекоммер- ческих ОСмассовогораспространения, впервуюочередь, ОС Windows. Сдругой стороны, изучениепрограммированиядляэтихОСпредлагаетсярядом коммерческих учебных организаций, носрокиобученияпорядка 3-5 днейпредполагаютобучение уже грамотногоспециалиста, имеющегонавыкипрограммированиявкакой-либодру- гой ОСилинадругомязыкепрограммирования. В сегодняшнихроссийскихусловиях, неотрицаянеобходимостифундамен- тальной подготовкиспециалистовповычислительнойтехникевобластитеорииалго- ритмов иустройствавычислительныхипрограммныхсистем, можноотметитьполез- ность изучения технологийпрактическогопрограммирования–использованиясред разработки ибиблиотекпрограммированиядляОСмассовогораспространения. Этим обусловлена направленностьрассматриваемогокурса–начальнаяподготовкапро- граммистов наСи++ длясредыОС Windows. Сложность обученияпрактическомупрограммированию, нанашвзгляд, за- ключается втрудностисочетанияобученияабстрактнымпонятиямпрограммирова- ния (таким, какструктурыданных, понятие алгоритма, основныекомпонентыалго- ритмического языка, методологияпроектированияпрограммногообеспечения), с изучением технологийисредпрограммированиянабазекакой-либоконкретнойОС. Эти практическиетехнологиипребываютвпостоянномразвитии, поэтомуможет быть сложновыделитькакие-либоконкретныесредстваразработкивкачествепред- мета изучения. Несмотря наширокоераспространениесредбыстройразработкиПрО (напри- мер, Visual Basic, Inprise Builder и Inprise Delphi), выборихвкачествеучебнойсреды представляется нецелесообразным, т.к. вэтихсредахкажущаясяпростотаразработки ПрО касаетсятолькоформированиякаркасаприложенияизнабораготовыхкомпо- нент, аустройствоэтихкомпонентилиизменениеструктурыкаркасатребуетсерьез- ных знанийнетолькопоструктуребазовойОС, ноипосистемнойархитектуресреды программирования. Программа данногокурсапредназначенадляобучениялиц, имеющих навыки пользовательской работынаперсональномкомпьютере, основнымпонятиямимето- дам современногопрактическогопрограммирования. Предметомизучениякурсаяв- ляется объектно-ориентированноепрограммирование наязыкеСи++ всредесовре- менных 32-хразрядныхоперационныхсистемсемейства Windows. Программакурса 6 разбита на 4 части: 1) ВведениевпрограммированиенаязыкеСи++ (9 лекций) 2) Основыпрограммированиятрехмернойграфики (8 лекций) 3) Объектно-ориентированноепрограммированиенаязыкеСи++ (9 лекций) 4) Программированиедля Microsoft Windows сиспользованием Visual C++ и библиотеки классов MFC (9 лекций) На каждоелекционное занятиедолжнобытьпредусмотреноминимумодно практическое (2 академическихчаса) иеще, всреднем, 4 часасамостоятельныхзаня- тий. Т.о., наизучениекурсаотводится 72 лекционныхчаса, 72 практических (т.о., 144 аудиторных часа) и 144 часасамостоятельныхзанятий. Методические материалыдлякурсасформированынаосновепримерно 10-ти зарубежных изданий, частьизкоторыхпереведенанарусскийязык. В первойчастикурсарассматриваютсяпроцедурныеосновы языка Си++. Они включают всебяоформлениетекстапрограмм, правилазаписивыраженийнаСи++, рассмотрение простыхтиповданныхиалгоритмическихконструкцийусловныхопе- раторов, циклов_______идр. Вконцеэтойчастикурсаподробнорассматриваютсясоставные типы данных. Приэтомделаютсязамечанияодостоинствахинедостаткахэтихтипов данных, чтовпоследствииупрощаетвведениепонятийобъектно-ориентированного программирования. Вторая частькурсапосвященаприменениюязыкаСи++ дляпрограммирования задач вконкретнойпредметнойобласти–трехмернойкомпьютернойграфики. Вка- честве базовойграфическойбиблиотекивыбранабиблиотека OpenGL, являющаяся открытым стандартомвданнойобласти. Изучениеэтойбиблиотекидемонстрирует методику освоенияготовогоинструментария, сформированноговрезультатеприме- нения методовструктурногопроектированиявконкретнойпредметнойобласти. По- нятия, относящиесякмашиннойграфике, понятиекаркасаприложенияиобработки событий иллюстрируютсяпростымипримерамиивдальнейшемиспользуютсяпри изучении программированиявсреде Windows. Третья частькурсаизучаетсяпослеусвоениястудентамипроцедурногопро- граммирования. Основныевопросыобъектно-ориентированногопрограммирования на Си++ излагаются напримерепрограммированияконсольныхприложений Win32. Рассматриваются элементарныеприемыобъектно-ориентированногопроектирования –проектированиенаосновераспределенияобязанностей, метод CRC-карточек. В четвертойчастикурсаизучаетсяархитектураоперационныхсистемсемейст- ва Windows иметодыпрограммированиядляэтихОС. Примернотретьэтойчастипо- священа рассмотрениюосновныхкомпонентоперационныхсистем Windows 9x/NT, знакомству сбазовыми сервисамиоперационныхсистемипрограммированиюдля этих ОСнаязыкеСи++ науровне Win32 API. Воставшейсячастирассматриваются приемы программированиядляОС Windows набазебиблиотекиклассов MFC. Эта библиотека классовявляетсяпромышленнымстандартом, упрощающимразработку программ ииспользование Win32 API. Подробноописываетсякаркасприложения MFC, основныеклассыэтойбиблиотеки, приемыиспользованияэтихклассоввсоб- ственных программах, архитектура однодокументныхприложений "документ/вид". После изучениякурсастудентполучаетдостаточнополноепредставлениео содержании современногообъектно-ориентированногопрограммирования, обуст- ройстве современныхоперационныхсистем Win32 иособытийно-управляемомпро- граммировании. Напрактическихзанятияхвырабатываютсянавыкипрограммирова- ния наСи++ винтегрированнойсредеразработки Microsoft Visual C++ 5.0. 7 ЛЕКЦИЯ 1. Основы Си++ 1. Несколько замечаний о назначении программирования Программирование –этотехническаятворческаядеятельность, целькоторой заключается врешенииважныхдлячеловеказадачиливыполненииопределенных действий спомощьюкомпьютера. Нарис. 1 представленаидеализированнаясхема решения типичнойзадачипрограммирования. Подробное описание задачи илинеобходимых действий КОМПЬЮТЕР Решение задачиили выполнение действий Рис. 1. Схема решениязадачиспомощьюкомпьютера. В рамкахтакойсхемынеобходимымикомпонентамикомпьютераявляются центральный процессор, устройстваввода/выводаипамять (рис. 2). Рис. 2. Основные компонентыкомпьютера. Конечно, вдействительностиделообстоитнетакпросто, какпоказанона рис. 1. Например, "подробноеописание (спецификация) задачи" наестественномязы- ке длякомпьютеранегодится (внастоящеевремя). Болеетого, длярешениязадачина компьютере недостаточнополногоописаниязадачи, необходимотакжеснабдить компьютер информациейотом, какименноследуетрешатьзадачу–т.е. составитьал- горитм. Дляописанияалгоритмоврешениязадачилиалгоритмоввыполнениякаких- либо действий (например, управлениероботом-манипулятором) спомощьюкомпью- тера применяютсяязыкипрограммирования. На рис. 3 показанаболееподробнаясхемарешениязадачиспомощьюкомпью- тера, вкоторойучтенанеобходимостьиспользованияязыкапрограммирования. Ил- люстрация этойсхемынаконкретномпримереприведенавтаблице 1. Существует большоеколичестворазличныхязыковпрограммированияимного способов ихклассификации. Например, "языкамивысокогоуровня" считаютсяте языки, синтаксискоторыхсравнительно близоккестественномуязыку, втовремякак синтаксис "низкоуровневых" языковсодержитмноготехническихподробностей, свя- занных сустройствомкомпьютераипроцессора. 8 Рис. 3. Схема решениязадачинакомпьютересиспользованиемязыкапрограммирования. Таблица 1. Основные этапырешениязадачипопроверкечисланапростоту. Спецификация задачи Требуется определить, являетсялиданноечислопростым. Алгоритм Ввести x Для каждого целого числа z из диапазоне от 1 до x Если остаток от деления x на z равен 0, то вывести сообщение "число не простое" и закончить работу Если такого числа z не найдено, то вывести сообщение "число простое" и закончить работу Описание алгоритма на языке высокого уровня #include int main() { int x; cout << "Введите число:\n"; cin >> x; for (int z=2; z<x; z++) if (x % z == 0) { cout << "Это не простое число.\n"; return 0; } cout << "Это простое число.\n"; return 0; }
Рефераты по информатикеСОДЕРЖАНИЕ КРАТКОЕ ОПИСАНИЕ УЧЕБНОГО КУРСА "ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ++"
Оценок: 287 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.