- •Оглавление
- •Введение
- •Решение текстовых (сюжетных) задач
- •Ответ (общее решение)
- •Проверка
- •Мысленный эксперимент
- •Искомые данные
- •Решение
- •Ответ (общее решение)
- •Мысленный эксперимент
- •1.3 Задача
- •1.3.1 Вопросы
- •1.3.2 Решение
- •1.3.3 Область допустимых значений
- •« Физика»
- •Искомые данные
- •1.4.3 Решение
- •1.4.4 Ответ
- •«Програмирование»
- •1.)Программа изменяет порядок элементов в массиве на противоположный.
- •2.)Программа находит наибольший элемент массива.
- •3.)Программа определяет упорядочен массив или нет.
- •5.)Программа определяет максимальное количество следующих друг за другом одинаковых элементов.
1.)Программа изменяет порядок элементов в массиве на противоположный.
type
mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений
var dl,i,a:integer; //переменные dl- длинна массива, i- счётчик, a- переменная //для хранения числа, перед записью его в массив
m:mas; //массив для хранения введённых чисел, и их обработки
Begin
dl:=1; //присваиваем длине массива 1, для занесения 1-го значения на 1-е //место в массиве
repeat //для ввода неизвестного числа значений используем цикл
read(a); //программа читает значения с клавиатуры для дальнейшего
//его занесения в массив
If a>0 Then //чтобы в массив не попал 0, или отрицательное число, //сравниваем введённое значение
Begin
m[dl]:=a; //если значение >0, то заносим значение на //соответствующее место
inc(dl); //увеличиваем длину на 1, чтобы вставить следующее //значение
end;
until a=0; //выход из цикла, когда введён 0
dl:=dl-1; //т.к. когда мы ввели 0, счётчик уже увеличился, уменьшаем //длину массива
for i:=1 to dl div 2 do //цикл для перемещения значений местами, от 1 до //половины длинны массива, т.к. цикл перемещения требует повторений в 2 //раза меньше длинны
begin
a:=m[i]; //сохраняем число
m[i]:=m[dl-i+1]; //на место начального элемента ставим //конечный
m[dl-i+1]:=a; //возвращаем значение начального элементо на //место конечного
end;
end.
2.)Программа находит наибольший элемент массива.
type
mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений
var dl,i,a,max:integer; //переменные dl- длинна массива, i- счётчик, a- //переменная для хранения числа, перед записью его в массив, max- //переменная для запоминания максимума в массиве
m:mas; //массив для хранения введённых чисел, и их обработки
Begin
dl:=1; //присваиваем длине массива 1, для занесения 1-го значения на 1-е //место в массиве
repeat //для ввода неизвестного числа значений используем цикл
read(a); //программа читает значения с клавиатуры для дальнейшего
//его занесения в массив
If a>0 Then //чтобы в массив не попал 0, или отрицательное число, //сравниваем введённое значение
Begin
m[dl]:=a; //если значение >0, то заносим значение на //соответствующее место
inc(dl); //увеличиваем длину на 1, чтобы вставить следующее //значение
end;
until a=0; //выход из цикла, когда введён 0
dl:=dl-1; //т.к. когда мы ввели 0, счётчик уже увеличился, уменьшаем //длину массива
for i:=1 to dl do //открываем цикл для перебирания всех значений
If m[i]>max Then max:=m[i]; //находим максимум среди //значений массива
end.