- •По дисциплине «Программирование»
- •1. Основные этапы решения задач с помощью компьютера. Математическая модель. Этапы процесса разработки программы.
- •2. Способы записи алгоритма. Программа на языке высокого уровня. Стандартные типы
- •3. Программирование алгоритмов циклической структуры с заданным числом повторений
- •4. Программирование алгоритмов итерационной структуры.
- •5. Программирование алгоритмов разветвляющейся структуры
- •6. Программирование алгоритмов со структурой вложенных циклов.
- •7. Обработка одномерных массивов и обработка матриц.
- •8. Программирование с использованием подпрограмм пользователя.
- •9. Обработка символьных данных.
- •10. Обработка файловых структур данных.
- •11. Программирование с выводом результатов в виде графиков.
- •12. Программирование рекурсивных алгоритмов.
- •13. Динамические структуры данных.
- •14. Списки (основные виды и способы реализации).
- •15. Структуры данных «Стеки и очереди». Принципы работы.
- •16. Структуры данных «Графы и деревья». Принципы работы.
- •17. Типовая система программирования. Схема функционирования. Компилятор.
- •18. Структура языков программирования высокого уровня. Грамматика. Распознаватели.
- •19. Способы конструирования современных программ. Жизненный цикл программ.
- •20. Объектно-ориентированное программирование.
3. Программирование алгоритмов циклической структуры с заданным числом повторений
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений этих операторов может быть задано в явной (цикл с известным заранее числом повторений) или неявной (цикл с неизвестным заранее числом повторений) форме.
Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE, REPEAT.
Пример на паскале:
PROGRAM Primer_1;
var i,k,s,p,n: Integer;
BEGIN
Write('Введите M '); Readln(m);
For i:=1 to M do
begin
s:=0; k:=i; n:=0;
While k<>0 do
begin k:=k DIV 10; n:=n+1 end;
k:=i;
While k<>0 do
begin p:=k MOD 10; k:=k DIV 10;
If p<>0 then s:=Trunc (s+Exp(n*Ln(p)))
end;
If s=f then WriteLn (f)
end;
END.
4. Программирование алгоритмов итерационной структуры.
Итерационные алгоритмы нашли широкое применение в инженерно-технических расчётах. В этих расчётах производятся многократные последовательные вычисления с целью постепенного приближения к искомому результату, причем для вычислений на каждом шаге используются результаты вычислений на предыдущем шаге. Завершение вычислений производится при достижении заданной точности вычислений. Поскольку количество итераций (повторений вычислений) заранее неизвестно, то при организации вычислений необходимо использовать циклы While или Repeat.
Итерационные алгоритмы применяются, например, в задачах вычисления суммы ряда или величины его членов, при численном решении нелинейных уравнений и т.п.
Пример на Си Шарпе:
int n = 1;
double x = 0.1;
double e = 0.0001;
double m;
double s = 0;
while ((m = Math.Pow(x, n - 1) / Math.Pow(2, n - 1)) >= e) {
s += m;
++n;
}
5. Программирование алгоритмов разветвляющейся структуры
Разветвление в программах возникают при необходимости выбора
одного из нескольких возможных путей в решении задачи, которое может
зависеть от нескольких данных или промежуточных результатов.
Для организации разветвлений в программах используются операторы
условный, перехода и выбора.
Условный оператор позволяет проверить некоторые условия и в
зависимости от результата проверки выполнить то или иное действие.
Условный оператор - это средство ветвления вычислительного процесса.
В программе можно осуществить переход на помеченный оператор
(не зависимо от какого либо условия), прервав последовательное выполнение
программы. Для этого служит простой оператор безусловного перехода.
Условный оператор позволяет при выполнении программы выбирать
одно из двух возможных действий. Если же необходимо сделать много взаимоисключающих проверок, то удобнее воспользоваться оператором
выбора варианта.
Ключ выбора (селектор) представляет собой выражение скалярного
типа (но не вещественного). Выполнение оператора варианта начинается с
вычисления значения ключа выбора. Затем для использования выбирается
оператор, одна из меток которого совпадает с полученным значением. После
выполнения этого оператора (он может быть простым или составным)
управление передаётся на оператор, следующий за оператором варианта.
Если же значение ключа выбора не совпало ни с одной из меток, управление
передаётся оператору, стоящему за словом Else. Часть Else может
отсутствовать.