• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Прошу помочь с Pascal

Tusha-kutusha

Ученик
Регистрация
5 Июн 2010
Сообщения
5
Реакции
0
Баллы
0
Прошу помочь с Pascal

Решите пожалуйста две задачи по Pascal не понимаю я как их делать весь инет обшарил ни чиго подобного не нашел препод помогать не хочет
1)Дан массив A(N) (N— четное). Сформировать массив B(M), элементами которого являются средние арифметические соседних пар рядом стоящих в массиве А чисел. (Например, массив А состоит из элементов 1; 3; 5; -2; 0; 4; 0; 3. Элементами массива В будут 2; 1,5; 2; 1,5).
2)Ввести N чисел, проверить, являются ли введенные числа перестановкой {1,2,3,4,.....,2*n-1}.
Заранее спасибо
 
Решите пожалуйста две задачи по Pascal не понимаю я как их делать весь инет обшарил ни чиго подобного не нашел препод помогать не хочет
1)Дан массив A(N) (N— четное). Сформировать массив B(M), элементами которого являются средние арифметические соседних пар рядом стоящих в массиве А чисел. (Например, массив А состоит из элементов 1; 3; 5; -2; 0; 4; 0; 3. Элементами массива В будут 2; 1,5; 2; 1,5).
Код:
CONST
 N=5;
VAR
 A:ARRAY[1..2*N] of REAL;
 B:ARRAY[1..N] of REAL;
 i:INTEGER;
BEGIN
 For i:=1 to 2*N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 WriteLn;

 For i:=1 to N do
  B[i]:=(A[2*i-1]+A[2*i])/2;

 For i:=1 to 2*N do
  Write(A[i]:6:2);
 WriteLn;

 Write(B[1]:9:2);
 For i:=2 to N do
  Write(B[i]:12:2);
 WriteLn;

 ReadLn;
END.
Естественно, константу N (в программе N - это половина длины исходного массива) можно заменить. Как и формат вывода.
 
2)Ввести N чисел, проверить, являются ли введенные числа перестановкой {1,2,3,4,.....,2*n-1}.
Заранее спасибо
Сформулируйте условия задачи так, чтобы было понятно. Пока я не понимаю следующего:

1. n и N - это одно и то же число? Тогда количество введенных чисел отличается от количества чисел в последовательности. И что, предполагается выборка из последовательности? Или N = 2*n-1 ?
2. В чем смысл условия нечетности количества членов последовательности? В предыдущей задаче наложение условия четности понятно и оправдано, а здесь?

В общем, сформулируйте задачу как следует. Сразу скажу, что отговорки типа "А мне так дали!" НЕ ПРИНИМАЮТСЯ.
 
Сформулируйте условия задачи так, чтобы было понятно. Пока я не понимаю следующего:

1. n и N - это одно и то же число? Тогда количество введенных чисел отличается от количества чисел в последовательности. И что, предполагается выборка из последовательности? Или N = 2*n-1 ?
2. В чем смысл условия нечетности количества членов последовательности? В предыдущей задаче наложение условия четности понятно и оправдано, а здесь?

В общем, сформулируйте задачу как следует. Сразу скажу, что отговорки типа "А мне так дали!" НЕ ПРИНИМАЮТСЯ.

Огромное человеческое спасибо за первую задачу.
1.Как я понял N - количество элементов в массиве к примеру 10. 2*n-1 предполагается n число в массиве к примеру n=2 получается 2*2-1=3.
2.Смысл данной задачи ( и не только этой) мне самому непонятен,подходил к преподавателю с просьбой объяснить на пальцах что к чему ответила отказом.Она у нас молодая подозреваю сама не вьезжает в то что преподает а эти задачи остались от другого преподавателя она ими и пользуется.
 
1.Как я понял N - количество элементов в массиве к примеру 10. 2*n-1 предполагается n число в массиве к примеру n=2 получается 2*2-1=3.
В таком случае вместо n лучше использовать i.
2.Смысл данной задачи ( и не только этой) мне самому непонятен,подходил к преподавателю с просьбой объяснить на пальцах что к чему ответила отказом.Она у нас молодая подозреваю сама не вьезжает в то что преподает а эти задачи остались от другого преподавателя она ими и пользуется.
И как же она собирается проверять работоспособность задачи и правильность выдаваемых результатов?

Как я понимаю,данная формула описывает последовательность нечетных чисел. Но откуда тогда в примере 2, 4?
 
Последнее редактирование:
В таком случае вместо n лучше использовать i.И как же она собирается проверять работоспособность задачи и правильность выдаваемых результатов?

