Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatike.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
84.29 Кб
Скачать

13.Методы проектирования алгоритмов.

Методы проектирования алгоритмов включают: нисходящее проектирование, модульность, структурное программирование.

Нисходящее проектирование предполагает последовательное разбиение исходной задачи на подзадачи до такой конкретизации, когда подзадача сможет быть реализована одним оператором выбранного для программирования языка. По ходу нисходящего проектирования та или иная подзадача может сформировать самостоятельный модуль. Тогда может быть применен принцип модульного программирования. Он обеспечивает легкость составления алгоритмов и отладки программ, легкость сопровождения и модификации, а также возможность одновременной разработки различных модулей разными специалистами с использованием разных языков программирования.

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

функциональный. Используется для представления линейных алгоритмов.

Циклический. Используется для представления циклических алгоритмов.

Конструкция принятия двоичного решения. Применяется для представления разветвляющихся алгоритмов.

14.Алгоритм поиска минимального (максимального) элемента одномерного массива. Пример.

Алгоритм поиска минимального (максимального) элемента массива : сначала делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент становится минимальным (максимальным) и продолжается проверка оставшихся элементов.

Пример:

k:=0;

i:=1;

while i<=N-1 do

begin

if A[k]>A[i] then

begin

k:=i;

end;

inc(i);

end;

writeln(A[k]);

15.Алгоритм упорядочения (сортировки) элементов одномерного массива. Пример.

Сортировка заключается в перестановке элементов массива в порядке возрастания или убывания их значений. Методы сортировки основаны на сравнении элементов массива в проверяемой части и перестановке наибольшего, либо наименьшего элемента в начало, либо в конец этой части массива. Процесс перестановок повторяется до полного упорядочения значений элементов массива. Известно несколько методов сортировки, обладающих различной эффективностью при решении конкретных задач.

for j: = 1 to N-1 do begin { цикл по числу "проходов" }

k:= N-j+1; { k - номер последнего элемента в проверяемой части массива }

m:= k; { m - номер элемента с наибольшим значением }

for i:= 1 to N-j do {цикл сравнения элементов в оставшейся части массива}

if x[i] > x[m] then m: = i; { запоминаем значение "m" }

b:= x[k]; x[k]:= x[m]; x[m]:= { переставляем элементы }

end;

16.Понятие о программировании. Языки программирования. Уровни языков.

Программирование процесс создания компьютерных программ. В узком смысле (так называемое кодирование) под программированием понимается написание инструкций (программ) на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи).

Язы́к программи́рования  — формальная знаковая система, предназначенная для записи компьютерных программ.

Уровень языка показывает, насколько язык близок к естественной для человека записи. Процедурные языки - самого низкого уровня. Функциональные - значительно выше.

машинные; машинно-оpиентиpованные (ассемблеpы); машинно-независимые (языки высокого уровня).

Языки высокого уровня (3GL) делятся на: процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания; объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]