Лидеры рейтинга

ID: 405049

vsetin

Студент

2828


ID: 401284

Михаил Александров

Советник

906

Россия, Санкт-Петербург


ID: 226425

Konstantin Shvetski

Модератор

662

Россия, Северодвинск


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

380

Россия, пос. Теплоозёрск, ЕАО


ID: 400669

epimkin

Профессионал

350


ID: 325460

CradleA

Мастер-Эксперт

297

Беларусь, Минск


ID: 137394

Megaloman

Мастер-Эксперт

260

Беларусь, Гомель


8.9.0

20.06.2021

JS: 2.9.2
CSS: 4.5.10
jQuery: 3.6.0
DataForLocalStorage: 2021-06-22 16:46:03-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 159922

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Alexeev Olexander
Дата: 08.02.2009, 13:09 Консультация закрыта
Поступило ответов: 1

1. Даны целые числа а1,...,а25, в1,...,в25. Преобразовать последовательность в1,...,в25 по правилу: если а1<=0, то в1 увеличить в 10 раз, иначе в1 заменить нулем (і=1,...,25).

2. Даны целые числа m, а1,...,а20. Найти три натуральных числа i, j, k, каждое из которых не превосходит 20, такие, что аi+aj+ak=m. Если таких чисел нет, то сообщфть об этом.

3. Дано натуральное число n. Выяснить, сколько положительных элементов содежит матрица [ai]i, j=1,.., n,если aij= sin(i+j/2).

Ответ # 243163 от Абельхарисов Руслан/Marked One
Здравствуйте, Alexeev Olexander!
Код задач с коментариями:
1)
Код
const
  {Длина последовательности}
  N = 25;

var
  {последовательности}
  a, b: array [1..N] of integer;
  i: integer;

begin
  {Заполняем случайными числами от -5 до 4 и выводим на экран обе последовательность}
  randomize;
  Write('Последовательность a: ');
  for i := 1 to N do
    begin
      a[i] := random(10) - 5;
      write(a[i], ' ');
    end;
  WriteLn;
  Write('Последовательность b: ');
  for i := 1 to N do
    begin
      b[i] := random(10) - 5;
      write(b[i], ' ');
    end;
  WriteLn;

  {обрабатываем b}
  for i := 1 to N do
    {если a[i] <= 0, то увеличиваем b[i] в 10 раз, иначе b[i] := 0}
    if a[i] <= 0 then
      b[i] := b[i] * 10
    else
      b[i] := 0;

  {Выводим результат}
  Write('Результат работы: ');
  for i := 1 to N do
    write(b[i], ' ');
  readln;
end.

2)
Код
const
  n = 20;

var
  m, k, i, j: integer;
  a: array [1..N] of integer;

begin
  randomize;
  {Заполняем последовательность случайными числами}
  Write('Числа a1, .., a20: ');
  for i := 1 to N do
    begin
      a[i] := random(20) - 10;
      write(a[i], ' ');
    end;
  WriteLn();

  {Получаем m}
  Write('Введите m: ');
  ReadLn(m);

  {Передираем числа i, j, k}
  for i := 1 to N do
    for j := 1 to N do
      for k := 1 to N do
        {Если условие выполнилось}
        if a[i] + a[j] + a[k] = m then
          begin
            {То выводи числа и выходим из программы}
            Write('i = ', i, ', j = ', j, ', k = ', k);
            Readln;
            exit;
          end;
  {Если дошли сюда, то значит что чисел нет}
  Write('Таких чисел нет!');
  ReadLn;
end.


3)
Код
var
  {i, j-счетчики для For, count - кол-во положительных элементов, n - размерность матрицы}
  i, j, count, n: integer;
  {переменная для хранения значения ячейки матрицы}
  a: real;

begin
  {получаем n}
  Write('Введите n: ');
  ReadLn(n);

  count := 0;

  {Перебирем i, j}
  for i := 1 to n do
    begin
      for j := 1 to n do
        begin
          {Вычислем значения для текущих i, j}
          a := sin(i + j/2);
          {если оно больше 0, то увеличиваем на 1 счетчик}
          if a > 0 then
            inc(count);
          {Выводим текущий элемент матрицы}
          write(a:6:2, ' ');
        end;
      WriteLn;
    end;
  {Выводим ответ}
  WriteLn('Ответ: ', count);
  readln;
end.

Удачи!!!

Абельхарисов Руслан/Marked One

Посетитель
08.02.2009, 14:31
Мини-форум консультации # 159922

Нет сообщений в мини-форуме

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

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

puporev

Профессор

Рейтинг: 132

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 98

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0

lamed

Академик

Рейтинг: 0