Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


dasha131, обрамляй код тегом [code] [/code] - #
Цитата dasha131:
Код: Выделить весь код
program norma;
var
  n:integer;
  max:real;
  i:integer;
  a: Array [1..10] of real;
begin
  read (n); // я бы поставил readln это позволит безболезненно использовать Ентер как завершение ввода переменной
// Так же обрати внимание, что теоретически n может быть больше 10, и в заданный массив это не влезет. Верней влезет, //но будет произведена запись в неположенную ячейку памяти и повредить другую переменную. 
//Проще сказать - это плохо.  
Ты можешь оставить как есть, ограничив диапазон вводимой переменной n
  for i:=1 to n do
  begin
    read (a[i]);
  end;
// я бы тебе на самом деле предложил бы объединить эти два цикла. И в процессе ввода массива отслеживать число по максимальному модулю. 
// Ведь у тебя в обеих случаях используется цикл for i= 1 to x
 
  begin // эта операторная скобка лишняя
     for i:=1 to n do
     begin
// А вот тут у тебя может возникнуть ошибка, причем серьезная. 
//Переменная max у тебя на момент начала выполнения цикла может содержать все что угодно. 
//Тебе необходимо ее инициализировать, т.е. присвоить ей некое начальное значение. 
//Обрати внимание, что ты работаешь с модулем числа. Это подскажет тебе выбор правильного значения :)   
       if (ABS(a[i])>max) then max:=a[i];
     end;
   write(max:4:2);
   end; // хвост от лишней операторной скобки
end.
»
Хорошо. Осталось тебе переписать код на цикл while, для обеспечения работы с бесконечным вектором.
Отказаться от явного задания n. Прокомментировать код.

Операторная скобка позволяет несколько операторов интерпретировать как один. Это необходимо в ряде конструкций, где предусмотрено выполнение оного оператора, а необходимо выполнить несколько. Например конструкция условия, цикла while.

Цитата dasha131:
a: Array [1..10] of real;
незнала как обозначить в блоке описания переменных элемент "а", потом нашла в примерах такое её обозначение, звучит как "Переменная а - массив действительных чисел из 10 элементов" а что это означает? что бы поменялось если я поставила там другие значения? »
Обращаясь к переменной a ты обращаешься к массиву чисел. Т.к. ты указала тип real - это вещественные числа. Т.е. положительные, отрицательные, дробные. Т.е. все числа на числовой прямой, исключая мнимые (те, что с i)

Числа внутри скобок обозначают начальное и конечное значение индекса элемента (в последний момент я засомневался, но вроде так, другого тут быть не может)
Так же ты можешь задать двух, трех и так далее мерный массив. ЕМНИП они перечисляются через запятую [a1..a2, b1..b2, и т.д.]
Можно задать массив массивов, массив объектов и т.п.
Ну это чуть позже вы все пройдете и не в этом посте мне обо всем рассказывать

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:49, 23-09-2010 | #11