Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Листинг 2.3






#include “stdafx.h”

#include < iostream>

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

int n;

 

setlocale(LC_ALL, " Russian");

cout < < " Введите номер месяца: ";

cin > > n;

cout< < " \nВремя года: ";

 

switch(n)

{

case 1: case 2: case 12: cout < < " Зима\n";

break;

case 3: case 4: case 5: cout < < " Весна\n";

break;

case 6: case 7: case 8: cout < < " Лето\n";

break;

case 9: case 10: case 11: cout < < " Осень\n";

break;

default: cout < < " \Ошибка! \n";

}

 

getch();

return 0;

}

 

В приведенном примере программы при вводе номера месяца от 1 до 12 на экране печатается соответствующее время года, если же номер месяца превышает 12, выводится сообщение о неверном вводе месяца, для чего служит зарезервированное слово языка default. После каждой из констант, перечисляющих значение переключателя, ставится двоеточие.

Заключительный для каждой ветви оператор break служит для прерывания цикла проверки и перехода в конец переключателя. В случае отсутствия break переключатель работает неверно - происходит переход на следующую ветвь.

Аппаратура и материалы. Для выполнения лабораторной работы необходим персональный компьютер со следующими характеристиками: процессор Intel Pentium-совместимый с тактовой частотой 800 МГц и выше, оперативная память - не менее 64 Мбайт, свободное дисковое пространство - не менее 500 Мбайт, устройство для чтения компакт-дисков, монитор типа Super VGA (число цветов от 256) с диагональю не менее 15². Программное обеспечение - операционная система Windows2000/XP и выше, среда разработки приложений Microsoft Visual Studio.

Указания по технике безопасности. Техника безопасности при выполнении лабораторной работы совпадает с общепринятой для пользователей персональных компьютеров, самостоятельно не производить ремонт персонального компьютера, установку и удаление программного обеспечения; в случае неисправности персонального компьютера сообщить об этом обслуживающему персоналу лаборатории (оператору, администратору); соблюдать правила техники безопасности при работе с электрооборудованием; не касаться электрических розеток металлическими предметами; рабочее место пользователя персонального компьютера должно содержаться в чистоте; не разрешается возле персонального компьютера принимать пищу, напитки.

Методика и порядок выполнения работы. Перед выполнением лабораторной работы каждый студент получает индивидуальное задание. Защита лабораторной работы происходит только после его выполнения (индивидуального задания). При защите лабораторной работы студент отвечает на контрольные вопросы, приведенные в конце, и поясняет выполненное индивидуальное задание. Ход защиты лабораторной работы контролируется преподавателем.Порядок выполнения работы:

1. Проработать примеры, приведенные в лабораторной работе.

2. Для программы из примера 2 составить соответствующую ей диаграмму деятельности UML.

3. Составить UML-диаграмму деятельности и программу с использованием конструкции ветвления и вычислить значение функции. Номер варианта определяется по формуле , где - номер студента по списку преподавателя.

Индивидуальное задание №1. Вариант:

1. где ;

2. где ;

3.

4. где ;

5. где ;

6.

7. где ;

8.

9. где ;

10.

11. где ;

12. где ;

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

 

4. Решить задачу согласно варианта, составить UML-диаграмму деятельности и программу с использованием переключателя. Номер варианта определяется по формуле , где - номер студента по списку преподавателя.

Индивидуальное задание №2. Вариант:

1. Дано натуральное число n > 100. Вывести на экран фразу «Мне n лет», учитывая, что при некоторых значениях n слово «лет» надо заменить на слово «год» или «года».

2. Дано число m (1 £ m £ 12).Определить, сколько дней в месяце с номером m.

3. Дано число m (1 £ m £ 7). Вывести на экран название дня недели, который соответствует этому номеру.

4. С клавиатуры вводится натуральное число n. В зависимости от значения остатка r при делении числа n на 7 вывести на экран число n в виде n = 7*k + r.

5. С клавиатуры вводится цифра m (от 1 до 4). Вывести на экран названия месяцев, соответствующих времени года с номером m (считать зиму временем года № 1).

6. Дано целое число С такое, что |С| < 9. Вывести это число в словесной форме, учитывая его знак.

7. С клавиатуры вводится цифра m (от 1 до 12). Вывести на экран название месяца, соответствующего цифре,

8. Дано число m (1£ m £ 12). Определить полугодие, на которое приходится месяц с номером m и количество дней в том месяце (год не високосный).

9. Вводится число экзаменов N< =20. Напечатать фразу " Мы успешно сдали N экзаменов", согласовав слово " экзамен" с числом N.

10. Вводится число карандашей N< =10. Вывести фразу " Я купил N карандашей, согласовав слово " карандаш" с числом N.

