#23 Анализ кода и простая оптимизация. Паскаль
Primary tabs
Анализ/"чтение" уже написанного кем-то кода -- одно из важнейших умений, постоянно используемое в повседневной работе профессиональными программистами.
Задачи
- У вас есть функция:
program my_program; type b = array[1..10] of integer; // объявление типа function filling_array( min, max : integer ) : b; var count, i, j, l, k, number : integer; arr : b; begin count := 0; k := 1; randomize; // вызов процедуры while( count < 10 ) do begin number := random( max - (min + 1) + min ) ; // случайные числa write( number, ' ' ); j := 0; for i := low( arr ) to k do begin if( arr[i] <> number ) then begin j += 1; if( j = k ) then begin count += 1; k += 1; arr[count] := number; end; end else break; end; end; filling_array := arr; // возвращаем значение функции end;
- Что делает эта функция? (добавьте текстовое описание)
- В данной функции есть лишние переменные, перепишите код так, чтобы они не использовались.
-
Есть исходный код:
var s:string; i, n: Integer; a: array[1..8] of char; begin writeln('Vvedite stroku'); readln(s); n := 1; while(n<10) do // 1-8 begin for i:=1 to Length(s) do if (s[i]>='0')and(s[i]<='9') then begin a[n]:=s[i]; inc(n); end; end; for i:=low(a) to high(a) do write(a[i],' '); // выводим массив readln(); end.
Задача:
- Определить, что делает эта программа (добавьте текстовое описание)
- В ней есть лишние конструкции -- перепишите код оптимальным образом
- Log in to post comments
- 3705 reads