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

ООП / Лабораторные работы / Лабораторная работа №1 / Лабораторная работа №1_задания

.doc
Скачиваний:
52
Добавлен:
12.03.2015
Размер:
50.18 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 1

1. Подсчитать количество букв 'a' (отдельно) и 'b', 'd', 'h' (общий подсчет), а также количество слов в предложении, введенном с консоли. Предложение оканчивается символом '.' или нажатием [Enter].

2. Написать игру. Виртуальное игровое поле состоит из матрицы ячеек 20x20 (массив не использовать!). Управление перемещениями героя осуществляется нажатием клавиш W,A,S,D (на север, на запад, на юг, на восток). Программа выводит координаты измененного положения героя. При попытке выйти за пределы поля программа останавливает героя и выводит соответствующее сообщение.

3. Написать программу, запрашивающую у пользователя значения двух дробей, а затем выводящую результат, также записанный в форме дроби. Взаимодействие программы с пользователем может выглядеть, например, следующим образом:

Введите первую дробь: 1/2

Введите первую дробь: 2/5

Сумма дробей равна 9/10

Комментарий: две дроби а/b и c/d можно сложить следующим образом:

a/b + c/d = (a*d + b*c)/(b*d)

Например, 1/4 + 2/3 = (1*3 + 4*2)/4*3 = 11/12

4. Устаревшая денежная система Великобритании состояла из фунтов, шиллингов и пенсов. 1 фунт был равен 20 шиллингам, а 1 шиллинг – 12 пенсам. Для записи использовалась система, состоящая из знака £ и трех десятичных значений, разделенных точками. Например, запись £5.2.8 обозначала 5 фунтов, 2 шиллинга и 8 пенсов (пенс – множественное число от пенни). Современная денежная система, принятая в 50-е годы XX века, состоит только из фунтов и пенсов, причем один фунт равен 100 пенсам (реформа коснулась только шиллингов и пенсов, номинал в фунтах не изменился). Такой фунт называют десятичным. Таким образом, в новой денежной системе указанная сумма будет обозначаться как £5.13. Напишите программу, которая будет преобразовывать сумму, записанную в старом формате (фунты, шиллинги, пенсы), в новый формат (фунты, пенсы). Форматом взаимодействия программы с пользователем может являться следующий:

Введите количество фунтов: 5

Введите количество шиллингов: 2

Введите количество пенсов: 8

Введенные данные в старой системе: 5.2.8

Введенные данные в новой системе: 5.13

5. Устаревшая денежная система Великобритании состояла из фунтов, шиллингов и пенсов. 1 фунт был равен 20 шиллингам, а 1 шиллинг – 12 пенсам. Для записи использовалась система, состоящая из знака £ и трех десятичных значений, разделенных точками. Например, запись £5.2.8 обозначала 5 фунтов, 2 шиллинга и 8 пенсов (пенс – множественное число от пенни). Современная денежная система, принятая в 50-е годы XX века, состоит только из фунтов и пенсов, причем один фунт равен 100 пенсам (реформа коснулась только шиллингов и пенсов, номинал в фунтах не изменился). Такой фунт называют десятичным. Таким образом, в новой денежной системе указанная сумма будет обозначаться как £5.13. Напишите программу, запрашивающую у пользователя сумму, указанную в десятичных фунтах, и переводящую ее в старую систему фунтов, шиллингов и пенсов. Пример взаимодействия программы с пользователем может выглядеть так:

Введите число десятичных фунтов: 5.13

Преобразование в старую систему: 5.2.8

6. Создайте таблицу умножения на заданное число X (вводится с клавиатуры). Напишите программу, которая позволяет пользователю также ввести максимальный сомножитель, а затем генерирует таблицу в 10 столбцов. Вместо значений кратных (3*X) выводится слово «Пусто».

7. Напишите программу, которая позволяет пользователю ввести шесть цифр (цифры вводятся как символы), а затем выводит результат (численный) типа long на экране. Каждая цифра должна считываться отдельно.

8. Создайте эквивалент калькулятора, выполняющего четыре основных арифметических операции. Программа должна запрашивать ввод пользователем первого операнда, знака операции и второго операнда. Для хранения операндов следует использовать переменные вещественного типа. В конце программа должна отображать результат на экране. Результат работы программы с пользователем может выглядеть следующим образом:

Введите первый операнд, операцию и второй операнд: 10 / 3

Результат равен 3.333333

Выполнить еще одну операцию (y/n)? y

Введите первый операнд, операцию и второй операнд: 12 + 100

Результат равен 112

Выполнить еще одну операцию (y/n)? n

9. При помощи цикла изобразите на экране пирамиду из символов 'X'. Верхняя часть пирамиды должна выглядеть следующим образом:

X

XXX

XXXXX

XXXXXXX

…………………

Высота пирамиды определятся пользователем.

10. Напишите программу визуализации распределения простых чисел. Для простых чисел на консоль выводится прямоугольник, закрашенный белым цветом (код символа – 219). Для остальных чисел на консоль выводится прямоугольник, закрашенный серым цветом (код символа – 176). Размер консоли 80*25.

11. Напишите программу, рассчитывающую сумму денег, которые вы получите при вложении начальной суммы с фиксированной процентной ставкой дохода через определенное количество лет. Пользователь должен вводить с клавиатуры начальный вклад, число лет и процентную ставку. Вклад предусматривает ежемесячную капитализацию (капитализация процентов – причисление процентов к сумме вклада, позволяет в дальнейшем осуществлять начисление процентов на проценты).

12. Устаревшая денежная система Великобритании состояла из фунтов, шиллингов и пенсов. 1 фунт был равен 20 шиллингам, а 1 шиллинг – 12 пенсам. Для записи использовалась система, состоящая из знака £ и трех десятичных значений, разделенных точками. Например, запись £5.2.8 обозначала 5 фунтов, 2 шиллинга и 8 пенсов (пенс – множественное число от пенни). Напишите программу, которая циклически будет запрашивать ввод пользователем двух денежных сумм, выраженных в фунтах, шиллингах и пенсах. Программа должна складывать введенные суммы и выводить на экран результат, также выраженный в фунтах, шиллингах и пенсах. После каждой итерации программа должна спрашивать пользователя, желает ли он продолжать работу программы.

13. Напишите программу, рассчитывающую, сколько лет потребуется для того, чтобы при заданной процентной ставке и величине начального вклада сумма на Вашем счете достигла запрашиваемого Вами значения. Пользователь должен вводить с клавиатуры начальный вклад, число лет и процентную ставку. Вклад предусматривает ежемесячную капитализацию (капитализация процентов – причисление процентов к сумме вклада, позволяет в дальнейшем осуществлять начисление процентов на проценты).

14. Устаревшая денежная система Великобритании состояла из фунтов, шиллингов и пенсов. 1 фунт был равен 20 шиллингам, а 1 шиллинг – 12 пенсам. Для записи использовалась система, состоящая из знака £ и трех десятичных значений, разделенных точками. Например, запись £5.2.8 обозначала 5 фунтов, 2 шиллинга и 8 пенсов (пенс – множественное число от пенни). Создайте калькулятор, выполняющий действия над денежными суммами, выраженными в фунтах, шиллингах и пенсах. Калькулятор должен складывать и вычитать вводимые значения.

15. Создайте калькулятор, выполняющий четыре арифметических действия над дробями. Формулы, демонстрирующие выполнение арифметических операций над дробями, приведены ниже.

Сложение: a/b + c/d = (a*d + b*c)/(b*d)

Вычитание: a/b - c/d = (a*d - b*c)/(b*d)

Умножение: a/b*c/d - (a*c)/(b*d)

Деление: a/b/c/d = (a*d)/(b*c)

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

Введите выражение: 3/5 - 1/2

Разница дробей 1/10

16. Дана функция . Пользователь вводит границы a, b и шаг интегрирования h (вещественные числа). Вычислить значение интеграла в границах [a,b], используя формулу трапеций.

Квадратный корень – функция sqrt(x); Библиотека #include <math.h>

17. Подсчитать количество букв и слов в предложении, введенном с консоли. Предложение оканчивается символом '.' или нажатием [Enter].