11. Компания по снабжению электроэнергией взимает плату с клиентов по тарифу:

- 7 р. за 1 кВт/ч за первые 250 кВт/ч;

- 17 р. за кВт/ч, если потребление свыше 250, но не превышает 300 кВт/ч;

- 20 р. за кВт/ч, если потребление свыше 300 кВт/ч.

Потребитель израсходовал n кВт/ч. Подсчитать плату.

12. При покупке товара на сумму от 200 до 500 руб предоставляется скидка 3%, при покупке товара на сумму от 500 до 800 - скидка 5%, при покупке товара на сумму от 800 до 1000 руб - скидка 7%, свыше 1000 руб - скидка 9%. Покупатель приобрел 8 рулонов обоев по цене Х1 и две банки краски по цене Х2. Сколько он заплатил?

13. Студенты убирают урожай помидоров. При сборе до 50 кг в день работа оплачивается из расчёта 30 коп. за 1 кг; при сборе от 50 до 75 кг в день - 50 коп. за 1 кг; при сборе от 75 до 90 кг в день - 65 коп. за 1 кг; при сборе свыше 90 кг в день - 70 коп. за 1 кг плюс 20 руб. премия. Студент собрал X кг за день. Определить его заработок.

5. Решить задачу согласно варианта, составить UML-диаграмму деятельности и программу с использованием конструкций ветвления и переключателя. Номер варианта определяется по формуле , где - номер студента по списку преподавателя.

Индивидуальное задание №3. Вариант:

1. В японском календаре был принят 60-летний цикл, состоящий из пяти 12-летных подциклов. Внутри подцикла года носили названия животных мыши, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Попарно года в подцикле обозначались названиями цвета: зеленый, красный, желтый, белый и черный. По номеру года определить его название по японскому календарю, считая за начало очередного цикла 1984 год - год зеленой мыши (1985 - год зеленой коровы, 1986 - год красного тигра, 1987 - год красного зайца и т.д.).

2. Даны действительные числа х и у. Найти U = max2(x2y, xy2) + min2(x-y, x+2y).

3. Из трех действительных чисел a, b и c выбрать те, модули которых не меньше 4.

4. Напечатать три данных действительных числа a, b и c сначала в порядке их возрастания, затем - в порядке убывания.

5. Определить принадлежит ли точка А(a, b) кольцу определяемому окружностями х2 + у2 = 1 и х2 + у2 = 0.25.

6. Решить квадратное неравенство ax2 + bx + c > 0 (а ¹ 0), где a, b и с - действительные числа.

7. Провести исследование биквадратного уравнения ax4 + bx2 + c = 0 (а ¹ 0), где a, b и с - действительные числа. Если действительных корней нет, то об этом должно быть выдано сообщение, иначе должны быть выданы 2 или 4 действительных корня.

8. Решить неравенство , где а - произвольное действительное числа.

9. Найти координаты точки пересечения прямых заданных уравнениями a1x + b1y + c1 = 0 и a2x + b2y + c2 = 0, либо сообщить совпадают, параллельны или не существуют.

10. Вывести на экран большее из трёх заданных чисел.

11. Определить, есть ли среди трёх заданных чисел чётные.

12. Две окружности заданы координатами центра и радиусами. Сколько точек пересечения имеют эти окружности?

13. Составить программу, выясняющую делится ли натуральное число х нацело на натуральное число у.

14. Составить программу нахождения из трех чисел наибольшего и наименьшего.

15. Составить программу решения квадратного уравнения.

16. Даны три действительных числа. Составить программу, выбирающую из них те, которые принадлежат интервалу (0, 1).

17. Определить, есть ли среди трёх заданных чисел нечётные.

18. Даны произвольные действительные числа a, b и с. Вывести на экран сообщения: треугольник с данными длинами сторон построить можно (указать равнобедренный, равносторонний или разносторонний получится треугольник), либо треугольник с данными длинами сторон построить нельзя.

19. Какая из точек A(a1, a2) или B(b1, b2) находится дальше от начала координат?

20. Попадёт ли точка А(a1, a2) в окружность заданного радиуса с центром в начале координат?

21. Симметричны ли точки M1(x1, y1) и M2(x2, y2) относительно начала координат?

22. Треугольник задан координатами своих вершин. Определить принадлежит ли данная точка треугольнику. Координаты вершин треугольника и координаты точки задать самостоятельно.

23. Симметричны ли точки M1(x1, y1) и M2(x2, y2) относительно оси Ох или относительно оси Оу?

Содержание отчета и его форма. Отчет по лабораторной работе должен состоять из:

1. Названия лабораторной работы.

2. Цели и содержания лабораторной работы.

3. Ответов на контрольные вопросы лабораторной работы.

4. UML-диаграмму деятельности для программы примера 2 лабораторной работы.

5. Формулировки индивидуальных заданий и порядка их выполнения.

Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю.

Вопросы для защиты работы

1. Для чего нужны диаграммы деятельности UML?

2. Что такое состояние действия и состояние деятельности?

3. Какие нотации существуют для обозначения переходов и ветвлений в диаграммах деятельности?

4. Какой алгоритм является алгоритмом разветвляющейся структуры?

5. Чем отличается разветвляющийся алгоритм от линейного?

6. Что такое условный оператор? Какие существуют его формы?

7. Что такое составной оператор? Каков формат его записи?

8. Какие операторы сравнения используются в Си?

9. Что называется простым условием? Приведите примеры.

10. Что такое составное условие? Приведите примеры.

11. Какие логические операторы допускаются при составлении сложных условий?

12. Может ли оператор ветвления содержать внутри себя другие ветвления?

13. Что такое множественный выбор?

14. В каких случаях применяется переключатель?

15. Зачем ставится в переключателе оператор break?

16. Зачем в переключателе употребляется зарезервированное слово default?

17. Какие UML-диаграммы показывают работу переключателя?

 

Пример выполнения лабораторной работы №2:

1. Индивидуальное задание №1:

1.1. Постановка задачи:

Составить UML-диаграмму деятельности и программу с использованием конструкции ветвления и вычислить значение функции

1.2. UML-диаграмма:

1.3. Листинг программы:

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

/* Горошко А.А.

гр. БАС-051*/

 

#include " stdafx.h"

#include < iostream>

#include " conio.h"

#include " math.h"

#include " windows.h"

 

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

double x, y;

setlocale(LC_ALL, " Russian");

 

cout< < Введите х< < " \nx=";

cin> > x;

 

if (x > 3.5)

y=(log(x)*cos(2*x));

else

if (x=3.5) y=(pow(x*x*x-1, 1/3));

else y=(1+sin(x)*sin(x)-2*cos(2*x)*cos(2*x));

 

cout< < " y=";

cout< < y;

 

getch();

 

return 0;

}

1.4. Результаты работы программы:

2. Индивидуальное задание №2:

2.1. Постановка задачи:

Решить задачу, составить UML-диаграмму деятельности и программу с использованием переключателя.

Задача: в понедельник фирма работает с 9-00 до 16-00; во вторник, среду, четверг, пятницу - с 8-00 до 19-00; в субботу - с 10-00 до 15-00; воскресенье - выходной. По заданному номеру дня недели определить часы работы.

2.2. UML-диаграмма:

2.3. Листинг программы:

// Индивидуальное задание №2

 

#include " stdafx.h"

#include < iostream>

#include " conio.h"

#include " windows.h"

 

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

int n;

setlocale(LC_ALL, " Russian");

 

cout< < " Введите номер дня недели\n" < < " \nn=";

cin> > n;

 

switch(n)

{

case 1:

cout< < " \nВремя работы фирмы: с 9-00 до 16-00\n";

break;

case 2: case 3: case 4: case 5:

cout< < " \nВремя работы фирмы: с 8-00 до 19-00\n";

break;

case 6:

cout< < " \nВремя работы фирмы: с 10-00 до 15-00\n";

break;

case 7:

cout< < " \nВыходной\n";

break;

default:

cout< < " \nОшибка! \n";

}

 

getch();

 

return 0;

}

2.4. Результаты работы программы:

3. Индивидуальное задание №3:

3.1. Постановка задачи:

Решить задачу, составить UML-диаграмму деятельности и программу с использованием конструкций ветвления и переключателя.

Задача: школьники сдают нормы по прыжкам в длину. Если длина прыжка больше 2, 5 м, то оценка - 5, если от 2 м до 2, 5 - оценка 4; от 1, 5 м до 2 м - оценка 3; если меньше 1, 5 м - 2. Выставить школьнику оценку, если известна длина его прыжка.

3.2. UML-диаграмма:

3.3. Листинг программы:

// Индивидуальное задание №3

 

#include " stdafx.h"

#include < iostream>

#include " conio.h"

#include " math.h"

#include " windows.h"

 

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

double dlina;

setlocale(LC_ALL, " Russian");

 

cout< < " Введите длину прыжка\n" < < " \ndlina=";

cin> > dlina;

 

if (dlina > 2.5)cout< < " \nОценка: 5\n";

else

if (dlina > 2)cout< < " \nОценка: 4\n";

else

if (dlina > 1.5)cout< < " \nОценка: 3\n";

else

if (dlina > 0)cout< < " \nОценка: 2\n";

else cout< < " \nОшибка! Введите положительное число\n";

 

getch();

 

return 0;

}

3.4. Результаты работы программы:

 

 


Лабораторная работа №3.
Организация циклических вычислений в языке C++

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.