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

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

06.03.2013, 12:24. Показов 5676. Ответов 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
1972 / 828 / 115
Регистрация: 01.10.2012
Сообщений: 4,991
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru