|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.11.2014, 20:35 | #1 |
Пользователь
Регистрация: 30.11.2014
Сообщений: 65
|
Найти ближайшее к какому - нибудь целому
Пусть x1 = 0.3; x2 = -0.3; xi = sin(xi-2), i=3,4,...Среди x1,...x100 найти ближайшее к какому - нибудь целому. Объясните, что именно здеь нужно найти. И если можно, то приведите пример. И как с sin считать?? (правильно записана задача 211 здесь http://narhoz-chita.ru/zadachnik/Glava07/index07.htm)
|
30.11.2014, 20:48 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Если так прикинуть то требуется использовать функцию trunc() чтоб вещественное отчекрыжить в целое. Потом получить разницу между ними, и если она минимальная среди остальных разниц остальных чисел, обработанных таким образом - вывести число с такой разницей на экран.
I'm learning to live...
|
|
30.11.2014, 21:08 | #3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
При прочтении задание понял так:
1. Заполнить массив вещественных чисел, используя приведенную формулу и начальные значения. Применить цикл Код:
2. Использовать функцию trunc(), которая отсекает дробную часть числа. 3. Проверить условие, что дробная часть rA-trunc(rA) <=0.5. 4. Если это так, то ближайшее целое trunc(rA), а иначе - trunc(rA) + 1. Поскольку sin() <= 1, то все числа xi = i + sin(xi-2) положительные и специальных мер для операции сравнения применять нет необходимости. Тут - rA - элемент массива. Как-то так, ...
Как-то так, ...
Последний раз редактировалось ViktorR; 30.11.2014 в 21:11. |
30.11.2014, 21:28 | #4 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Я не понял, а зачем Trunc ?
Почему не Round? Здесь этими целыми могут быть -1,0,1 Искать то, у которого величина Abs((Round(x[и])-x[и])) минимальная. Последний раз редактировалось type_Oleg; 30.11.2014 в 21:34. |
30.11.2014, 21:35 | #5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Посмотрите внимательно на формулу для вычисления элемента:
rMas[i] := i + sin(rMas[i-2]); Реальное максимальное целое - 100 или 99. round() - округляет к бли ... Во блин. Написал и подумал. А почему же не round? Да! И искать то ведь ничего не надо. Как-то так, ...
Как-то так, ...
|
30.11.2014, 21:39 | #6 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Ну да .. ТС еще и формулу неправильно скопировала с первоисточника.
Тогда не -1,0,1. Но это не важно. Все равно Round. Исправил. Последний раз редактировалось type_Oleg; 30.11.2014 в 21:44. |
30.11.2014, 21:56 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
30.11.2014, 22:41 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
не знаю, может я и не разобрался в том, что надо,
но я бы искал число, с минимальным значением Код:
|
15.01.2015, 02:00 | #9 |
Пользователь
Регистрация: 30.11.2014
Сообщений: 65
|
Всем спасибо! Вот решенная задача:
program r; var x: array [0..2] of real; n: real; i: integer; begin x[1] := 0.3; x[2] := -0.3; n := x[1]; for i := 3 to 100 do begin x[i mod 3] := sin(x[(i - 2) mod 3]); if (abs(x[i mod 3]) < abs(n)) or (1 - abs(x[i mod 3]) < 1 - abs(n)) then n := x[i mod 3] end; write('n = ', n:0:10); readln end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Prolog.Ближайшее значение в списке | Lisёноk | Помощь студентам | 2 | 28.11.2013 16:36 |
Как изменить программу так, чтобы круг двигался не по прямой, а по какому - нибудь другому закону.Например,по какой-нибудь кривой | kg250493 | C++ Builder | 2 | 24.11.2012 13:44 |
Ближайшее и наименьшее к n из двух чисел | turtles | Общие вопросы по Java, Java SE, Kotlin | 2 | 25.08.2011 16:19 |
Найти в массиве число наиболее близокое к целому числу | Willow | Помощь студентам | 2 | 16.01.2010 13:33 |