Помощь - Поиск - Пользователи - Календарь
Полная версия: Массив и Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ander
Мне дали решить две задачи. До понедельника я всю голову сломал. В школе Паскаля не было теперь мучаюсь. Помогите мне пожалуйста и я за вас вечно молиться буду.
Вот первая.
Пусть a(i)=(i-1)/(i+1) + sin((i-1)^3/(i+1))
i= 1,2....
Дано натуральное n. Среди a1..an найти все положительные числа, среди всех положительных a1..an выбрать наименьшее число.
Эту задачу нужно сделать 3 способами. С помощью for, while и repeat.
Вторая.
Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков набранных в игре: 2 - выигрыш, 1 - ничья, 0 - проиграли). Найти число команд имеющих больше побед, чем поражений.
Её тоже с помощью for, repeat и while.
Я знаю тут есть много умных людей. Заранее спасибо!!!.
volvo
Вот тебе первая задача (через For):
var
  i, n: integer;
  next, min: real;

begin
  write('n = '); readln(n);

  min := maxint;
  for i := 1 to n do begin

    next := (i-1)/(i+1) + sin(sqr(i - 1)*(i - 1)/(i+1));
    if next > 0 then
      if min > next then min := next;

  end;
  writeln('min number = ', min:10:5);
end.

На Repeat и While переводи сам. Правило такое:
FOR:
Цитата
for {переменная} := {начало} to {конец} do begin
  {тело цикла}
end;

WHILE:
Цитата
{переменная} := {начало};
while {переменная} <= {конец} do begin
  {тело цикла}
  {переменная} := {переменная} + 1;
end;

REPEAT:
Цитата
{переменная} := {начало};
repeat
  {тело цикла}
  {переменная} := {переменная} + 1;
until {переменная} > {конец};
Ander
Блин, спасибо за первую.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.