Файл: Разработка программы проверки знания таблицы умножения.pdf
Добавлен: 28.03.2023
Просмотров: 146
Скачиваний: 2
ВВЕДЕНИЕ
Развитие аппаратных и программных средств привело к появлению многочисленных и разнообразных языков программирования. Перед программистом стоят сложные задачи как написания, так и отладки программы. Язык С++ наиболее распространённый и современный, язык- универсальный, который включает в себя средства высокоуровневых и низкоуровневых языков программирования. Он используется в разработке операционных систем, прикладных программ, видео игр, драйверов устройств и т.д. В наше время, когда идет перестройка экономики на цифровую, требуются специалисты для написания программ в разных областях науки и экономики.
Тема курсовой работы является актуальной, потому что язык С++ является гибким, эффективным и удобным инструментом для реализации программ в разных интегрированных средах разработки, таких как Microsoft Visual Studio C++, Borland C++ Builder, Dew C++, Eclipse, Net Beans.
Объектом изучения является “Программирование”, предметом исследования выступает язык программирования С++.
Цель работы: приобрести теоретические знания и практические умения в написании программ на С++.
Задачи для достижения поставленной цели:
- изучить теоретические основы развития языков программирования;
- ознакомиться с языком программирования С++;
- разработать программу проверки знания таблицы умножения.
При написании курсовой работы использовалась учебная литература.
Основные авторы: Белева Л.Ф. [2], Букунов С.В. [3], Васильев А.Н. [4], Кадырова Г.Р. [8], Трофимов В.В., Павловская Т.А. [17], Тюльпинова Н. В. [18].
Глава 1. Языки программирования
1.1 История развития
Первые программы писались на машинном языке, то есть в машинных кодах. Первая такая программа была запущена в 1948г. в Англии. Процесс создания программ был трудоемким и громоздким, поэтому программисты решили переложить на ЭВМ всю их работу, приводящую к ошибкам. Вначале попытались заменить числовые коды машинных операций на мнемонические символьные обозначения, так же появились специальные программы- трансляторы, которые преобразовывали язык написания программы в машинный язык. Так в 1950 г. в процессе автоматизации появился язык Ассемблер (мнемонический). Это был один из наиболее важных этапов в развитии технологии программирования. Команды языка Ассемблер соответствуют командам процессора, зависимость от типа процессора является недостатком языка. Однако при этом, максимальное использование аппаратных особенностей машины дает возможность выполнять сразу алгоритм и создавать эффективные программы. Язык Ассемблер относится к языкам программирования низкого уровня, сколько различных компьютеров, столько же и языков Ассемблера. Машинный язык и язык Ассемблер относятся к машинно- зависимым языкам.
Языки программирования высокого уровня создавались в разное время для решения различных задач, они ближе к естественному человеческому языку. Писать программы проще, языки освобождают программиста от детализации программы на слишком мелкие машинные команды. Программист, имея конкретную задачу подбирает наиболее подходящий язык программирования, подготавливает текст на этом языке, а транслятор переводит программу на машинный язык. Трансляторы бывают двух видов: компиляторы – позволяют читать и переводить всю программу целиком на машинный язык (Turbo Pascal, C, C++, C#, Delphi), интерпретаторы - переводят программу построчно, строка за строкой (Basic, Logo, HTML, XHL и др.). После компиляции исходная программа и компилятор уже не нужны, если же используется интерпретатор, то программа будет интерпретироваться при каждом выполнении. Программа скомпилированная, будет работать быстрее, а интерпретируемую проще исправлять. Использовать языки программирования высокого уровня можно на любой ЭВМ, они являются машинно- независимыми. [18]
1.2 Классификация
Классификация по основным признакам:
1.По стилю написания.
Процедурные. Основная программа – процедура, результат получается с помощью определенных алгоритмов (Pascal, C, Ada, Fortran, Basic, Pl/1).
Непроцедурные – функциональные, логические.
Функциональные языки – для вычисления некоторой функции, основной элемент- рекурсия (Lisp, ML и Haskell).
Логические языки – главное понятие – отношение без описания действий (Prolog).
Объектно- ориентированные – в терминах классов и объектов, со своими свойствами и поведением (C++).
2.По типу решаемых задач.
Задачи искусственного интеллекта (Haskell, C++, Matlab, Python, Lisp, Java).
Задачи вычислительного характера (Algol, Cobol, Ada, Basic, Pl/1, Fortran, Pascal).
Параллельное программирование (Ada, Erland, Modula-3).
Написание операционных систем (C, C++).
Разработка интерфейса, программ- оболочек (Accembler, C++, Java, C).
Обработка данных, оформление документов (Perl, SQL, HTML, Seqvel).
3.По отношению к аппаратуре
Машинно- зависимые – языки низкого уровня (Accembler)
Машинно-независимые – языки высокого уровня (Pascal, Algol, Basic, C++, Pl/1, Delphi, Ada и др.).
4. По областям применения.
Специализированные – для конкретной предметной области (Perl, SMP, Logo).
Универсальные - для широкого круга задач (С++, Delphi, Java, Pascal, Algol,C, Pl/1).
1.3 Характеристики основных универсальных языков высокого уровня и область их применения
Fortran – первый язык программирования. Появился в 1954г., был разработан группой программистов корпорацией IBM (США) под руководством доктора Д. Бэкуса. Образован из двух слов formula translator, что означает переводчик формул. Разрабатывался для сложных вычислительных расчетов.
Algol. Язык разработан европейскими учеными под руководством П. Наура, стандартизирован в 1960 году. Состоит из двух слов algorithmic language, то есть алгоритмический язык. Использовался специалистами в прикладной математике, в области экспериментальной и технической физики.
Cobol. Появился в 1960г., для создания коммерческих приложений. Состоит из слов common business- oriented language и обозначает, язык ориентированный на бизнес.
Basic. Разработан профессорами Д. Кемени и Т. Куртцем в 1964г. в Дартмутском колледже (США), для обучения студентов языку программирования (для начинающих программистов). Аббревиатура языка включает в себя beginner’s all purpose symbolic instruction code, что переводится как многоцелевой язык символических инструкций для начинающих. Более простой язык для обучения и работы чем Fortran.
Pascal. Создан европейским профессором Н. Виртом (Швецария) в 1968 – 1969г. для обучения студентов основам алгоритмизации и программирования. Назван в честь французского ученого Б. Паскаля. В основном используется для простых вычислительных расчетов, для создания обучающихся и тестированных программ, программ – оболочек. Pascal является продолжением языка algol. В 1970 г. профессор Н. Вирт разработал новый язык программирования Modula, а в 1986г. новый язык Oberon.
C. в 1972г. сотрудник фирмы Bell Laboratories (США) для разработки операционной системы Unix создал язык программирования C. В нём сочетаются возможности языков высокого и низкого уровней. Bell Laboratories доказала, что операционная система может быть написана на языке высокого уровня.
C++. В 1980г. Б. Страуструп сотрудник фирмы Bell Laboratories создал язык C++, объектно- ориентированный язык. Используется в среде операционных систем Unix, DOC и Windows.
С/C++ являются базовыми для таких языков как Java и С#.
Java – платформенно- независимый язык для создания интерактивных веб- страниц, появился в 1995г, был разработан компанией Sun Microsystems.
C# создан группой специалистов компании Microsoft для разработки приложений для платформы Microsoft.net Framework. Используется для создания операционных систем и веб -приложений.
Ada. Появился в 1983г. для нужд Министерства обороны США, является сложным для освоения. Применяется в военной, авиационной, железнодорожной и других областях.
Delphi. Специалисты фирмы Borland на базе языка Pascal, используя языки C и C++ создали язык объектно- ориентированного визуального программирования. Используют для разработки приложений.
Lisp. Создан Д. Маккарти в 1958г., основная структура данных в форме списка, что отражается в названии List Processing, для работ по искусственному интеллекту. В настоящее время применяется для промышленного программирования.
Prolog. Появился в 1972г., автор А. Коллироэ, Programming in Logic- язык логического программирования. Создан для разработки интеллектуальных программ и систем. Основан на проверке предположений в базе знаний.
Pl/1. Корпорацией IBM в 1964г был создан язык Pl/1 – язык программирования номер один, для замены Cobol и Fortran, но в связи со сложностями написания и отладки программ не имел широкого использования. [8], [17], [18]
1.4 Объектно- ориентированный язык программирования C++
Введение в язык. В объектно- ориентированных языках главной единицей является объект – это абстрактная сущность, как и реальный объект он обладает собственными атрибутами и характерным поведением, и может быть идентифицирован (имеет имя). Объект можно классифицировать по классам, к которому он принадлежит. В иерархии классов каждый класс занимает определенное место. Поэтому можно утверждать, что объект есть экземпляр некоторого класса. Язык С++ основан на трех основополагающих концепциях: инкапсуляция, полиморфизм и наследование.
Инкапсуляция – код и данные объединены и защищены от внешнего вмешательства, так называемый “черный ящик”, где они располагаются внутри. Для объекта код и данные могут быть закрытые (private) или открытые (public). Части программы вне объекта не имеют доступа к закрытым кодам и данным, если же они являются открытыми они доступны для других частей программы.
Полиморфизм – использование одного имени функции для множества различных действий (перегрузка функций). Для группы близких по смыслу действий создается общий интерфейс, этим полиморфизм снижает сложность программы. Программист использует общий интерфейс, тогда как конкретное действие выполняется компилятором. Полиморфизм применяется не только к функциям, но и к операциям, а так - же к типам данных (перегрузка операции).
Наследование – объект наследует свойства другого объекта при этом добавляет свои характерные свойства. Наследование поддерживает концепцию иерархии классов, которая делает управляемыми большие потоки информации. Порожденный класс наследует всё от родителей добавляя свои характеристики. Наследование дает возможность описание объекта по классу, к которому он относится, со своими уникальными свойствами. [4]
Базовые элементы языка программирования С++. В основе любого языка программирования лежат: алфавит, синтаксис и семантика. Алфавит- команды и другие конструкции языка образуются из набора символов. Синтаксис- записи команд выполняются по определённым правилам, совокупность правил и есть синтаксис. Семантика- совокупность правил и выполнения конструкции языка. Основные элементы языка - буквы, слова, словосочетания и предложения, только в языке программирования слова называются- лексемами, словосочетания- выражениями или операндами, предложения- операторами. Алфавит включает в себя следующие символы: латинские буквы (заглавные, прописные) и знак нижнего подчеркивания, арабские цифры, специальные знаки (знаки арифметических операций, синтаксические знаки и знаки равенств и т.д.), пробельные символы (пробел, символ табуляции, символы перехода на новую строку). С помощью символов алфавита в C++ строятся слова (лексемы).
Лексемы имеют пять типов: идентификаторы, ключевые слова (зарезервированные), знаки операций, литералы, разделители (скобки, точка, запятая, пробельные символы).
Идентификаторы служат для обозначения переменных, новых имен, представляют собой некую последовательность букв, цифр и знака нижнего подчеркивания. Идентификатор не может начинаться с цифры, пробелы не допускаются, недолжен совпадать с ключевым словом или литералами. Длина не ограничена, создается на этапе объявления переменной, функции, типа данных.
Существуют встроенные в язык слова (зарезервированные идентификаторы), которые имеют специальное значение, они называются- ключевыми, и не могут быть использованы иным образом.
Знаки операций показывают какое действие производится над операндами. Операции бывают унарные, бинарные по количеству участвующих операндов.
Литералы- это постоянные значения без имени, для обозначения числовых значений, строк, символов или логических констант.
Операторы образуются из символов, выражений и лексем. Служат для присваивания значений переменным, вызов функции и т.д.
Для создания программ (алгоритмов) нужны данные, а это множество величин (число, символ, строка, таблица). В программировании величины бывают переменные со своим именем, типом и значением, константы- значение которых остается постоянным, в программе используется ключевое слово const. [2], [8]
Структура программы языка C++. Функции, задающие действия в С++ и которые нужно выполнить, начинаются с функции main- это главная и обязательная функция. Слово main должно писаться вместе с круглыми скобками main (). Сразу за ними располагаются фигурные скобки, где размещается основной код программы, {} – тело программы. Тело программы: объявление переменных, операторы присваивания и ввода, операторы преобразования исходных данных, а также операторы и функции для вывода результатов на экран. Если перед main () стоит int- это означает, что по завершению работы, функция возвращает значение, результат возвращается за резервированным словом return, return 0- работа функции завершилась в нормальном режиме, без ошибки. Если void- функция не возвращает никакого значения.
В ЭВМ информация вводится с помощью клавиатуры, а выводом служит дисплей. Операторы- это указания компьютеру для совершения действия. Окончание оператора- (;). В С++ для ввода / вывода информации используются операции: операция вывода – это <<, а операция ввода – это >>, не смотря на это, функции printf() и scanf() по- прежнему доступны.