Скачать презентацию Процедуры Как писать программы При написании программы Скачать презентацию Процедуры Как писать программы При написании программы

10-Лекция 05-06 Процедуры.pptx

  • Количество слайдов: 11

Процедуры Как писать программы? Процедуры Как писать программы?

При написании программы выполняются следующие шаги Шаг 1. Сформулируем алгоритм решения задачи. Соблюдаем следующие При написании программы выполняются следующие шаги Шаг 1. Сформулируем алгоритм решения задачи. Соблюдаем следующие правила: • В каждой строчке одна фраза (одно действие) • Действие должно иметь результат (нельзя, например, написать «проверяем» , так как что в данном случае будет результатом? ) • Сам алгоритм записываем между словами begin и end • Алгоритм описывается в виде комментариев.

Пишем алгоритм решения квадратного уравнения Begin {Вводим коэффициенты квадратного уравнения A, B, C} {Считаем Пишем алгоритм решения квадратного уравнения Begin {Вводим коэффициенты квадратного уравнения A, B, C} {Считаем дискриминант D} {Если D>=0, то} {Считаем корни квадратного уравнения X 1 и X 2} {Выводим значения корней X 1 и X 2} {иначе} {Сообщаем, что действительных корней нет} end.

При написании программы выполняются следующие шаги Шаг 2. Сопоставим каждой фразе алгоритма оператор языка При написании программы выполняются следующие шаги Шаг 2. Сопоставим каждой фразе алгоритма оператор языка Паскаль. При этом • Одной фразе должен соответствовать один оператор. Если такого оператора нет, то придумываем новый (пишем вызов процедуры) • Сразу же указываем параметры процедур в скобках. • Оператор языка паскаль (или процедура) пишется слева от соответствующей фразы алгоритма.

Шаг 3. Опишем переменные, встретившиеся в этой программе var A, B, C, D, X Шаг 3. Опишем переменные, встретившиеся в этой программе var A, B, C, D, X 1, X 2: real; begin vvod(A, B, C); D: =sqr(B)-4*A*C; if D>=0 then begin calc(A, B, D, X 1, X 2); print(X 1, X 2); end else writeln(‘Not real roots’); readln end. { Вводим коэффициенты A, B, C} { Считаем дискриминант D} { Если дискриминант >=0, то} { Считаем корни x 1, x 2 } { Выводим значение корней x 1, x 2} { Иначе} {Сообщаем, что действительных корней нет }

Шаг 4 Опишем все процедуры. • Описание производится выше вызывающей процедуры. • Если процедура Шаг 4 Опишем все процедуры. • Описание производится выше вызывающей процедуры. • Если процедура сложная, то снова пишем алгоритм и так далее.

Procedure Print(Xf, Xs: real); begin Writeln('x 1=‘, xf ); Writeln( 'x 2=‘, xs); end; Procedure Print(Xf, Xs: real); begin Writeln('x 1=‘, xf ); Writeln( 'x 2=‘, xs); end; Print (X 1, X 2 ) X 1 9 ` Xf Xs Параметры - значения X 2 4

Procedure vvod(var K 1, K 2, K 3: real); begin writeln(‘Enter A’); readln(K 1); Procedure vvod(var K 1, K 2, K 3: real); begin writeln(‘Enter A’); readln(K 1); writeln(‘Enter B’); readln(K 2); writeln(‘Enter C’); readln(K 3); end; K 1 K 2 -2 vvod (A, B, C) A B C K 3 3 1 Параметры - переменные

Procedure Calc(A, B, D: real; var x 1, x 2: real); begin x 1: Procedure Calc(A, B, D: real; var x 1, x 2: real); begin x 1: =(-B + sqrt(D))/(2*A); x 2: =(-B – sqrt(D))/(2*A); end;

Задачи Задание 1 • Составить программу, в результате выполнения которой переменная A меняется значением Задачи Задание 1 • Составить программу, в результате выполнения которой переменная A меняется значением с переменной B, а переменная C - с переменной D. При решении определите процедуру, осуществляющую обмен значениями двух переменных. Задание 2 • Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. Определить процедуры для расчета периметра и площади треугольника по его сторонам. Задание 3 • Найти площадь кольца, внутренний радиус которого равен R 1, а внешний - R 2. Определить и использовать процедуру вычисления площади круга. Задание 4 • Найти площадь выпуклого четырехугольника, вершины которого заданы своими координатами. Задание 5. Дано целое положительное число А, значение которого вводится с клавиатуры. Напишите программу, позволяющую: • найти минимальную цифру среди первых трех цифр числа • вывести на экран найденную цифру • если цифр меньше трех, то выдать сообщение «невозможно выполнить заданную операцию»