Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методички_С .doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
744.96 Кб
Скачать

Содержание

Типы данных С++ 7

Пример 1 10

Пример 2 11

Организация повторения программы 12

Выполнение программы в пошаговом режиме 12

Задание для самостоятельного выполнения 13

Часть 2 13

Ветвление в программе с помощью оператора switch 13

Задание для самостоятельного выполнения 14

Лабораторная работа №2 15

Тема: “Программы, использующие команды повторения (циклы). Рекур­рент­ные соотношения“ 15

Часть 1 15

Программы, работающие с натуральными числами 15

1. Программа, которая находит наибольший общий делитель двух натуральных чисел m и n 15

2. Программа, которая проверяет, является ли число простым 16

3. Программа, которая проверяет, является ли число палиндромом 17

Часть 2 17

Программы, использующие рекуррентные соотношения 17

4. Программа, которая находит числа Фибоначчи в заданном диапазоне. 18

5. Программа, которая находит значение квадратного корня из за­данного числа, используя рекуррентное соотношение: 18

6. Программа, которая вычисляет сумму ряда с заданной точностью. 19

7. Пример – программа, которая вычисляет сумму ряда для заданного количества слагаемых. 21

Задания для самостоятельного выполнения 21

Лабораторная работа № 3 23

Тема: “Программы, использующие вспомогательные функции”. 23

1. Программа, которая считывает координаты вершин треугольника на плоскости и находит все углы этого треугольника в градусах. 24

2. Программа, которая находит заданное количество чисел, содержащих цифру 3 25

3. Программа, которая находит на заданном отрезке натуральные числа, которые можно представить в виде суммы квадратов двух натуральных чисел. 26

4. Программа, которая находит первое автоморфное число справа от заданного. 27

5. Программа находит точки пересечения линий y= ax+b и y = c/x +d 28

6. Программа для вычисления биноминальных коэффициентов 30

Задания для самостоятельного выполнения 31

Лабораторная работа № 4 34

Тема: “Программы, использующие строки символов ”. 34

1. Программа, которая считывает строку символов и сортирует ее по возрастанию кодов символов 36

2. Программа перевода числа из десятичной системы счисления в двоичную 37

3. Программа перевода числа из двоичной системы в десятичную 38

4. Программа перевода числа из 16-ой системы счисления в 2-ую. 39

5. Программа перевода числа из 2-ой системы счисления в 16-ую. 40

6. Программа, которая выводит на экран треугольник Паскаля (треугольник биноминальных коэффициентов) 42

Задания для самостоятельного выполнения 44

Лабораторная работа № 5 47

Тема: “Программы, использующие файлы ”. 47

1. Программа, которая считывает имя файла, открывает его и подсчитывает количество скобок каждого вида, содержащихся в файле. 47

2. Программа, инвертирующая файл (переставляющая символы в обратном порядке) 48

3. Программа выводит на экран n-ую строку файла 49

4. Программа, которая переписывает текст из одного файла в другой, удаляя лиш­ние пробелы между словами и делая ширину текста максимум 70 символов 51

5. Программа, которая считывает текст файла и создает новый файл, заменив во всем тексте заданное слово на новое (не изменяя деление на строки и коли­чес­т­во пробелов между словами) 52

6. Программа, которая считывает данные для структуры Man из файла. 54

7. Программа создающая новый текстовый файл из двух данных, в котором 1-я строка –строка из первого файла, 2-я строка – строка из 2-го файла, 3-я строка – содержит общие символы первых 2-х строк. 56

8. Программа создаёт из двух файлов третий, в котором содержатся максимальные по длине слова из соответствующих строк исходных файлов, причём все слова длиннее 5-ти символов заключаются в квадратные скобки. 58

Задания для самостоятельного выполнения 61

Лабораторная работа № 6 64

Тема: “Программы, использующие массивы ”. 64

1. Программа заполняет массив A(50) случайными целыми числами из диапазона [-20, 30] и упорядочивает его по возрастанию. Исходный и упорядоченный массивы выводятся на экран дисплея. 64

