,



Душанбе 2014
УДК [004.4:33]
, Основы алгоритмизации и языки программирования. Изд. РТСУ, Душанбе, 2014,62стр.
Пособие соответствует учебной программе дисциплины «Основы алгоритмизации и языки программирования». В пособии изложены краткие теоретические сведения по основам алгоритмического языка С++. Содержатся примеры, реализованные всреде разработки программы на Dev-C++, приведены ___ лабораторных работ и индивидуальные задания к ним.
Задачи имеют разный уровень сложности и охватывают все темы курса программирования. В начале каждой темы приведена теория, которая необходима для решения задач данного раздела. В нем содержатся решения значительного числа задач или указания к их решению по теории программирования и языку программированияС++.
Для студентов, обучающихся по специальности «Прикладная информатика» и по смежным специальностям. Может быть использовано для самостоятельной внеаудиторной работы. Кроме того, задачи не привязаны к конкретному языку программирования и могут быть использованы при изучении любого другого языка программирования.
Рецензенты:
– декан совместного Таджикско – Украинского факультета ТУТ, кандидат физико-математических наук, доцент
Ли И. Т. – доцент кафедры Информатики и информационных систем РТСУ, кандидат технических наук.
Учебное пособие рекомендовано к печати решением научно-методического совета РТСУ от _________2014 г., протокол № _____
© ,
Содержание
Общие требования к оформлению лабораторной работы …….. | 6 | |
1. | Введение в С++ …………………………………………………… | 7 |
| Общие замечания ………………………………………….. | 7 | |
| Имена и идентификаторы …………………………………. | 12 | |
| Идентификаторы ………………………………………….. | 13 | |
| Объявление переменных ………………………………… | 14 | |
2. | Операторы присваивания…………………………………… | 18 |
3. | Директивы include и пространства имен ……………………… | 22 |
4. | Типы данных С++……………………………………………….. | 23 |
5. | Управляющие последовательности …………………………… | 24 |
6. | Операторы инкрементирования и декрементирования ……….. | 26 |
Задания для лабораторной работы №1 …………………………. | 27 | |
7. | Механизм ветвления …………………………………………….. | 30 |
Задания для лабораторной работы №2 | 35 | |
8. | Механизмы циклического выполнения | 38 |
Задания для лабораторной работы №3 | 44 | |
9. | Оператор выбора | 49 |
Задания для лабораторной работы №4 | 56 | |
10. | Массивы | 59 |
10.1.Сортировка массива | 62 | |
Задания для лабораторной работы №5 | 67 | |
11. | Массивы для хранения строк | 70 |
12. | Объявление строковой переменной С | 71 |
12.1. Инициализация строковой переменной С | 71 | |
12.2. Ввод и вывод строк | 71 | |
13. | Функции | 74 |
13.1.Функции для работы со строками | ||
Задания для лабораторной работы №6 | 78 | |
14 | Функции, определяемые программистом | 81 |
Задания для лабораторной работы №7 | ||
15 | Строка класса string. Работа со строкой. | 93 |
15.1. Ввод-вывод с помощью класса string | 94 | |
15.2.Функции-члены стандартного класса string | 94 | |
Задания для лабораторной работы №8 | 97 | |
16. | Векторы | 100 |
Задания для лабораторной работы №9 | 102 | |
17. | Структура Задания для лабораторной работы №10 | 104 |
Литература |
Общие требования к оформлению лабораторной работы
1. Стандартный титульный лист
2. Отчет о решенных задачах (с указанным номером варианта) должен содержать:
– постановку задачи;
– структурную (обобщенную) схему алгоритма;
– листинг (текст кода) программы с пояснением его отдельных участков;
– результаты (экранные формы), иллюстрирующие работоспособность программы.
Введение в С++
1.1 Общие замечания
Язык C++ был разработан на основе языка С. Язык программирования Сбыл разработан в 1970-х годах Деннисом Ричи в AT&T Bell Laboratories, на котором была написана операционная система UNIX. Эта операционная система существовала и до появления С, но ее первые версии создавались предшественником языка С - BCPL (BasicCombinedProgrammingLanguage) и на языке ассемблера. С – это язык общегоназначения, подходящий для написания любых программ, но его успех и популярность тесно связаны именно с операционной системой UNIX. Если нужно модифицировать что-то в UNIX, для этого потребуется С. Они изначально были связаны друг с другом так тесно, что со временем не только системные программы, но и все коммерческое программное обеспечение, работающее под управлением UNIX, было написано на языке С. Этот язык стал настолько популярным, что были созданы его версии и для других распространенных операционных систем. Теперь его использование уже не ограничивается компьютерами, на которых установлена ОС UNIX.
Несмотря на огромную популярность, С обладает рядом недостатков. Это довольно необычный язык в том отношении, что, являясь языком высокого уровня, он содержит много элементов языка низкого уровня. Поэтому С, скорее, находится посередине между двумя крайностями — языком очень высокого и очень низкого уровня (типа ассемблер), причем в этом состоит его сила и его слабость. С одной стороны, подобно низкоуровневому языку ассемблера, С позволяет напрямую манипулировать памятью компьютера, а с другой стороны, благодаря использованию элементов высокоуровневого языка, в нем очень упрощены такие операции, как чтение и запись данных. Так что язык С прекрасно подходит для написания системных приложений, а для программ прикладного характера он менее удобен, поскольку сложнее других языков высокого уровня, и программы на нем менее читабельны. Кроме того, он выполняет значительно меньше автоматических проверок и других полезных операций.
Для преодоления такого рода ограничений в начале 1980-х годов Бьярном Страустрапом из AT&T BellLaboratories был разработан язык C++. В него вошла большая часть элементов языка С, поэтому большинство программ, написанных на С, являются программами на C++. (Обратное неверно: программы на C++ в подавляющем большинстве не являются программами на С.) В отличие от С, язык C++ включает средства для объектно-ориентированного программирования - очень мощной технологии, разработанной относительно недавно. Структура простой программы на языке C++ представлена в листинге 1. С точки зрения компилятора разрывы строк и отступы не обязательно должны быть такими, как в наших примерах, поскольку ему все равно, где и как они расположены. А вот с точки зрения пользователя программа должна быть написана именно так, чтобы ее удобно было читать. Когда открывающая и закрывающая фигурные скобки расположены на отдельных строках, их легко найти. Отступы перед операторами и их размещение на отдельных строках также улучшают читабельность программы. Если имеются операторы, не помещающиеся на одной строке — для них обычно используется другое оформление с применением отступов и разрывов строк.
Листинг 1. Структура простой программы на C++1
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
конструкции
system("PAUSE");
return EXIT_SUCCESS;
}
Первые несколько строк мы пока будем рассматривать как способ указать на начало программы. Но кое-что в них можно объяснить подробнее. Строка #include <iostream> называется директивой include. Она сообщает компилятору, где он может найти информацию о некоторых используемых в программе элементах. В данном случае iostream является именем библиотеки, которая содержит определения процедур, выполняющих ввод с клавиатуры и вывод на экран; это также имя файла, хранящего необходимую информацию об этой библиотеке. Программа-компоновщик объединяет объектный код библиотеки iostream с объектным кодом написанной программы. В дальнейшем вы будете пользоваться и другими библиотеками, и тогда их имена тоже нужно будет указать компилятору с помощью директив include в начале программы. Для иных библиотек одной только названной директивы может оказаться недостаточно, но сама она является обязательной.
Директивы всегда начинаются с символа #. Некоторые компиляторы требуют, чтобы вокруг него не было пробелов, так что лучше всегда помещать этот символ в начало строки и не отделять его пробелом от слова include. Следующая строка «уточняет» приведенную выше директиву include:
using namespace std: Она сообщает, что имена, определенные в iostream, нужно интерпретировать «стандартным образом» (std является сокращением от англ. standard — стандартный). Пока это все, что можно сказать о данной строке. Третья и четвертая непустые строки просто указывают, что начинается главная часть программы: intmain(intargc, char *argv[]). Правильнее было бы сказать «главная функция», а не «главная часть», но смысл термина «функция» и то, что находится в скобках, будут определены позже. Фигурные скобки «{» и «}» отмечают начало и конец главной части программы. Они не обязательно должны располагаться на отдельных строках, но так их легче найти, поэтому мы всегда будем размещать их подобным образом.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |


