Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 8

Даны три различных действительных числа. Найти среди них два числа, модуль разности которых имеет: наибольшее значение, наименьшее значение

06.03.2013, 12:24. Показов 5562. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я сижу на экзамене по Информатике и запутался.

Данно задание

Даны три различных действительных числа. Найти среди них два числа, модуль разности которых имеет: наибольшее значение, наименьшее значение.


И ЧТО НУЖНО СДЕЛАТЬ:
Разветвляющиеся алгоритмические структуры
Цель работы
Научиться строить разветвляющиеся алгоритмы, записывать алгоритмы в виде блок-схемы и на алгоритмическом языке.
Задание к лабораторной работе
По результатам работы необходимо в отчёте привести алгоритм в виде блок-схемы и на алгоритмическом языке, а также привести контрольный пример, демонстрирующий выполнение алгоритма (форма отчёта приведена ниже).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2013, 12:24
Ответы с готовыми решениями:

Даны три различных действительных числа. Найти два числа, модуль разности которых имеет наибольшее/наименьшее значение
Я сижу на экзамене по Информатике и запутался. Данно задание Даны три различных действительных числа. Найти среди них два числа,...

Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: а) наибольшее значение б) наименьшее значение
Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: а) наибольшее значение б) наименьшее...

Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет наибольшее значение
Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: а) наибольшее значение б) наименьшее значение

18
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
06.03.2013, 19:36
Цитата Сообщение от sarattsevd Посмотреть сообщение
Я сижу на экзамене по Информатике и запутался.
Наверно уже сдали или нет?
1
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 8
13.03.2013, 12:24  [ТС]
Цитата Сообщение от OldFedor Посмотреть сообщение
Наверно уже сдали или нет?
не могли бы вы мне показать это задание как сделать правильно, результаты позже скажут, а я хотел бы знать как делать, не уверен, что я правильно сделал
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 12:46
Цитата Сообщение от sarattsevd Посмотреть сообщение
не уверен, что я правильно сделал
Нужна блок-схема или код? Если код - то только на VB2010.
0
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 8
13.03.2013, 12:49  [ТС]
Цитата Сообщение от OldFedor Посмотреть сообщение
Нужна блок-схема или код? Если код - то только на VB2010.
https://www.cyberforum.ru/atta... 1362559766
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 12:51
Цитата Сообщение от sarattsevd Посмотреть сообщение
не могли бы вы мне показать это задание
Слишком сложно. Скоро выложу схему.
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
13.03.2013, 13:21
C++
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
26
27
struct CInfo {
 CInfo( int ind1 = 0, int ind2 = 0, int val = 0 ) : index1(ind1), index2(ind2), value(val) {}
 bool operator < ( const CInfo & sec ) const  { return index1 == index2 || value < sec.value; }
 bool operator > ( const CInfo & sec ) const  { return index1 == index2 || value > sec.value; }
 
 int index1, index2, value;
};
 
void GetAbsMinMax( const int * data, const int N )
{
 CInfo infMin, infMax;
 for (int i = 1; i < N - 1; ++i) {
  for (int j = i + 1; j < N; ++j) {
   CInfo inf(i, j, abs(data[i] - data[j]));
   if (inf < infMin) infMin = inf;
   if (inf > infMax) infMax = inf;
  }
 }
 printf("min = %d, %d (%d)\n", infMin.index1, infMin.index2, infMin.value);
 printf("max = %d, %d (%d)\n", infMax.index1, infMax.index2, infMax.value);
}
 
void GetAbsMinMax( int a, int b, int c )
{
 int data[3] = { a, b, c };
 GetAbsMinMax(data, 3);
}
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 14:06
Цитата Сообщение от sarattsevd Посмотреть сообщение
Даны три различных действительных числа
Как то так. Читается легко.



Удачи.
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 14:08
Увидел во второй части вывода неточности. Исправьте сами.
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
13.03.2013, 15:06
Цитата Сообщение от OldFedor Посмотреть сообщение
Увидел во второй части вывода неточности. Исправьте сами.
А Вас не смущает что сделать это совсем не легко? Выделив d1, d2, d3 и оперируя только с ними Вы теряете связь с исходными данными, и приходится мучительно вспоминать что чему соответствует для вывода (который, кстати, пришлось нарисовать 6 раз).

По-моему правильно создать блок данных содержащий как разницу по модулю так и индексы исходных данных. Да, и во что выльется блок-схема для 4 исходных чисел? (не говоря уже о 5 )
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 17:46
Цитата Сообщение от Igor3D Посмотреть сообщение
Вы теряете связь с исходными данными
Никоим образом. d1 связан только с х и y. Тем более что в задании речь идет о паре чисел.
Здесь как раз связь жесткая.
Цитата Сообщение от Igor3D Посмотреть сообщение
приходится мучительно вспоминать что чему соответствует для вывода
И где это надо вспоминать, Igor3D? Если победил d1, то это только х и y и ни кто другой.
Цитата Сообщение от Igor3D Посмотреть сообщение
который, кстати, пришлось нарисовать 6 раз
Ну и что, что 6. Но они все разные.

Строго говоря надо написать одну единственную процедуру, в которую
передаются x, y, z и признак как сравнивать (< или>).
Дважды к ней обратится. А выходные результаты процедуры - та самая пара чисел - на печать.
Но вот заковыка. Эта процедура в точности повторит то, что нарисовано (половинку конечно).

Igor3D, прочитайте задание.
Вы предлагаете код. Я бы его раньше выложил.
Нужна блок-схема
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
13.03.2013, 18:44
Цитата Сообщение от OldFedor Посмотреть сообщение
Igor3D, прочитайте задание.
Вы предлагаете код. Я бы его раньше выложил.
Нужна блок-схема
Ну вообще-то в задании в равной мере сказано о "блок-схеме" и "алгоритмических языках". Цели задания вполне понятны - научится мальчик находить минимум/максимум в 3 соснах - ну и слава богу, это нормально. Да и экзамен у него наверное кончился

Цитата Сообщение от OldFedor Посмотреть сообщение
Строго говоря надо написать одну единственную процедуру, в которую
передаются x, y, z и признак как сравнивать (< или>).
Дважды к ней обратится. А выходные результаты процедуры - та самая пара чисел - на печать.
Но вот заковыка. Эта процедура в точности повторит то, что нарисовано (половинку конечно).
Не понял насчет "половинки". Прошу показать эту процедуру
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
13.03.2013, 18:53
Цитата Сообщение от Igor3D Посмотреть сообщение
Ну вообще-то в задании в равной мере сказано о "блок-схеме" и "алгоритмических языках"
В посте №5 ТС sarattsevd приводит то, что сделал. А именно блок-схему.

Цитата Сообщение от Igor3D Посмотреть сообщение
Не понял насчет "половинки"
На блок-схеме у меня две повторяющиеся части - любая из них.
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
14.03.2013, 09:41
Цитата Сообщение от OldFedor Посмотреть сообщение
На блок-схеме у меня две повторяющиеся части - любая из них.
В том-то и дело что не получится дважды вызвать одну процедуру с разными параметрами - придется писать сначала все для "меньше" а потом все то же самое для "больше". Также если появляется 4-e число - придется дописывать код и для него. А большее число исходных данных быстро покажет несостоятельность всего подхода.

Конечно, чисто "для целей обучения" цепочка if'ов вполне годится (не все сразу). Но объективно это все-таки плохо
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
14.03.2013, 11:02
Цитата Сообщение от Igor3D Посмотреть сообщение
В том-то и дело что не получится дважды вызвать одну процедуру с разными параметрами
Пишется на раз. Я не зря указал - передается через формальный параметр условие сравнения.

Цитата Сообщение от Igor3D Посмотреть сообщение
Но объективно это все-таки плохо
Для понимания лучше блок-схемы ни чего не придумали.
Если у Вас есть что предложить - флаг в руки.
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
14.03.2013, 11:54
Цитата Сообщение от OldFedor Посмотреть сообщение
Пишется на раз. Я не зря указал - передается через формальный параметр условие сравнения.
Прошу показать каким образом
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
14.03.2013, 12:39
Цитата Сообщение от Igor3D Посмотреть сообщение
Прошу показать каким образом
Цитата Сообщение от OldFedor Посмотреть сообщение
Строго говоря надо написать одну единственную процедуру, в которую
передаются x, y, z и признак как сравнивать (< или>).
Цитирую себя.
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,862
Записей в блоге: 2
14.03.2013, 13:05
Цитата Сообщение от OldFedor Посмотреть сообщение
Строго говоря надо написать одну единственную процедуру, в которую
передаются x, y, z и признак как сравнивать (< или>).
Нельзя запретить написать одну процедуру - но в ней будут 2 части кода с той только разницей что одна для "меньше" и другая для "больше". Кстати и Ваша блок-схема тоже как бы "нарисована дважды" - а ведь это не есть правильно/хорошо.

Общение с начинающими ничего хорошего не приносит - мы просто скатываемся до их уровня. Прошу прощения за "мы" (не знаю как здесь лучше сказать) - и умолкаю
0
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
14.03.2013, 13:14
Цитата Сообщение от Igor3D Посмотреть сообщение
а ведь это не есть правильно/хорошо.
Графически это единственно возможно.

А вообще, Igor3D, мы рассуждаем ни о чем.
Надо блок-схему и все тут.
Думаю дискуссию можно прекратить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2013, 13:14
Помогаю со студенческими работами здесь

Найти среди трех действительных чисел два числа, модуль разности которых имеет наибольшее значение
Доброго времени суток, даны три различных действительных числа. Найти среди них два числа, модуль разности которых имеет: наибольшее...

Найти среди чисел X1,X2 ...Xn два числа, модуль разности которых имеет наименьшее значение
Даны: целое число n, действительные числа X1, X2,X3....Xn. Найти среди чисел X1,X2 ...Xn два числа, модуль разности которых имеет...

Найти среди элементов массива два числа, модуль разности которых имеет наименьшее значение.
Задан одномерный массив. Найти два среди его элементов, модуль разности которых имеет наименьшее значение. Давайте темам осмысленные...

Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет
Дано пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет: 1. наибольшее значение; 2. наименьшее...

Найти два числа, модуль разности которых имеет наименьшее значение
Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет наименьшее значение. Добавлено через 1 час 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru