Хелпикс

Главная

Контакты

Случайная статья





const N =30;. var a: array[1..N] of integer;. i, k, kMax: integer;. if k > kMax then kMax := k;. writeln(kMax);



const N =30;

var a: array[1.. N] of integer;

i, k, kMax: integer;

begin

for i: =1 to N do readln(A[i]); { ввод массива }

k: = 1;                    { обрабатываем A[1] }

kMax: = 1;                    

for i: =2 to N do begin    { а теперь в цикле A[2]... A[N} }

if A[i] = A[i-1] then        { цепочка продолжается }

  k: = k + 1

else k: = 1;             { цепочка закончилась }

if k > kMax then kMax: = k;

end;

writeln(kMax);

end.

 

Возможные проблемы: · как видим, основная сложность в этой задаче – не написать программу, а придумать хороший (часто еще нужно – быстрый) алгоритм · проверьте, что будет записано в переменные до начала цикла (определены ли их начальные значения) · проверяйте, не выйдет ли индекс за границу массива в начале или в конце цикла · будьте внимательны с «крайними» случаями, например, нужно обязательно убедиться, что программа работает, когда интересующая нас цепочка стоит в самом начале или в самом конце массива

Еще пример задания:

Дан целочисленный квадратный массив 10 х 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы максимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке такой элемент единственный.

Решение:

1) суть задачи: среди элементов каждой строки нужно выбрать максимальный, и все эти выбранные значения сложить

2) несложно сразу написать алгоритм на русском языке:
«Чтобы накапливать сумму, нужно ввести целую переменную Sum, в которую в самом начале записываем 0; далее в цикле просматриваем все строки, для каждой строки находим максимальный элемент и прибавляем его значение к Sum. Для определения максимального элемента в строке вводим переменную max и сначала записываем в нее значение первого элемента этой строки. Затем в цикле просматриваем все остальные элементы, начиная со второго до конца массива. Если очередной элемент больше значения max, записываем в max значение этого элемента».

3) сначала напишем программу на псевдокоде:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.