- •Оглавление
- •Введение
- •Решение текстовых (сюжетных) задач
- •Ответ (общее решение)
- •Проверка
- •Мысленный эксперимент
- •Искомые данные
- •Решение
- •Ответ (общее решение)
- •Мысленный эксперимент
- •1.3 Задача
- •1.3.1 Вопросы
- •1.3.2 Решение
- •1.3.3 Область допустимых значений
- •« Физика»
- •Искомые данные
- •1.4.3 Решение
- •1.4.4 Ответ
- •«Програмирование»
- •1.)Программа изменяет порядок элементов в массиве на противоположный.
- •2.)Программа находит наибольший элемент массива.
- •3.)Программа определяет упорядочен массив или нет.
- •5.)Программа определяет максимальное количество следующих друг за другом одинаковых элементов.
3.)Программа определяет упорядочен массив или нет.
type
mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений
var dl,i,a:integer; //переменные dl- длинна массива, i- счётчик, a- переменная //для хранения числа, перед записью его в массив
m:mas; //массив для хранения введённых чисел, и их обработки
flag:boolean; //флаг
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, счётчик уже увеличился, уменьшаем //длину массива
flag:=true; //предполагаем что массив упорядочен
for i:=1 to dl do//цикл для перебора всех элементов
If m[i]<m[i+1] Then flag:=false;//если следующий элемент будет //больше, флаг опуститься
If flag Then writeln('Uporadochena po ubivaniu'); //если флаг не опустился, //значит массив упорядочен по убыванию
flag:=true;//опять поднимаем флаг для следующего исследования
for i:=dl downto 2 do //перебираем все элементы от последнего до 2-го
If m[i]<m[i-1] Then flag:=false;//если элемент будет меньше //предыдущего, флаг опуститься
If flag Then writeln('Uporadochena po vozrastaniu'); //если флаг не //опустился, то массив упорядочен по возростанию.
end.
4.)Программа определяет есть ли в массиве одинаковые элементы.\
type
mas=array[1..1000] of integer; //объявляем тип массива для хранения в //нём значений
var dl,i,a,j:integer; //переменные dl- длинна массива, i,j- счётчики, a- //переменная для хранения числа, перед записью его в массив
m:mas; //массив для хранения введённых чисел, и их обработки
flag:boolean; //флаг
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
for j:=i+1 to dl do //открываем цикл для перебора элементов //массива начиная со 2-го
If m[i]=m[j] Then flag:=true;//если есть одинаковые //объекты флаг подниметься
If Flag Then Writeln('Est Odinakovie obekti') Else Writeln('Odinakovih net'); //по соответствующему положению флага программа выведет сообщение
end.