2. Программа, которая по заданным корням многочлена степени n восста­нав­ливает все коэффициенты многочлена. 65

3. Программа считывает линейный массив из файла, выводит его на экран, и подсчитывает количество элементов массива, находит min и max элементы и их ин­дексы. 66

4. Программа заполняет массив A[5][5] случайными целыми числами из диапазона [-3, 3] и находит произведение элементов, стоящих на побочной диагонали. 68

5. Программа считывает матрицу из файла, выводит ee на экран, сортирует элементы в каждом столбце и отсортированную матрицу записывает в файл. 69

6. Программа, сортирующая файл по длине строки методом быстрой сортиров­ки. 71

Задания для самостоятельного выполнения 74

Лабораторная работа № 7 77

Тема: “Программы, использующие динамические структуры”. 77

1. Программа, которая создает очередь символов. 77

2. Программа, которая создает закольцованный список и затем последовательно удаляет из списка каждый m-й элемент до тех пор, пока не будут удалены все. 78

3. Программа, которая работает со стеком. 80

4. Программа, которая работает с деревом. 81

Задания для самостоятельного выполнения 82

Типы данных С++

Концепция типа данных

Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.

Тип данных определяет:

  • внутреннее представление данных в памяти компьютера;

  • множество значений, которые могут принимать величины этого типа;

  • операции и функции, которые можно применять к величинам этого типа.

Исходя из этих характеристик, программист выбирает тип каждой величины, используемый в программе для представления реальных объектов. Обязательное описание типа позволяет компилятору проводить проверку допустимости различных конструкций программы. От типа величины зависят машинные команды, которые будут использоваться для обработки данных.

Все типы языка С++ можно разделить основные и составные. В языке С++ определенно шесть основных типов данных для представления целых (int, long), вещественных (float, double), символьных (char, wchar_t) и логических величин (bool). На основе этих типов программист может вводить описание составных типов. К ним относятся массивы, перечисления, функции, структуры, ссылки, указатели, объединения и классы. Существуют также четыре спецификатора типов: signed - знаковый, unsigned – без знаковый, short - короткий, long - длинный.

Ниже приведена таблица основных типов данных (Fundamental Types – по спецификации Microsoft).

Имя типа

Размер в байтах

Другое имя

Диапазон значений

int

4

signed

–2,147,483,648 ; 2,147,483,647

unsigned int

4

unsigned

0 ; 4,294,967,295

__int8

1

char

–128 ; 127

unsigned __int8

1

unsigned char

0 ; 255

__int16

2

short, short int, signed short int

–32,768; 32,767

unsigned __int16

2

unsigned short, unsigned short int

0 ; 65,535

__int32

4

signed, signed int, int

–2,147,483,648 ; 2,147,483,647

unsigned __int32

4

unsigned, unsigned int

0 ; 4,294,967,295

__int64

8

long long, signed long long

–9,223,372,036,854,775,808 ; 9,223,372,036,854,775,807

unsigned __int64

8

unsigned long long

0 ; 18,446,744,073,709,551,615

bool

1

нет

false или true

char

1

нет

–128 ; 127 по умолчанию

0 to 255 при компиляции с ключём /J

signed char

1

нет

–128 ; 127

unsigned char

1

нет

0 ; 255

short

2

short int, signed short int

–32,768 ; 32,767

unsigned short

2

unsigned short int

0 ; 65,535

long

4

long int, signed long int

–2,147,483,648 ; 2,147,483,647

unsigned long

4

unsigned long int

0 ; 4,294,967,295

long long

8

нет (но эквивалентно __int64)

–9,223,372,036,854,775,808 ; 9,223,372,036,854,775,807

unsigned long long

8

нет (но эквивалентно unsigned __int64)

0 ; 18,446,744,073,709,551,615

float

4

нет

3.4E +/- 38 (7 знаков)

double

8

нет

1.7E +/- 308 (15 знаков)

long double

также как и double

нет

также как и double

wchar_t

2

__wchar_t

0 ; 65,535