EkaterinaSEMENOV702
?>

Почему важно правильно определить тип данных при составлении программы? свой пример.

Информатика

Ответы

socofilesrus4
1) Чтобы не было переполнения.
s=a+b;
Если s будет объявлена как integer, а a и b - как long integer (и значения a и b будут превышать диапазон integer), то ячейка s переполнится и s будет равно не пойми чему.

2) Для корректной работы
s=a+b;
s - integer; a,b - double - некорректно.

3) Чтобы не было неиспользуемой памяти.
Если i изменяется от 1 до 10, а для переменной объявлен тип double, то при выполнении программы будут "висеть" незаполненные ячейки памяти, выделенные под этот тип.
Sergei1805
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
Olesya
// PascalABC.Net 3.0, версия 1066
const
  mm=50;
  nn=50;
var
  n,m,i,j,k1,k2,p:integer;
  s1,s2,s3:longint;
  a:array[1..mm,1..nn] of integer;
begin
  Write('Число строк и столбцов массива: '); Read(m,n);
  Write('Значение p: '); Read(p);
  Writeln('*** Сгенерированный массив ***');
  Randomize;
  s1:=0; s2:=0; s3:=0; k1:=0; k2:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(101)-50;
      Write(a[i,j]:4);
      if a[i,j]>30 then s1:=s1+a[i,j];
      if Odd(a[i,j]) then Inc(k1)
      else begin s2:=s2+a[i,j]; Inc(k2) end;
      if i+j=p then s3:=s3+a[i,j]
      end;
    Writeln
  end;
  Writeln('Сумма элементов массива, больших 30: ',s1);
  Writeln('Количество нечетных элементов массива: ',k1);
  Writeln('Среднее арифметическое четных элементов массива: ',s2/k2);
  Writeln('Сумма элементов массива c суммой индексов ',p,': ',s3)
end.

Тестовое решение:
Число строк и столбцов массива: 8 10
Значение p: 13
*** Сгенерированный массив ***
 -19 -39 -46  12  41  44 -44  21  11  25
  13 -22   2  36  21 -42  34  15   5  25
  -6  -3 -33 -29  47 -44  33   5  27  23
  14  46  39 -35 -39  -1 -50  49   1  13
  -4 -14  28  40 -34  48   0  -9 -36  12
  -4 -20  35  45 -21  35  44  33  15  34
 -40   2  44  38 -40  18 -11 -14  24 -28
 -42  36 -37  42 -21 -43  19 -22 -45  49
Сумма элементов массива, больших 30: 892
Количество нечетных элементов массива: 40
Среднее арифметическое четных элементов массива: 1.15
Сумма элементов массива c суммой индексов 13: 56

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Почему важно правильно определить тип данных при составлении программы? свой пример.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

timsch12
dentob72
Ольга1520
ekaterinava90
Анастасия Елена
Александрович Василий
Ka-shop2791
chizhenkovd9
horst58
Plotnikovangav
sotrudnik3
Apresov
borisov
gorsimonyan4
Veril8626