Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2013, 19:40   #1
Zaraaa
Пользователь
 
Регистрация: 19.04.2013
Сообщений: 83
Печаль Задания с массивами

Как будет выполняться цикл, если выражение, записанное в операторе WHILE, окажется ложным с самого начала?
2. Почему необходимо изменение в теле цикла значения хотя бы одного операнда, входящего в выражение в операторе WHILE?
3. Сколько раз будет выполняться цикл в следующем примере?
B:=2; while B<5 do begin … B:=B+1; … end;
3.Имеются описания массивов:
3. Type Wektor=array[1..30] of real;
Var A: array[1..25] of char; B:Wektor;
C:array[-100..100] of integer;
Для каждого из массивов A, B, C указать:
• сколько в нем элементов;
• какие значения могут принимать его элементы;
• как указать его первый и последний элементы.
4. Для решения каких, из следующих, задач нужны массивы, а в каких можно обойтись и без них?
• В память ПК последовательно вводятся 50 чисел. Найти их среднее арифметическое.
• В память ПК последовательно вводятся 50 чисел. Определить, сколько среди них отличных от последнего.
• В память ПК последовательно вводятся 50 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
5. Каким образом располагаются в памяти ПК элементы двумерного массива (матрицы) - по строкам или по столбцам?
6. Можно ли во вложенных циклах FOR использовать одну и ту же переменную в качестве параметра нескольких циклов?
7. Может ли тело одного цикла частично содержаться в теле другого?
8. Допускается ли передача управления из тела внутреннего цикла в тело внешнего по отношению к нему цикла и наоборот?

помогите решить и объясните пжл((
Zaraaa вне форума Ответить с цитированием
Старый 01.10.2013, 20:20   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
помогите пжл решить и объясните, не понимаю(((
ленивое поколение....
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.10.2013, 20:40   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Да поздно уже вам что-то объяснять)) На пары ходить надо.
Человек_Борща вне форума Ответить с цитированием
Старый 01.10.2013, 20:52   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Как будет выполняться цикл, если выражение, записанное в операторе WHILE, окажется ложным с самого начала?
Он не будет выполняться вообще.
Цитата:
2. Почему необходимо изменение в теле цикла значения хотя бы одного операнда, входящего в выражение в операторе WHILE?
Иначе цикл зациклится
Цитата:
4. Для решения каких, из следующих, задач нужны массивы, а в каких можно обойтись и без них?
Цитата:
В память ПК последовательно вводятся 50 чисел. Найти их среднее арифметическое.
Можно обойтись без массива
Цитата:
• В память ПК последовательно вводятся 50 чисел. Определить, сколько среди них отличных от последнего.
• В память ПК последовательно вводятся 50 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
Нужны массивы
Цитата:
5. Каким образом располагаются в памяти ПК элементы двумерного массива (матрицы) - по строкам или по столбцам?
Хм... думаю, что ни так и не так. ИМХО, в программировании нет такого понятия, как матрица. Есть двумерные массивы, которые люди называют матрицами
Цитата:
6. Можно ли во вложенных циклах FOR использовать одну и ту же переменную в качестве параметра нескольких циклов?
Нет. Параметр цикла for должен изменяться только тем циклом, которому он (параметр) принадлежит, а изменять параметры цикла FOR внутри них нехорошо.
Цитата:
7. Может ли тело одного цикла частично содержаться в теле другого?
Что значит "частично"?
Цитата:
8. Допускается ли передача управления из тела внутреннего цикла в тело внешнего по отношению к нему цикла и наоборот?
Я считаю, что допускается только из внутреннего во внешний (оператор break и иногда continue, если эта итерация - последняя, но в этом случае работать будет как break)

Цитата:
3. Сколько раз будет выполняться цикл в следующем примере?
B:=2; while B<5 do begin … B:=B+1; … end;
Три раза, если с переменной B больше ничего не происходит

Последний раз редактировалось Вадим Мошев; 01.10.2013 в 20:58.
Вадим Мошев вне форума Ответить с цитированием
Старый 01.10.2013, 20:59   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Для решения каких, из следующих, задач нужны массивы, а в каких можно обойтись и без них?
• В память ПК последовательно вводятся 50 чисел. Найти их среднее арифметическое.
• В память ПК последовательно вводятся 50 чисел. Определить, сколько среди них отличных от последнего.
• В память ПК последовательно вводятся 50 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
Вопрос не очень корректен.. Я могу использовать не массив, а переменные а1, а2, a3, .., a49, a50.
Цитата:
5. Каким образом располагаются в памяти ПК элементы двумерного массива (матрицы) - по строкам или по столбцам?
По строкам..
Цитата:
Допускается ли передача управления из тела внутреннего цикла в тело внешнего по отношению к нему цикла и наоборот?
Да..(наверное)..
Код:
for i := 1 to 10 do
   for j := 1 to i do
+ Прув Вадима

В остальном полностью согласен с Вадимом
Poma][a вне форума Ответить с цитированием
Старый 01.10.2013, 21:02   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попыток решить, я так понимаю, нет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2013, 21:13   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Цитата:
4. Для решения каких, из следующих, задач нужны массивы, а в каких можно обойтись и без них?
Цитата:
Сообщение от Poma][a
Я могу использовать не массив, а переменные а1, а2, a3, .., a49, a50.
А еще можно поизвращаться и рекурсию использовать:
В память ПК последовательно вводятся 50 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
Код:
procedure recur(i: integer);
var
  a: integer;
begin
  if i = 0 then
    exit;
  read(a);
  if a < 0 then
  begin
    write(a, ' ');
    recur(i - 1);
  end
  else
  begin
    recur(i - 1);
    write(a, ' ');
  end;
end;

begin
  recur(50);
end.
В память ПК последовательно вводятся 50 чисел. Определить, сколько среди них отличных от последнего.
Код:
function recur(i: integer; var count: integer): integer;
var
  a, b: integer;
begin
  if i = 1 then
  begin
    read(a);
    recur := a;
    exit;
  end;
  read(a);
  b := recur(i - 1, count);
  if a <> b then
    inc(count);
  recur := b;
end;

var
  count: integer;

begin
  count := 0;
  recur(5, count);
  write(count);
end.
Ну и что, что памяти больше, зато без массивов
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 01.10.2013 в 21:19.
BDA вне форума Ответить с цитированием
Старый 01.10.2013, 21:16   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

BDA, тыц 10 букв
Poma][a вне форума Ответить с цитированием
Старый 01.10.2013, 21:22   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Я могу использовать не массив, а переменные а1, а2, a3, .., a49, a50.
Здесь, скорей всего, говорится о целесообразности.
Если твоим способом решить такую задачу
Цитата:
• В память ПК последовательно вводятся 50 чисел. Напечатать сначала все отрицательные из них, а затем все остальные.
то получится жуткое извращение строк на 100...
Вадим Мошев вне форума Ответить с цитированием
Старый 01.10.2013, 21:22   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Poma][a, ну да, перевернуло всю последовательность, так и должно быть. Нигде же нет явного требования сохранить порядок элементов.
Вадим Мошев, раз так много строк, то сгенерируем их автоматически.
Код:
const
  L: integer = 50;
  st: array[1..2] of string = ('<', '>=');
var
  i, j: integer;
begin
  writeln('var');
  write('  ');
  for i := 1 to L - 1 do
    write('a', i, ', ');
  writeln('a', L, ': integer');
  writeln('begin');
  for i := 1 to L do
    writeln('  read(a', i, ');');
  for j := 1 to 2 do
    for i := 1 to L do
    begin
      writeln('  if a', i, ' ', st[j], ' 0 then');
      writeln('    write(a', i, ', ', chr(39), ' ', chr(39), ');');
    end;
  writeln('end.');
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 01.10.2013 в 21:32.
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 задания, С++ Fanyuus Фриланс 4 04.06.2013 13:22
2 задания по С++ maiklaus Фриланс 4 14.12.2012 17:48
Задания по С# yo-zuri Помощь студентам 0 29.10.2012 01:24
задания divwond Свободное общение 4 23.05.2011 10:29
Pascal и задания с массивами rump Помощь студентам 11 24.05.2009 11:51