Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
#1

Определить номер k такой, что...

22.11.2009, 15:52. Просмотров 869. Ответов 11
Метки нет (Все метки)

Для последовательности,общий член которой задается формулой
a[k]=cos (k*x) + sin(k*x+1.5) k=1,2,....
определить:
а) среднее отрицательных среди первых n элементов;
б) номер k такой, что k*a[k] ближе всех среди первых n эле-
ментов к какому-нибудь нечетному числу.

Пункт а) я сделал, вроде правильно.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program xz;
uses crt;
const n=10;
var a:array[1..n]of real;
 k,z:byte;
 x,y:real;
begin
 clrscr;
 write('введите x=');
 readln(x);
 y:=0;
 z:=0;
 for k:=1 to n do
  begin
    a[k]:=cos(k*x)+sin(k*x+1.5);
    writeln(k,' ',a[k]:2:2);
    if a[k]<0 then y:=y+a[k];
    if a[k]<0 then z:=z+1;
  end;
 y:=y/z;
 writeln(y);
 readln;
end.
Вот пункт б) не могу сделать. Помогите!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2009, 15:52
Ответы с готовыми решениями:

Определить количество чисел, для которых программа выведет такой же результат, что и для заданного числа
21 задание По какому алгоритму решать подобные задания? Неужели сидеть и все...

Определить номер строчки, что содержит три буквы "о"
1.Дано текстовый файл, разбитый на строчки. Определить номер строчки, что...

Определить номер дня недели N для K-го дня года, если известно, что 1 января был понедельник
Здравствуйте. Не могу никак решить казалось бы очень простую задачку на...

Определить значение максимального элемента матрицы и его координаты (номер строки и номер столбца)
Определить значение максимального элемента матрицы и его координаты (номер...

Определить номер строки и номер столбца матрицы
Определить номер строки и номер столбца матрици Х(5, 6), на пересечении которых...

11
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
22.11.2009, 20:43  [ТС] #2
Пожалуйста хотя бы подскажите, как можно найти из группы чисел, число которое ближе всех к нечётному!
0
Том Ардер
Модератор
Эксперт по математике/физике
3826 / 2438 / 327
Регистрация: 15.06.2009
Сообщений: 4,452
22.11.2009, 21:49 #3
Округлить каждое число в группе. Искать число с минимальной разностью между исходным и округлённым, среди нечётных округлённых

Pascal
1
2
3
4
5
6
7
var r:integer;
f:real;
 
if f > 0 then
  r = f + 0.5;  {8.7 -> 9}
else
  r = f - 0.5;  {-3.1 -> -3}
1
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
22.11.2009, 22:02  [ТС] #4
я вот не могу понять сам процесс округления, записаный в строках 5 и 7(пытался прописать но программа выдаёт ошибку)
0
p@$#@
73 / 72 / 37
Регистрация: 21.11.2009
Сообщений: 258
22.11.2009, 22:29 #5
В помощь тебе оператор Round(x), который округляет числа.
1
Том Ардер
Модератор
Эксперт по математике/физике
3826 / 2438 / 327
Регистрация: 15.06.2009
Сообщений: 4,452
23.11.2009, 00:02 #6
Pascal
1
2
3
4
5
6
7
var r:integer;
f:real;
 
if f > 0 then
  r = Trunc(f + 0.5);  {8.7 -> 9}
else
  r = Trunc(f - 0.5);  {-3.1 -> -3}
У меня сразу не было возможности посмотреть, как Round(x) работает при отрицательном аргументе, поэтому я написал явно, что делать. А для правильного преобразования типа переменной нужно Trunc().
Сейчас проверил - всё можно заменить на

Pascal
1
r = Round(f);
1
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
23.11.2009, 19:18  [ТС] #7
я вроде чуть разобрался с пунктом б), вот что получилось
Pascal
1
2
3
4
5
6
7
8
9
for K:=1 to n do
 begin
  h:=k*a[k];
  r:=round(h);
  if r mod 2<>0 then
  f:=abs(r-h)
  else f:=1-abs(r-h);
  writeln(f:2:2);
 end
но я сделал чтобы программа выводила разность между округлённым нечётным числом, а мне надо вывести номер k числа которое само близко к нечётному числу.
Плиз помогите, кто знает!!!!
0
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
23.11.2009, 21:22  [ТС] #8
Люди, если не тяжело, подскажите хотя бы как из n чисел вывести наименьшее число и его номер?(я вообще в Pascal чайник).
0
Том Ардер
Модератор
Эксперт по математике/физике
3826 / 2438 / 327
Регистрация: 15.06.2009
Сообщений: 4,452
23.11.2009, 22:50 #9
Я слегка дополнил твой текст

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var fmin:real;  {минимальная разность между числом и ближайшим целым}
  kmin:integer; {индекс числа}
 
fmin := 1;
kmin := 0;
 
for K:=1 to n do
 begin
  h:=k*a[k];
  r:=round(h);
  if r mod 2<>0 then
  f:=abs(r-h)
  else f:=1-abs(r-h);
  if f < fmin then begin
    fmin := f;
    kmin := k;
  end;
  if kmin <> 0 then
    writeln(kmin, " ", a[kmin]:10:3, " ", f:10:3);
  else
    writeln("error");
 end
1
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
23.11.2009, 23:28  [ТС] #10
Я не понимаю смысл условия в 15 строке, f так и так будет меньше единицы и получается это условие будет выполнятся всегда. В итоге прогрпмма всегда выводит последние значения.
0
Том Ардер
Модератор
Эксперт по математике/физике
3826 / 2438 / 327
Регистрация: 15.06.2009
Сообщений: 4,452
23.11.2009, 23:42 #11
А в следующей строке fmin получает новое значение < 1, затем, если в цикле какое-то из f окажется ещё меньше, это значение опять-таки сохранится в fmin
0
starm
8 / 8 / 8
Регистрация: 09.11.2009
Сообщений: 44
23.11.2009, 23:49  [ТС] #12
А точно. Но всеравно у меня программа выдаёт последние число, хоть оно не самое маленькое.
0
23.11.2009, 23:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 23:49

Найти порядковый номер того из элементов последовательности, который наиболее близок к заданному целому числу (такой элемент единственный).
Найти порядковый номер того из элементов последовательности, который наиболее...

Кто-нибудь, объясните, что за код такой??? Какая-то двойная рекурсия???
function F(n:Integer):Integer; begin if (n &gt; 2) then F := F(n -...

даны 2 угла треугольника в градусах.определить существует ли такой треугольник
ребят помогите пожалуста с программой даны 2 угла треугольника в...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru