Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

основы программирования на С++

.pdf
Скачиваний:
65
Добавлен:
27.05.2015
Размер:
407.41 Кб
Скачать

{

public:

char name[64]; long employee_id; float salary;

void show_employee(void); //————————> Прототип функции

};

Для определения функции вне определения класса ваша программа должна предварять определение функции именем класса и оператором глобального разрешения, как показано ниже:

return_type class_name::function_name(parameters) {// Операторы }

Конструктор и деструктор

Конструктор представляет собой специальную функцию, которая автоматически вызывается каждый раз при создании объекта. Обычное назначение конструктора заключается в инициализации элементов данных объекта. Конструктор имеет такое же имя, как и класс. Например, класс с именем file использует конструктор с именем file. Конструктор определяется внутри программы так же, как и любой метод класса. Единственное различие заключается в том, что конструктор не имеет возвращаемого значения. Когда позже объявляется объект, можно передавать параметры конструктору, как показано ниже:

class_name object(valuel, value2, value3)

Деструктор представляет собой функцию, которая автоматически запускается при уничтожении объекта. Деструктор имеет такое же имя, как и класс объекта; однако имя деструктора предваряется символом тильды (~), например ~employee. В программе деструктор определяется так же, как и любой другой метод класса.

Задания

1. Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач. до Xкон. с шагом dX.

 

 

 

 

ax 2 + b при x < 0 и b 0

 

x a

 

F :=

 

 

при x > 0 и b = 0

x c

 

 

 

x

в остальных случаях

 

 

 

c

 

 

где a, b и c – действительные числа. Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И (Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b и c, операции ИЛИ и И – поразрядные. Значения a, b, c, Xнач., Xкон. и dX ввести с клавиатуры.

21

2.В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1)минимальный элемент массива;

2)сумму элементов массива, расположенных между первым и последним положительным элементами.

Преобразовать массив так, чтобы сначала располагались все элементы, равные нулю, а потом остальные.

3.В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1)количество положительных элементов массива;

2)сумму элементов массива, расположенных после последнего элемента, равного нулю.

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

4.Дана целочисленная квадратная матрица. Определить:

1)произведение элементов в тех строках, которые не содержат отрицательных элементов;

2)максимум среди сумм элементов диагоналей, параллельных главной.

5.Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима), n может быть больше количества элементов в строке или столбце.

6.Дана целочисленная квадратная матрица. Определить:

1)количество строк, содержащих хотя бы один нулевой элемент;

2)номер столбца, содержащего самую длинную серию одинаковых элементов.

7.Реализовать сортировку матрицы.

8.Написать программу расчета стоимости покупки с учетом скидки. Скидка в 3 % предоставляется, если сумма покупки больше 500 р., в 5 % – сумма покупки больше 1000 р. Если сумма покупки более 3000 р. в течение

1месяца – предоставляется скидка в 10 %.

9.Написать программу, которая запрашивает у пользователя номер месяца, а затем выводит название соответствующего времени года.

10.Написать программу, которая вычисляет частичную сумму ряда 1–1/3 + 1/5 – 1/7 + 1/9 –… и сравнивает полученное значение с числом π4 .

При суммировании достаточно большого числа членов ряда величина суммы приближается к π4 . Вычислить с заданной точностью.

11.Написать программу, которая вычисляет наибольший общий делитель двух целых чисел.

12.Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию массив.

22

13.Написать программу, которая принимает пароль пользователя (строку символов), проверяет достоверность пароля в массиве разрешенных паролей и выводит информацию об успехе/неуспехе ввода.

14.Составьте программу расчета заработной платы и оплаты сверхурочных на основе количества отработанных в неделю часов.

15.Написать программу расчета дня недели в зависимости от введен-

ной даты.

Литература

1.Страуструп, Бьерн. Язык программирования C++ / пер. с англ. С. Анисимова, М. Кононова под ред.Ф. Андреева, А. Ушакова.– 3-е изд. – М. ; СПб. : Бином : Нев. диалект, 1999. – 990 с.

2.Холзнер, Стивен. Visual C++ 6 : учеб. курс. – СПб.: Питер, 1999. –

569с.

3.А. Нейбауэр. Моя первая программа на C/C++/ http://www.piterpress.ru/lib/978531400107/

4.М. Теллес. Borland C++ Builder (+CD). Библиотека программиста. http://www.piter-press.ru/lib/978531400107/

5.Stanley Lippman (Стенли Липпман) Essential C++ (Основы программирования на С++) – http://anatolix.naumen.ru/files/books/lipp...ial_cpp_eng.zip

23

Учебное издание

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА C++

Учебно-методическое пособие для вузов

Составитель: Крыжановская Юлиана Александровна

Редактор И.Г. Валынкина

Подписано в печать 27.03.2008 г. Формат 60×84/16. Усл. печ. л. 1,4. Тираж 50 экз. Заказ 172.

Издательско-полиграфический центр Воронежского государственного университета.

394000, г. Воронеж, пл. им. Ленина, 10. Тел. 208-298, 598-026 (факс) http://www.ppc.vsu.ru; e-mail: pp_center@ppc.vsu.ru

Отпечатано в типографии Издательско-полиграфического центра Воронежского государственного университета.

394000, г. Воронеж, ул. Пушкинская, 3. Тел. 204-133.

24