Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kasatkin_S__Ratkevich_I__Travova_N_-_Laborato.doc
Скачиваний:
75
Добавлен:
15.02.2016
Размер:
1.01 Mб
Скачать

Саровский государственный физико-технический институт

Факультет информационных технологий и электроники

Кафедра вычислительной и информационной техники

Касаткин С.С., Раткевич И.С., Травова Н.Н.

Лабораторный практикум

по курсу “Основы алгоритмизации” в среде Microsoft Visual Studio 2005

г. Саров

2008 г.

Саровский государственный физико-технический институт

Факультет информационных технологий и электроники

Кафедра вычислительной и информационной техники

Касаткин С.С.,Раткевич И.С., Травова Н.Н.

Лабораторный практикум

по курсу “Основы алгоритмизации” в среде Microsoft Visual Studio 2005

Утверждено:

на заседании кафедры ВИТ

Научно методическим Советом СарФТИ

г. Саров

2008 г.

УДК 681.3

Т 65

Одобрено Научно-методическим советом Саровского государственного физико-технического института

Т 65 Касаткин Сергей Сергеевич, Раткевич Ирина Сергеевна, Травова Надежда Николаевна

Лабораторный практикум по курсу “Основы алгоритмизации” в среде Microsoft Visual Studio 2005

Данное пособие предназначено для студентов, изучающих курс “Основы алго­рит­­мизации” и выполняющих практические задания, составляя программы, на­писанные на языке С++. Среда программирования, на которую ориентирован практикум – Microsoft Visual Studio 2005.

Практикум содержит множество примеров программ, решающих клас­си­ческие учебные задачи и иллюстрирующих основные приемы программирова­ния на языке C++, и задания для самостоятельного выполнения. Программы сопровождаются не­об­ходи­мы­ми пояснениями, однако предпо­ла­га­ет­ся, что студенты параллельно слушают курс лекций или изучают самостоятельно по учебнику основы программирования на языке C++.

Рецензент: к.ф.-м.н. доцент Холушкин В.С.

Консультант Лебедев Петр Андреевич

Содержание

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

Лабораторная работа №1 10

Тема: “Программы, использующие команды ветвления. Отладка программы“ 10

Отладка программы 10

Часть 1 11

Ветвление в программе с помощью вложенных конструкций if-else 11

Задание 11

Пример 1 14

Пример 2 15

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

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

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

Часть 2 18

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

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

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

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

Часть 1 21

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

Часть 2 24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все типы языка С++ можно разделить основные и составные. В языке С++ определенно шесть основных типов данных для представления целых (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 to255 при компиляции с ключём /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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]