Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на языке Pascal


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Орловский Дмитрий
Статус: Академик
Рейтинг: 4531
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2636
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2318
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Pascal (Паскаль)

Номер выпуска:1172
Дата выхода:27.04.2011, 02:00
Администратор рассылки:Boriss (Академик)
Подписчиков / экспертов:177 / 173
Вопросов / ответов:1 / 1

Вопрос № 182905: Помогите пожалуйста с задачей

© Цитата:

Вопрос № 182905:

Помогите пожалуйста с задачей

© Цитата:

Отправлен: 22.04.2011, 01:40
Вопрос задал: Андрей (2-й класс)
Всего ответов: 1
Страница вопроса »


Отвечает Andrew Kovalchuk (Профессионал) :
Здравствуйте, Андрей!
Ниже представлен вариант решения. Проверено в TP7.0.
PS: в формуле для второй строки есть непонятный символ - обратите внимание на примечание в коде для нее.
Код:
{
Составить программу преобразования двумерных массивов.
Получить вещественную матрицу А(7, 7), первая строка которой задается формулой
а[1, j] = 2*j + 3 (j = 1,...,7)
вторая строка задается формулой
а[2, j] = i - (3 / (2 + 1/j)) (j = 1,...,7)
а каждая следующая строка есть сумма двух предыдущих.
Определить в четных столбцах матрицы А число элементов, не принадлежащих интервалу
(5, 10), а в седьмой строке определить произведение отрицательных элементов.
}
uses
crt;
const
Maxi = 7;
var
A: Array[1..Maxi, 1..Maxi] of real;
count, i, j: byte;
p: real;
begin
clrscr;
for j:=1 to Maxi do begin {first line}
A[1, j] := 2*j + 3;
write(A[1, j]:8:3);
end;
writeln;
for j:=1 to Maxi do begin {second line}
A[2, j] := 2 - (3 / (2 + 1/j)); {may be replaced by: j - (3 / (2 + 1/j))}
write(A[2, j]:8:3);
end;
writeln;
for i:=3 to Maxi do begin
for j:=1 to Maxi do begin
A[i, j] := A[i-2, j] + A[i-1, j];
write(A[i, j]:8:3);
end;
writeln;
end;

count := 0;
for i:=1 to Maxi do {count of non (5, 10)}
for j:=1 to (Maxi div 2) do
if ((A[i, 2*j] <= 5) or (A[i, 2*j] >= 10)) then
inc (count);

p := 1;
for j:=1 to Maxi do
if (A[Maxi, j] < 0) then
p := p * A[Maxi, j];

writeln('Result:');
writeln(' count = ', count);
if (p = 1) then
writeln(' Not found ne gative elements.')
else
writeln(' p = ', p);
writeln('Done. Press any key...');
readkey;
end.

-----
Временная неудача лучше временной удачи

Ответ отправил: Andrew Kovalchuk (Профессионал)
Ответ отправлен: 22.04.2011, 03:06
Номер ответа: 266787
Украина, Киев

Оценка ответа: 5

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 266787 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное