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

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

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

> получить таблицу температур, используя подпрограмму-функцию и массивы
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: Ksenia

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


Разроботать алгоритм решения задачи, составить блок-схему и запрограммировать решение на языке Паскаль, используя подпрограмму-функцию и массивы. необходимо получить таблицу температур по цельсию от 0 до 20 градусов с шагом в один градус цельсия и их эквивалентов по шкале Фаренгейта, используя для перевода формулу:
Tf=(9/5)Tc+32.

Пожалуйста, помогите !!!
Мы это в школе давно очень проходили, уже не помню... blink.gif
Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
сообщение
Сообщение #2


Профи
****

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

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


Немного не понятно как должна выглядеть таблица....
Например:
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
Тобиш происходит увеличение на 1 по строке и на 1 по столбцу,а значение каждого элемента как i+j высчитывать,где i текущая строка,j текущий столбец.Это имеется в виду?(Ну понятно что только в больших размерах.Или как то более мудрено?Потому что таким способом в диапозон от 0 до 20 не влезет,если шаг 1 градус.
Либо имелось в виду следующее
1 2 3 4
2 1 2 3
3 2 1 2
4 3 2 1
Как нетрудно заметить все соседние элементы(не считая диагональных направлений) идут с шагом 1 и могут быть уложены в диапазон от 0 до 20.

Сообщение отредактировано: Krjuger -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 2
Пол: Женский
Реальное имя: Ksenia

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


скорее всего здесь проще: наверное нужно вівести таблицу 2х20
просто столбик со значиниями цельсий и рядом со значениями по фаренгейту, как-то так.
спасибо, что помогаете.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

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

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


Цитата(Ksenia @ 7.06.2011 16:26) *

скорее всего здесь проще: наверное нужно вівести таблицу 2х20
просто столбик со значиниями цельсий и рядом со значениями по фаренгейту, как-то так.
спасибо, что помогаете.


Uses Crt;
var a:array[1..5,1..4] of byte;
b:array[1..5,1..4] of real;
number:byte;
i,j:byte;
function Tf(x:byte):real;
begin
TF:=(9/5)*x+32;
end;
Begin ClrScr;
number:=0;
for i:=1 to 5 do
for j:=1 to 4 do
begin
inc(number);
a[i,j]:=number;
b[i,j]:=Tf(number);
end;
for i:=1 to 5 do
for j:=1 to 4 do
begin
write(a[i,j],' / ');
writeln(b[i,j]:3 :2); //ошибка из за тэга
end;
readln;
end.




Сообщение отредактировано: DarkWishmaster -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

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


Цитата(DarkWishmaster @ 7.06.2011 17:16) *
не понимаю что с тэгом

Вот, оно самое: Старинный баг: смайлики в коде ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

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

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


DarkWishmaster,сорь что лезу,но топикстартер говорил про 2 х 20 а ты сделал 5 х 4,хотя согласен меняется это не шипко сложно.

Единственное,что я не понял,почему исходный массив(в цельсиях) у тебя типа байт,а для фаренгейта уже реал?И еще раз извиняюсь,если обижу,но зачем тебе вообще массив а,если тебе он абсолютно не нужен.Вывод на экран можно сделать аналогично тому, как ты заполняеш оба массива,либо как нибудь так

for i:=1 to 5 do
for j:=1 to 4 do
begin
write(20-number);
dec(number);
writeln(b[i,j]:3 :2); //ошибка из за тэга
end;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
***

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

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


Цитата(Krjuger @ 7.06.2011 21:35) *

DarkWishmaster,сорь что лезу,но топикстартер говорил про 2 х 20 а ты сделал 5 х 4,хотя согласен меняется это не шипко сложно.

Единственное,что я не понял,почему исходный массив(в цельсиях) у тебя типа байт,а для фаренгейта уже реал?И еще раз извиняюсь,если обижу,но зачем тебе вообще массив а,если тебе он абсолютно не нужен.Вывод на экран можно сделать аналогично тому, как ты заполняеш оба массива,либо как нибудь так

for i:=1 to 5 do
for j:=1 to 4 do
begin
write(20-number);
dec(number);
writeln(b[i,j]:3 :2); //ошибка из за тэга
end;



Ну Цельсий же шагом в 1, из интервала [1,20] тут тип байт подходит, а фаренгейт он по формуле уже действительное число, так и поставил реал.
Ты прав, тут вообще массив не нужен, я не подумал, прочитал условие и там массив и мысль в другую сторону улетела.
Можно просто так:

for i:=1 to 20 do
begin
write(i,' ');
writeln(TF(i):2 :2);
end;



Сообщение отредактировано: DarkWishmaster -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 26.05.2024 14:15
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name