IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> задачка с массивами
фатальность
сообщение 6.06.2007 17:20
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Пожжжалуйста!!! Помогите! Задачка не сложная, просто я не совсем хорошо разбираюсь.
Пусть в массиве содержатся результаты измерений температуры воздуха, которые проводились ежедневно в течение декабря месяца. Определить:
- сколько дней в декабре температура была выше средней;
- день, когда температуа была ближе всего к средней температуре в декабре;
- минимальную температуру тех дней декабря, которые следуют после последнего из самых теплых дней в этом месяце.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 6.06.2007 21:17
Сообщение #2





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Так никто и не поможет? Ну хоть что думаете, подскажите как определить среднюю температуру?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 6.06.2007 21:38
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
Ну хоть что думаете, подскажите как определить среднюю температуру?

Складываешь все элементы массива и делишь на их количество, то бишь на количество дней))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 6.06.2007 21:47
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 6.06.2007 21:38) *

Складываешь все элементы массива и делишь на их количество, то бишь на количество дней))

и на этом спасибо, только как в паскаль засунуть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 6.06.2007 22:21
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вроде так:
var sr: real;
t: array[1..31] of real;
...
for i:=1 to 31 do
begin
sr:=sr+t[i]/31;
end;
...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 6.06.2007 22:53
Сообщение #6





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Спасибо огромное!!! Попробую. Буду думать. Но если кто поможет в решении указанных задач, буду безмерно благодарна.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 6.06.2007 23:20
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Давай разложим по пунктам:
1. Ты находишь среднюю температуру, как это сделать, ты уже знаешь.
2. Чтобы узнать количество более теплых дней, чем среднее, ты пробегаешь по всему массиву. Если температура больше (t[i]>sr) значит увеличиваешь количество дней (inc(kol), изначально kol:=0).
3. Наиболее близкий по температуре к среднему день я предлагаю искать так: опять идем по массиву, отнимаем от элемента среднее, вычисляем абсолютное значение полученного числа (модуль, стандартная функция abs(razn), razn: real), присваиваем ее min (минимальная разница), а значение i становится номером-nom. Дальше делаем тоже самое, но если модуль новой разницы меньше min, то присваиваем min значение нового модуля (if abs(razn)<min then min:=abs(razn)); nom:=i;). Когда пройдем по всему массиву у нас останется самая маленькая разница и номер такого дня.
4. еще не знаю как сделать wink.gif, если смотреть просто после самого теплого дня, то понятно, но это не совсем по заданию.
В общем, вот мои мысли по решению этой задачи, немного путанно, но попробуй, думаю у тебя получится smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 6.06.2007 23:33
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


4. В процессе поиска среднего параллельно ищем максимум. Запоминаем его.
Потом идем с конца массива, пока не найдем первый самый теплый день. Запоминаем индекс.
Теперь идем от этого индекса до конца и ищем минимум


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 7.06.2007 8:12
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


А последний самый теплый день, это же будет максимум или последний день теплее среднего? я все никак не пойму wink.gif

Сообщение отредактировано: Айра - 7.06.2007 9:51
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 7.06.2007 13:10
Сообщение #10





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 7.06.2007 8:12) *

А последний самый теплый день, это же будет максимум или последний день теплее среднего? я все никак не пойму wink.gif

Я понимаю что надо найти самый теплый день, а потом из последующих 3-5 дней найти минимальную температуру. Может я заблуждаюсь...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.06.2007 13:25
Сообщение #11


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


я так понимаю, что последний день с температурой равной максимуму.
ну как-то так:
1 7 1 8 13 19 3 19 2 1 7 19 3 4 2


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 7.06.2007 13:39
Сообщение #12


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
я так понимаю, что последний день с температурой равной максимуму.

Или немного меньшей чем максимум, например на 1-2 градуса:
1 7 1 8 13 19 3 19 2 18 1 7 3 4 2
Но так мороки больше... наверно, твой вариант правильнее.
фатальность, а нельзя ли это как-то уточнить у того, кто дал задание?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 7.06.2007 13:45
Сообщение #13





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Задание из книги. С афтором думаю сложно будет связаться)) А препод молчит как партизан.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.06.2007 13:57
Сообщение #14


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата
- минимальную температуру тех дней декабря, которые следуют после последнего из самых теплых дней в этом месяце.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 7.06.2007 14:23
Сообщение #15





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


А можно еще вопрос? Вот мне необходимо найти минимальную температуру второй декады декабря. Минимальную температуру нашла без проблем, а как указать что второй декады?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 7.06.2007 16:04
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Ну декада, насколько я помню, это 10 суток. Сколько дней в декабре нам известно, значит цикл поиска минимума, наверно, должен быть таким: for i:=11 to 20 do.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
фатальность
сообщение 7.06.2007 16:41
Сообщение #17





Группа: Пользователи
Сообщений: 9
Пол: Женский

Репутация: -  0  +


Цитата(Айра @ 7.06.2007 16:04) *

Ну декада, насколько я помню, это 10 суток. Сколько дней в декабре нам известно, значит цикл поиска минимума, наверно, должен быть таким: for i:=11 to 20 do.

точно, спасибо!!!
Вот только у меня ничего не получается с последним заданием(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 7.06.2007 17:32
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Вот программка, которая это делает:
uses wincrt;
var t: array[1..31] of real;
max,min: real;
i,j: integer;
begin
randomize;
max:=0;
min:=1000;
for i:=1 to 31 do
begin
t[i]:=(random(21))/2;
write('',t[i]:6:2,' ');
if t[i]>=max then
begin
max:=t[i];
j:=i;
end;
end;
writeln;
for i:=j to 31 do
if t[i]<min then min:=t[i];
writeln('минимальная температура после самого теплого дня равна: ',min:6:2,'');
end.

Что непонятно, спрашивай, объясню smile.gif

Сообщение отредактировано: Айра - 7.06.2007 17:38
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Артемий
сообщение 7.06.2007 17:39
Сообщение #19


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Айра,массив сделай real.


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Айра
сообщение 7.06.2007 17:47
Сообщение #20


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Цитата
массив сделай real.

Он real, я сразу сама исправила, ты не заметил smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 12.08.2025 7:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"