КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
ВВЕДЕНИЕ. Дисциплина «Программирование» относится к циклу общепрофессиональных дисциплин и блоку дисциплин, обеспечивающих программную подготовку студентов
Дисциплина «Программирование» относится к циклу общепрофессиональных дисциплин и блоку дисциплин, обеспечивающих программную подготовку студентов. Дисциплина основана на знаниях, полученных в результате изучения дисциплины «Информатика» и является базисом для изучения таких общепрофессиональных и специальных дисциплин как «Технология программирования», «Системное и программное обеспечение», «Формальные языки и грамматики», «Компьютерное моделирование», «Базы данных», «Теория вычислительных процессов и структур» «Функциональное программирование», «Параллельное программирование». Целью курса является изучение студентами основ структурного и объектно-ориентированного программирования на языке высокого уровня. В результате изучения дисциплины студенты должны знать и уметь использовать основные конструкции языков программирования, основные и абстрактные типы данных, способы записи алгоритма на языке программирования, обладать навыками объектно-ориентированного программирования. В качестве базового языка выбран язык С++. Язык программирования С ++ был разработан на основе языка С Б. Страуструпом и вышел за пределы его исследовательской группы в начале 80-х годов. На первых этапах разработки язык носил условное название «С с классами», а в 1983 г. Р. Масситти предложил название С ++, что образно отразило происхождение этого языка от языка С. Язык С ++ является расширением (надмножеством) языка С, поэтому программы, написанные на С, могут обрабатываться компиляторами языка С ++, а в программах, написанных на С ++, можно обращаться к библиотечным функциям языкам С. Однако, язык C ++ существенно отличается от C, так как поддерживает абстракцию данных и обеспечивает объектно-ориентрованное программирование. Данное пособие предназначено для изучения основ языка С ++ и не требует от читателя знакомства с языком С. В пособии описывается структура программы, написанной на С ++, типы данных, используемые в языке, операции языка, конструкции ветвления, циклов и передачи управления, а также даются основы процедурного и объектно-ориентированного программирования. Данное пособие может быть использовано на практических занятиях при изучении дисциплины «Программирование» (специальность «Математическое обеспечении и администрирование информационных систем») по следующим разделам дисциплины «Основы программирования на языке высокого уровня» (глава 1), «Динамические структуры данных» (глава 2), «Основы объектно-ориентированного программирования» (глава 3). Разделы «Технология создания программ» и «Основные парадигмы программирования» не освещены в пособии, так как в соотвествии с рабочей программой не предполагают проведения практических занятий. Кроме того, пособие может быть испольвано на практических занятиях при изучении дисциплин «Информатка и программирование» (направление «Бизнес-информатика», календарный модуль 3-4) и «Языки программирования и методы трансляции» (специальность «Прикладная математика и информатика»). Каждая глава пособия содержит краткий теоретический материал, необоходимый для выполнения практических заданий, примеры решения заданий, а также перечень заданий. ГЛАВА 1. Основы программирования на языке высокого уровня 1.1. Структура программы на языке С++ Для того чтобы описать структуру программы, написанной на C++, рассмотрим простейшую программу, выводящую на экран строку Hello, world. // Program1.cpp #include <iostream.h> void main() { cout << "\nHello, world\n"; } В первой строке данной программы находится однострочный комментарий. В приведенном комментарии указано имя файла, в котором хранится исходный текст программы. В С++ комментарии могут быть заданы двумя способами. Для однострочных комментариев используют символы //, как в нашем примере. Для многострочных комментариев можно использовать символы /*, */, между которыми и должен находится сам текст комментария. В тексте комментария могут содержаться любые символы, а вся последовательность символов эквивалентна символу пропуска (например, символу пробела). Комментарии одного типа не могут быть вложенными, однако можно использовать символы // для того, чтобы закомментировать символы /*… */, а символами /*…*/можно закомментировать //. Во второй строке программы помещена команда препроцессора (директива) #include, позволяющая подключить стандартные библиотеки функций используемого компилятора или оттранслированные модули, написанные самим программистом. Директива #include имеет два формата: #include <имя_файла> #include “имя_файла”. В первом случае имя_файла определяет текстовый (заголовочный) файл, содержащий прототипы (описания) той или иной группы стандартных для данного компилятора функций. Например, в нашем случае директива #include <iostream.h> обеспечивает включение стандартных возможностей потока ввода и вывода, находящихся в файле iostream.h (мнемоника: “i” (input) – ввод, “o” (output) – вывод, stream – поток, “h” (head)- заголовок). Стандартным потоком вывода по умолчанию считается вывод на экран монитора, стандартный поток ввода обеспечивает чтение данных с клавиатуры. Приведем еще несколько примеров использования директивы #include. Если программист хочет использовать в своей программе такие стандартные функции как косинус (cos), синус (sin), степень числа (pow), то он должен использовать директиву #include <math.h>, для использования функции ожидания ввода любого символа с клавиатуры без отображения на экране, то есть функции задержки экрана (getch) – директиву #include <conio.h>, функцию конкатенации строк (strcat)- директиву #include <string.h>. Если в программе, например, используется функция cos (функция вычисления косинуса), но не указана директива #include <math.h>, то на этапе компиляции возникнет ошибка. Ниже приведено функциональное значение основных заголовочных файлов: math.h –математические функции; ctype.h – функции проверки и преобразования символов; stdio.h – функции ввода вывода для стандартных файлов; string.h, stdlib.h – функции для работы со строками; alloc.h – функции для выделения и освобождения памяти; conio.h – функции для работы с терминалом в текстовом режиме; graphics.h – функции для работы с графикой. Если имя_файла после директивы #include указано в кавычках, это означает, что используется не стандартный заголовочный файл, а файл, созданный самим программистом. Третья строка программы является заголовком функции с именем main. Каждая программа должна содержать функцию с именем main, и работа программы начинается с выполнения этой функции. Перед именем main помещено служебное слово void – спецификатор типа, указывающий, что функция main в данной программе не возвращает никакого значения. Круглые скобки после main требуются в связи с синтаксисом заголовка любой функции и содержат список параметров. В нашем примере параметры не нужны и этот список пуст. Тело любой функции в языке С++ – это заключенная в фигурные скобки последовательность описаний и операторов. Каждое описание и оператор заканчивается символом ‘;’. В данном примере в теле функции main нет явных описаний, а есть только один оператор cout << "\nHello, world\n"; Имя cout, в соответствии с информацией, содержащейся в файле iostrem.h, является именем объекта, который обеспечивает вывод информации на экран монитора. (Поэтому, если строка #include <iosteam.h> будет отсутствовать в программе, то имя cout будет воспринято как неизвестное на этапе компиляции программы). Операция << (“поместить в”) пишет свой второй аргумент в первый (в данном случае, строковую константу "\nHello, world\n" в стандартный поток вывода cout). Строковая константа в языке С++ - это последовательность символов, заключенная в двойные кавычки. В строке символ обратной косой черты ‘\’, за которым следует другой символ, обозначает один специальный символ, в данном случае, ‘\n’ является символом новой строки. Таким образом, выводимые символы в данном случае состоят из символа перевода строки, символов Hello, world и еще одного символа перевода строки. Отметим, что обратная косая черта ‘\’ позволяет не только записывать символы, не имеющего графического изображения и некоторые другие, но и выводить символьные константы, явно задавая их коды в восьмеричном или шестнадцатеричном виде. Последовательность литер, начинающаяся с символа ‘\’ называют esc-последовательностями (ескейп-последовательностями). Их допустимые значения приведены в таблице 1. Отметим несколько особенностей использования стандартного потока вывода cout. 1. Строки, помещенные в два подряд идущих потока cout, при условии, что в них нет символа перевода строки, будут выведены на экран как одна строка, то есть операторы cout << “Это”; cout << “строка”; обеспечивают вывод на экран текста: Это строка. 2. Несколько строк, последовательно помещенных в поток cout, при условии, что в них нет символа перевода строки, будут выведены на экран как одна, то есть оператор cout << “С” “т” “рока”; обеспечивает вывод на экран текста: Строка. 3. Длинную текстовую строку можно разместить подряд в нескольких строках программы, используя символ \. Например, оператор cout << “Это \ строка” обеспечит вывод строки: Это строка. (Обратите внимание, что пробелы из второй строки сохраняются). Методы организации вывода числовой информации и ввода данных будут рассмотрены в следующей главе. Таблица 1. Допустимые ESC-последовательности
Задания Каждому студенту рекомендуется выполнить хотя бы одно из упражнений 1–10. Используя esc-последовательности, выведите на экран следующий текст. 1. Это строка, 2. Это звуковой 3. Это строка? 4. Вывод очень- очень- очень- очень- очень-очень- очень- очень- очень- очень длиной строки можно обеспечить, используя 5. “ – это двойные кавычки 6. Это “строка”? 7. Это строка? 8. \\Это комментарий? 9. Используя шестнадцатеричные коды символов, выведите на экран текст: “Это строка” 10. Используя восьмеричные коды символов, выведите на экран текст: “Это строка” 11. Используя шестнадцатеричные коды символов, выведите на экран текст: “Hello, world” 12. Используя восьмеричные коды символов, выведите на экран текст: “Hello, world”
Дата добавления: 2014-12-27; Просмотров: 566; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |