- •1. Свойства и этапы построения алгоритма.
- •2.Постановка задачи. Разработка модели. Построение алгоритма.
- •3. Величины в алгоритмах.
- •4.Способы записи алгоритмов
- •5. Структуры алгоритмов.
- •Оператор цикла Паскаля с параметром
- •Оператор цикла Паскаля с постусловием
- •Оператор цикла Паскаля с предусловием
- •6. Исполнение (тестирование) алгоритма.
- •7. Переменные с индексами. Массивы. Таблицы.
- •8. Примеры алгоритмов линейных и с разветвлением.
- •9. Пример циклического алгоритма вычисления суммы десяти чисел.
- •10. Поиск минимального и максимального элемента последовательности.
- •11. Поиск номера элемента последовательности с заданным значением.
- •12. Сортировка. Простой выбор.
- •13. Редактирование текста программы. Копирование, вставка и удаление.
- •15. Завершение работы выхода из программы. Возобновление сеанса отладки.
- •16 Отладка в среде языка программирования. Классификация ошибок.
- •17. Программа в Object Pascal
- •18. Операторы
- •19. Выражения – синтаксис выражений.
- •25. Типы, переменные, константы и типизированные константы.
- •22.Строки программы и комментарии к программе
- •23. Типы величин. Простые типы
- •21. Числа
- •20. Специальные символы и их назначение
- •25. Тип Массив
- •21. Метки
- •26.Переменные и константы. Раздел описания данных констант.
- •21. Идентификаторы
- •24. Строковый тип
- •27. Массивы, строки и индексы
- •24.Вещественный тип
- •29. Совместимость по присваиванию
- •28. Арифметические операции
- •29. Оператор присваивания.
- •30. Составные операторы.
- •31. Условный и безусловный операторы.
- •32. Оператор цикла с постусловием(repeat).
- •34. Оператор цикла с параметром for
- •33. Оператор цикла с предусловием while
- •35. Стандартные процедуры и функции.
- •36. Стандартные арифметические функции.
- •37.Среда Delphi. Компиляция и выполнение готовых программ
- •38.Среда Delphi. Формат меню. Настройка меню Delphi
- •39.Среда Delphi. Визуальные компоненты для редактирования
- •40. Среда Delphi. Конструирование формы – реализация диалога
- •41.Особенности объектно-ориентированного программирования
- •44.Компоненты редактирования в Delphi – текстовые окна, поля, метки
- •42.Визуальные и невизуальные компоненты Deplhi
- •43.Delphi. Основные свойства. События. Методы
- •45.Конструирование форм в Delphi
- •47.Создание меню в Delphi
- •48.Параметры проекта
- •51.Ввод и редактирование информации
11. Поиск номера элемента последовательности с заданным значением.
По условию поиска для некоторой исходной последовательности необходимо определить номер элемента, значение которого равно значению заданной переменной Р. В нашем случае поиск повторяется до тех пор, пока не будет найден нужный элемент последовательности, равный некоторому эталону Р. Если элемент будет найден, то индекс найденного элемента будет минимально возможным. Но в заданной последовательности может не оказаться элемента со значением. Если предполагается, что в исходной последовательности может быть только один элемент, равный эталону, то, после того как этот элемент найден, поиск можно закончить. Если таких элементов, равных эталону Р, будет несколько, то можно задать дополнительное условие, какой по порядку найденных необходим.( задается доп переменная)
Основной алгоритм поиска будет следующим: 1. Сравнить очередной элемент 2. Перейти к следующему элементу 3. Если не все элементы просмотрены, повторить, начиная с п.1.
Алгоритм должен однозначно реагировать на ситуацию, если искомого значения в последовательности нет. Для этой цели введем в алгоритм переменную k, начальное значение которой равно 0. Результат k>0 – номер найденного элемента. Если элемент со значением P не найден, то результат k остается нулевым.
var a:array[1..10]of integer;
i,n,k:integer;
begin
writeln('Введите количество элементов ряда');
readln(n);
writeln('Введите элементы ряда');
for i:=1 to n do
readln(a[i]);
writeln('Введите номер элемента');
readln(k);
writeln(a[k]);
readln;
end.
12. Сортировка. Простой выбор.
Идея Выделяется наименьший (наибольший) элемент массива и отделяется от остальных. Далее опять выделяется наименьший(наибольший) из оставшихся и т.д.
Например, расположить элементы последовательности А1,А2..Аn в порядке возрастания. Найти в массиве элемент с наименьшим значением и поменять его местами с первым элементом. Далее те же действия выполнить с остальными N-1 элементами массива, затем с N-2 элементами и т.д., пока не останется один элемент, последний, наибольший.
Допустим, что два первых элемента являются упорядоченными. Если несколько элементов последовательности оказываются равными, то следует найти первый среди максимальных элементов. Таким образом, можно достичь устойчивости сортировки. Найденный элемент из двух первых и третий нужно поменять местами. Для получения результата необходимо N-1 раз найти максимальное значение в массиве длина которого будет уменьшаться с каждым шагом на 1. Словестный алгоритм сортировки просты выбором: 1. Начинаем сортировку с первого элемента i=1 2. Найти максимальный элемент и его номер в массиве А1,А2..,An. 3. Поменять местами Ai и максимальный элемент Ak 4. Перейти к следующему элементу i:=i+1; 5. Если рассмотрены не все N-1 элементы, то повторить с п.2.
var a:array of integer;
i,j,k,n:integer;
x:integer;
begin
write('kol-vo elementov= '); readln(n);
setlength(a,n);
randomize;
for i:=1 to n do begin
a[i]:=random(100);
write(' ',a[i]);
end;
for i:=1 to n-1 do begin
k:=i;x:=a[i];
for j:=i+1 to n do begin
if a[j]>x then begin
x:=a[j]; k:=j;
end;
end;
a[k]:=a[i];a[i]:=x;
end;
writeln;
writeln('________________');
for i:=1 to n do write(' ',a[i]);
readln;