
- •1. Этапы подготовки и решения задач на эвм. Понятие алгоритма.
- •2. Элементарные базовые управляющие структуры
- •3. Состав и работа системы программирования Турбо Паскаль
- •4. Алфавит языка
- •5. Простейшие конструкции и типы данных
- •6. Структура программ на Паскале
- •7. Ввод и вывод данных
- •8. Программирование линейных структур в Паскале
- •Var b,y,z: real;
- •Var day: integer;
- •Var X,y: real; к: integer;
- •11. Программирование циклов с неизвестным числом повторений
- •Var X: integer;
- •Var X,a,p: real; k:integer;
- •12. Программирование вложенных циклов. Массивы.
- •Var amin:real; I, j : integer; a:array[1..100] of real;
- •13. Процедуры и функции в Паскале
- •Var a,b,c,s1,s2,s3,k,r,z:real;
- •Var c,n,m,l: integer;
- •Var p,I: integer;
- •14. Записи в Паскале.
- •15. Работа с файлами в Паскале
- •I:byte;
- •16. Программирование в графическом режиме
- •17. Анимация изображений в Паскале
- •X,y,dy,dx,time,delta,radius,Gd,Gm: integer;
- •18. Построение графика аналитически заданной функции
- •Xn, xk, X, y, Ymin, Ymax, dx:real;
- •19. Численные методы вычисления определённого интеграла
- •I, n: integer;
- •20. Численные методы решения нелинейных уравнений. Общие принципы.
- •22. Численные методы решения нелинейных уравнений. Метод Ньютона (метод касательных).
- •23. Численные методы решения нелинейных уравнений. Метод хорд (метод ложного положения).
- •24. Численные методы решения обыкновенных дифференциальных уравнений. Общие принципы.
- •25. Численные методы решения обыкновенных дифференциальных уравнений. Метод Эйлера.
- •Xn,xk,yn,h,X,y:real;
- •I:integer;
- •26. Численные методы решения обыкновенных дифференциальных уравнений. Модифицированный метод Эйлера.
- •Xn,xk,yn,yw,h:real;
- •I,n:integer;
- •X,y:array [1..20] of real;
- •27. Численные методы решения обыкновенных дифференциальных уравнений. Метод Рунге-Кутта.
- •Xn,xk,yn,h,k0,k1,k2,k3:real;
- •I,n:integer;
- •X,y:array [1..20] of real;
Var X: integer;
begin
x : = 1;
while x <= k do
begin
write(x,' ');
x: = x + 1;
end;
end.
Оператор цикла с постусловием в Паскале также используется в циклах с неизвестным числом повторений и с известным числом повторений. Вид оператора:
repeat s until b;
Здесь s – тело цикла, b - логическое выражение. При выполнении оператора сначала выполняется тело цикла, а затем проверяется логическое условие. Таким образом, обеспечивается, по меньшей мере, одно выполнение тела цикла. Цикл повторяется, пока логическое выражение ложно. Когда оно становится истинным, происходит выход из цикла.
Пример : Составить программу определения k, при котором x/k становится меньше или равн а, где k = 1, 2, 3… . Алгоритм решения представлен на рисунке.
Текст программы на Паскале:
Var X,a,p: real; k:integer;
begin
write (‘x=’);
readln (x); {ввод с клавиатуры значения х}
write (‘a=’);
readln (a); {ввод с клавиатуры значения a}
k : = 0; {начальное значение k перед циклом}
repeat {начало цикла}
k : =k+1; {увеличение k в цикле}
until x/k <= a; {проверка логического условия}
write(‘k=’,k); {вывод найденного значения k на экран}
end.
К циклам с неизвестным числом повторений относятся, в частности, итерационные циклы, в которых происходит последовательное приближение к результату с заданной точностью.
12. Программирование вложенных циклов. Массивы.
Циклы могут быть вложены один в другой. Пример: Составить программу для упорядочивания элементов массива (а1, а2, …а100), расположив их по возрастанию в том же массиве.
Алгоритм решения: каждый i–й элемент массива с первого по 99-й необходимо сравнивать со всеми j-ми элементами, имеющими более высокий порядковый номер. Например, первый элемент надо сравнивать со вторым, третьим, четвер-тым и т.д. Второй элемент надо сравнивать с третьим, четвертым, пятым и т. д. Если значение j-го элемента окажется меньше, чем i–го, эти элементы надо поменять местами в массиве. Для этого вводится промежуточная переменная amin. Сначала переменной amin присваивается значение j-го элемента, затем j-му эле-менту присваивается значение i–го элемента, и затем i–му элементу присваива-ется значение переменной amin. Во внутреннем цикле происходит сравнивание и обмен значений элементов, во внешнем цикле меняется номер i–го элемента. Алгоритм представлен также на рисунке.
Текст программы на Паскале:
Var amin:real; I, j : integer; a:array[1..100] of real;
begin
for i:=1 to 100 do {ввод данных}
readln a[i];
i:=0;
repeat {Внешний цикл}
i:=i+1;
j:=i;
repeat {Внутренний цикл}
j:=j+1;
if a[i]>=a[j] then {Сравнивание и обмен элементов массива}
begin
amin:=a[j]; a[j]:=a[i]; a[i]:=amin;
end;
until j>=100;
until i>=99;
for i:=1 to 100 do {вывод упорядоченного массива на экран}
writeln(a[i]);
end.
13. Процедуры и функции в Паскале
При решении ряда задач необходимо повторять одни и те же действия при различных значениях параметров в разных частях программы. Для этого используют подпрограммы – процедуры и функции. Главное различие между ними в том, что функция может быть использована в выражении, например:
х: =sin(а);
Процедура может быть вызвана, например:
write(a);
Процедуры и функции в Паскале бывают стандартные и нестандартные, т.е. определённые пользователем. Стандартные функции и процедуры не требуют описания. В Паскале их существует более 200. Некоторые стандартные функции были перечислены выше. Примеры стандартных процедур: ClrScr – очистка экрана, курсор перемещается в верхний левый угол. Delay(t) – задержка программы на t миллисекунд. GotoXY(x,y) – перемещение курсора в точку с координатами (x,y). Exit – выход из текущего блока или из программы. Нестандартные процедуры и функции должны быть описаны. Их структура, в принципе, такая же, как и основной программы. Пример использования нестандартной процедуры: вычислить
Алгоритм решения: в программе используется процедура step, в которой описано вычисление выражения вида xy. Значение выражения присваивается переменной s. При вызове процедуры в блоке операторов основной программы, вместо x,y,s используют-ся другие параметры. Например, при первом вызове процедуры вычисляется выражение ab, значение которого присваивается переменной S1.
Текст программы на Паскале:
program zet;