Хелпикс

Главная

Контакты

Случайная статья





ОТЧЕТ. Схема программы



 

Министерство образования Российской Федерации

Пензенский государственный университет

Кафедра «Вычислительная техника»

 

ОТЧЕТ

по лабораторной работе №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 – Схема программы


 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.