Формализация, алгоритмизация и программирование
Этапы подготовки и решения задач на ЭВМ постановка задачи; математическое описание и выбор метода; разработка алгоритма решения; составление программы; тестирование и отладка программы; эксплуатирование программы. Постанов ка задачи Алгоритм решения Программи рование Отладка програм мы Эксплуа тация Математи ческое описание
Понятие алгоритма, его свойства Алгоритм – это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату. Это конечный набор правил, однозначно раскрывающих содержание и последовательность выполнения операций для систематического решения определенного класса задач за конечное число шагов. Свойства: детерминированность, массовость, результативность, дискретность.
Способы записи алгоритма Словесный способ описания алгоритма отражает содержание выполняемых действий средствами естественного языка. Формально-словесный способ описания алгоритма основан на записи содержания выполняемых действий с использованием изобразительных возможностей языка математики, дополненного с целью указания необходимых пояснений средствами естественного языка. Графический способ описания алгоритмов представляет собой изображение логико-математической структуры алгоритма, при котором все этапы процесса обработки данных представляются с помощью определенного набора геометрических фигур (блоков), имеющих строго определенную конфигурацию в соответствии с характером выполняемых действий.
Графический способ записи алгоритмов Начало, конец Данные (ввод/вывод) Процесс (вычисления) Проверка условия
Алгоритмы линейной структуры Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой
Пример 1 Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника. Пусть a, b, c - длины сторон треугольника. Необходимо найти S - площадь треугольника, P - периметр. Для нахождения площади можно воспользоваться формулой Герона: Входные данные: a, b, c. Выходные данные: S, P. Блок-схема алгоритма представлена на рисунке где r - полупериметр.
Пример 2 Известны плотность и геометрические размеры цилиндрического слитка, полученного в металлургической лаборатории. Найти объем, массу и площадь основания слитка. Входные данные: R - радиус основания цилиндра, h - высота цилиндра, ρ- плотность материала слитка. Выходные данные: m - масса слитка, V - объем, S - площадь основания. Блок-схема представлена на рис
Алгоритмы разветвленной структуры Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис
Пример 3 Известны коэффициенты a, b и с квадратного уравнения. Вычислить корни квадратного уравнения. Входные данные: a, b, c. Выходные данные: x 1, x 2. Блок-схема представлена на рис.
Алгоритмы циклической структуры Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла. УсловныеБезусловные С постусловиемС предусловием
Условные циклические алгоритмы
Безусловные циклические алгоритмы
Пример 4 Вычислить, сколько раз выполнится тело цикла, заданного алгоритмом. Входные данные: Р. Выходные данные: n. Решение: n=0, P=1 ТЦ n=1, P=2*1=2 Проверка условия: 2>7? Нет ТЦ n=2, P=2*2=4 Проверка условия: 4>7? Нет ТЦ n=3, P=2*4=8 Проверка условия: 8>7? Да конец Ответ n=3,
Языки программирования Языки программирования высокого уровня Неструктурн ые (BASIC, Fortran) Структурные (Pascal, Algol) Логические (Prolog, Simula) Функциональные (Lisp, ЛОГО) Объектно-ориентированные (Smalltalk, C++, Object Pascal, Delphi, Java) Языки программирования баз данных (SQL, Oracle) Языки программирования для Интернет (HTML, Perl, Vrml)
Структура программы на языке Турбо Паскаль Program Имя; Const Описание констант Var Описание переменных Begin Исполнительная часть. End.
Основные операторы языка ТР Операторы ввода Read( ); Readln( ); и вывода информации Write( ); Writeln( ); Program Inteface; Var R,S : Real; Begin Write('Введите радиус круга '); {Печать на экране просьбы о вводе} Readln(R); {Ввод значения в переменную R с клавиатуры} S:=4*ARCTAN(1)*SQR(R); {Вычисление площади круга (pR2)} Writeln('Площадь круга радиусом ',R,' равна ',S) End. Пример 5
Основные операторы языка ТР Условный оператор Если {Если выполняется условие} то {то выполнить действие 1 } иначе {иначе - выполнить действие 2 } все Формат условного оператора на языке Паскаль: If Then Else Или: If Then Begin end Else Begin end;
Пример 6 "Из двух чисел выбрать наибольшее". Program Example; Var A,B,C : Real; {A,B - для хранения аргументов, C - результат} Begin Writeln('Введите два числа'); Readln(A,B); {Вводим аргументы с клавиатуры} If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B} Writeln(C); {Выводим результат на экран} End.
Циклы Цикл for.. do. С увеличением счетчика: For := To Do ; С уменьшением счетчика. For := Downto Do ; Цикл while.. do While Do Цикл repeat.. until Repeat ;... Until ; Program Ex2; Var A : Integer; S : Longint; Begin A:=1; S:=0; Repeat S:=S+A*A; A:=A+1 Until A>100; Writeln(S) End. Пример 6
Массивы Одномерный Var : Array [ ] of. Var Mas: Array[1.. 10] of Integer; Двумерный I. Var A : Array [1..20] Of Array [1..30] Of Integer; II. Var A : Array [1..20,1..30] Of Integer;