|
|||
ОТЧЕТ. Схема программыСтр 1 из 2Следующая ⇒
Министерство образования Российской Федерации Пензенский государственный университет Кафедра «Вычислительная техника»
ОТЧЕТ по лабораторной работе №3 по курсу «Программирование» на тему «Операторы условия»
Выполнил: студенты группы 20ВВ1 DD
Принял: к.т.н., доцент Юрова О.В.
Пенза 2020 Цель работы- изучение операторов условия и приобретение навыков программирования разветвляющихся алгоритмов.
Лабораторное задание:
1. Вариант 1. С клавиатуры вводятся 4 целых числа a, b, c, d. Найти среди них пару чисел с минимальной по модулю разностью. Операторы цикла в программе не использовать. 2. Определить значения исходных данных. 3. Составить алгоритм решения задачи. 4. Составить программу, осуществляющую ввод исходных данных, необходимые вычисления и вывод результатов. Ввод и вывод сопроводить комментариями. 5. Выполнить программу на ЭВМ, проверяя правильность всех ветвей алгоритма. Описание решения: Числовые значения переменных a, b, c, d вводятся с клавиатуры с помощью функции scanf(). Переменная min используется для хранения значения минимальной по модулю разности. Сначала она определяется как разность первой пары чисел. Устанавливается флажок, соответствующий минимальному значению первой пары чисел n = 0. Далее поочередно с помощью оператора if проверяется каждая пара чисел. Если находится пара, разность которой меньше установленной, значение min переприсваивается и устанавливается флажок, соответствующий нужной паре n. С помощью оператора switch осуществляется выбор флажка n и выводится результат. Результат выводится на экран с использованием библиотечной функции printf().
Листинг программы: #define _CRT_SECURE_NO_WARNINGS #define _CRT_NONSTDC_WARNINGS
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h>
int main() { int a, b, c, d; //вводимы переменные int min, n; //вспомогательные переменные printf("Input 4 numbers:"); scanf("%d%d%d%d", &a, &b, &c, &d); //считывание данных
min = fabs(a - b); //присвоение начального значения min n = 0; //установление флажка для первой пары чисел
if (min > fabs(a - c)) { //проверка на минимальное значение разность min = fabs(a - c); //присвоение значения min n = 1; //установление флажка для второй пары чисел } if (min > fabs(a - d)) { min = fabs(a - d); n = 2; } if (min > fabs(b - c)) { min = fabs(b - c); n = 3; } if (min > fabs(b - d)) { min = fabs(b - d); n = 4; } if (min > fabs(c - d)) { min = fabs(c - d); n = 5; } switch (n) { //определение по флажку какая пара чисел с минимальной разностью case 0: printf("Minimal difference between %d and %d equal: %d\n\n\n", a, b, min); break; case 1: printf("Minimal difference between %d and %d equal: %d\n\n\n", a, c, min); break; case 2: printf("Minimal difference between %d and %d equal: %d\n\n\n", a, d, min); break; case 3: printf("Minimal difference between %d and %d equal: %d\n\n\n", b, c, min); break; case 4: printf("Minimal difference between %d and %d equal: %d\n\n\n", b, d, min); break; case 5: printf("Minimal difference between %d and %d equal: %d\n\n\n", c, d, min); break; default: printf("Minimal not found"); }
} Схема программы
Рисунок 1 – Схема программы
|
|||
|