Как я понимаю,данная формула описывает последовательность нечетных чисел. Но откуда тогда в примере 2, 4?

Вот так вот и крутимся вертимся,через знакомых кто то обьесняет,некоторые решения находим в интернете.Если в задаче нет ошибок хотя бы запускается тогда тогда принимает а правильно или нет Я уже не знаю как она выясняет.

В таком случае вместо n лучше использовать i.
Как я понимаю,данная формула описывает последовательность нечетных чисел. Но откуда тогда в примере 2, 4?
Мне ни чиго не обьяснили дали и все крутись как хочешь но реши.Вы в этом понимаете куда больше меня полагаюсь на вас.
 
2.Смысл данной задачи ( и не только этой) мне самому непонятен
Значит так. Всё, чем могу помочь - это выдать программу решения задачи, как я ее (задачу) понимаю. А понимаю я ее так: Ввести N чисел. Проверить, является ли введенный массив перестановкой членов натурального ряда от 1 до N. Если это не то, ну что же - выясняйте, будем разбираться.
Задачу я решал так.
1. Вводится массив.
2. Проверяется, нет ли среди членов массива чисел, меньших 1 или бОльших N. Если есть - ответ отрицательный.
3. Проверяется, нет ли среди членов массива равных чисел. Если есть - ответ отрицательный.
4. При невыполнении условий п. 2 и 3 ответ положительный.
Код:
CONST
 N=10;
VAR
 A:ARRAY[1..N] of BYTE;
 i,j:INTEGER;
 b:Boolean;
BEGIN
 For i:=1 to N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 WriteLn;

 b:=true;
 For i:=1 to N do
  If (A[i]<=0) or (A[i]>N) then b:=false;

 If b then
  begin
   For i:=1 to N-1 do
    For j:=i+1 to N do
     If A[i]=A[j] then b:=false;
  end;

 If b then
  WriteLn('The array is a permutation')
 else
  WriteLn('The array is not a permutation');

 ReadLn;
END.
 
Значит так. Всё, чем могу помочь - это выдать программу решения задачи, как я ее (задачу) понимаю. А понимаю я ее так: Ввести N чисел. Проверить, является ли введенный массив перестановкой членов натурального ряда от 1 до N. Если это не то, ну что же - выясняйте, будем разбираться.
Задачу я решал так.
1. Вводится массив.
2. Проверяется, нет ли среди членов массива чисел, меньших 1 или бОльших N. Если есть - ответ отрицательный.
3. Проверяется, нет ли среди членов массива равных чисел. Если есть - ответ отрицательный.
4. При невыполнении условий п. 2 и 3 ответ положительный.
Код:
CONST
 N=10;
VAR
 A:ARRAY[1..N] of BYTE;
 i,j:INTEGER;
 b:Boolean;
BEGIN
 For i:=1 to N do
  begin
   Write('A[',i:2,']= ');
   ReadLn(A[i]);
  end;
 WriteLn;

 b:=true;
 For i:=1 to N do
  If (A[i]<=0) or (A[i]>N) then b:=false;

 If b then
  begin
   For i:=1 to N-1 do
    For j:=i+1 to N do
     If A[i]=A[j] then b:=false;
  end;

 If b then
  WriteLn('The array is a permutation')
 else
  WriteLn('The array is not a permutation');

 ReadLn;
END.

Да превратится один день вашей жизни в тысячу О Vladimir_S.
Благодарю за помощь.
 
Если в задаче нет ошибок хотя бы запускается тогда тогда принимает а правильно или нет Я уже не знаю как она выясняет.
на слове "принимает" можно остановиться. В таком случае ей можно сдавать любой бред, похожий на решение задачи. И чему она вас научит, спрашивается??
Да, с изучением программирования в нашей стране ситуации одна другой интереснее..
 
на слове "принимает" можно остановиться. В таком случае ей можно сдавать любой бред, похожий на решение задачи. И чему она вас научит, спрашивается??
Да, с изучением программирования в нашей стране ситуации одна другой интереснее..

Ей как и всем преподам главное отработать свои часы и свалить побыстрее,на качество образования как то им до одного места.Что им дало министерство образования то они нам втирают.много непонятного с системой образования почему АС изучаем бурение?делаем всякие расчеты,выбираем долота,турбобуры,насосы и прочию простите хрень,а у бурильщиков на втором курсе таких предметов и помимо нет у них это только появится на третьем курсе.На первом курсе рассчитывали сколько потомство принесет самка полевки,на втором долота боюсь представить что будет на третьем и четвертом если еще до живу не попа в психушку...
 
Назад
Сверху