![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
ТЕМА: ПРОГРАМИРОВАНИЕ АЛГОРИТМОВ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
ЛАБОРАТОРНАЯ РАБОТА №3 Цель: отработать навыки построения алгоритмов циклической структуры с помощью операторов языка Си. Средства: · Программные: среда разработки Visual Studio 2010, редактор Notepad++. I. Циклические структуры с параметром (оператор for) 1. Разработайте программу, которая выводит таблицу пересчета из миль в километры (1 миля = 1.609344 км) для расстояний от 1 до 15 миль с шагом 1. 2. Напишите программу, которая выводит таблицу значений функции 3. Напишите программу, которая выводит таблицу ежемесячных платежей по кредиту. Исходные данные для расчета: сумма кредита, срок и процентная ставка. Предполагается, что кредит возвращается (выплачивается) ежемесячно равными долями. Проценты начисляются ежемесячно на величину долга. Рекомендуемый вид экрана приведен ниже. Cумма (руб.) -> 150000 Срок (мес.) -> 12 Процентная ставка (годовых) -> 14 ----------------------------------- Долг Процент Платеж ----------------------------------- 1 150000.00 1750.00 14250.00 2 137500.00 1604.17 14104.17 3 125000.00 1458.33 13958.33 4 112500.00 1312.50 13812.50 5 100000.00 1166.67 13666.67 6 87500.00 1020.83 13520.83 7 75000.00 875.00 13375.00 8 62500.00 729.17 13229.17 9 50000.00 583.33 13083.33 10 37500.00 437.50 12937.50 11 25000.00 291.67 12791.67 12 12500.00 145.83 12645.83 ----------------------------------- Всего процентов: 11375.00 4. Написать программу, которая вычисляет сумму первых n целых положительных четных чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже приведен рекомендуемый вид экрана программы. Вычисление суммы четных положительных чисел Введите количество суммируемых чисел и нажмите <Enter> -> 12 Сумма первых 12 положительных четных чисел равна 156 5. Написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры. После ввода последнего числа, программа должна вывести минимальное и максимальное числа последовательности. Количество чисел последовательности должно задаваться во время работы программы. Обработка последовательности дробных чисел. Введите количество чисел последовательности -> 5 Вводите последовательность. После ввода каждого числа нажимайте <Enter> -> 5.4 -> 7.8 -> 3.0 -> 1.5 -> 2.3 Количество чисел: 5 Среднее арифметическое: 4.00 Минимальное число: 1.5 Максимальное число: 7.8 II. Циклы с предусловием (оператор while) 6. Напишите программу, которая генерирует последовательность из 10 случайных чисел (в диапазоне от 1 до 10), выводит эти числа на экран и вычисляет их среднее арифметическое. 7. Разработайте программу, которая вычисляет сумму целых чисел, введенных пользователем с клавиатуры. Сумма подсчитывается, пока не введено число 0 и сумма меньше 100. 8. Напишите программу, которая генерирует n примеров на знание таблицы умножения. Количество примеров n вводит пользователь. По завершению работы программа должна выдать количество правильных и ошибочных ответов. Таблица умножения Введите желаемое количество примеров –> 2 ----------------------------------------- Введите результат умножения: Пример 1: 2х5= -> 10 Пример 2: 3х4= -> 11 Правильных ответов – 1, ошибочных – 1 III. Циклы с постусловием (оператор do/while) 1. Разработайте программу, которая проверяет существование треугольника со сторонами a, b и c. Программа считывает данные и производит проверки до тех пор, пока пользователь не введет a=b=c=0. 2. Создайте программу, позволяющую по желанию пользователя находить сумму или произведение двух целых чисел. Выбор действий реализовать в виде элементарного меню. #include <stdio.h> #include <stdlib.h> #include <locale.h> void main (){ setlocale(LC_ALL, "rus");//использовать русские символы int a,b,x; do{ system("cls"); //очистка экрана printf("Выберите действие \n\n"); printf ("1 Нахождение суммы двух целых чисел\n"); printf ("2 Нахождение произведения двух целых чисел\n"); printf ("3 Выход\n"); printf ("Ваш выбор - > ...\n"); scanf("%d", &x); switch (x) { case 1: printf ("Введите число a: \n"); scanf("%d", &a); printf ("Введите число b: \n"); scanf("%d", &b); printf ("Сумма чисел равна %d \n", a+b); break; case 2: printf ("Введите число a: \n"); scanf("%d", &a); printf ("Введите число b: \n"); scanf("%d", &b); printf ("Произведение чисел равно %d \n", a*b); break; case 3: printf ("Программа завершена \n"); break; default: printf ("Ошибка ввода\n"); break; } system ("pause"); //приостановка выполнения программы } while (x!=3); } IV. Индивидуальное задание Вариант 1. Разработайте программу с меню, позволяющую вычислять и выводить значение площади следующих фигур: 1 – прямоугольник, 2 – треугольник, 3 – круг. Вариант 2. Разработайте программу с меню, позволяющую вычислять и выводить значение периметра следующих фигур: 1 – прямоугольник, 2 – треугольник, 3 – круг. Вариант 3. Разработайте программу с меню, позволяющую вычислять сопротивление n резисторов: 1 – в цепи с последовательным соединением, 2 – в цепи с параллельным соединением. Вариант 4. Разработайте приложение с меню, позволяющее производить действия по конвертации валют: 1 – рубли в доллары, 2 – рубли в евро, 3 – евро в рубли, 4 – доллары в рубли. Вариант 5. Разработайте программу с меню для расчета стоимости печати фотографий. Формат фотографий: 1 – 9×12 см, 2 – 10×15 см. Если количество фотографий больше 10, то заказчику предоставляется скидка 5%. Вариант 6.Напишите программу с меню, которая позволяет посчитать стоимость заправки автомобиля. Исходные данные: тип топлива (бензин 92 – 1, 95 – 2, 98 – 3 или дизельное топливо – 4) и количество литров. Вариант 7.Разработайте приложение с меню, которое определяет во введенной пользователем последовательности из n целых чисел: 1 – минимальное значение, 2 – максимальное значение, 3 – среднее арифметическое. Вариант 8.Разработайте приложение с меню, позволяющее вычислить время передачи текстового сообщения по каналу связи. Пользователь вводит количество передаваемых символов и кодировку: 1 – ASCII, 2 – Unicode. Скорость канала связи 128000 бит/с.
![]() |