
- •Основные парадигмы программирования
- •Основные парадигмы программирования и языки их реализующие
- •Алгоритмическая декомпозиция
- •Значение функций
- •Виды функций
- •Алгоритмическая декомпозиция. Пример
- •Работа с функциями
- •Процедуры и функции – методы
- •Методы как процедуры и функции
- •Методы как процедуры и функции
- •Рекомендации по использованию функций
- •Передача параметров
- •Передача параметров
- •Объектно-ориентированное программирование
- •Объектная модель
- •Объектно-ориентированный подход
- •Объектно-ориентированная декомпозиция
- •Классы и объекты
- •Класс
- •Главные элементы объектной модели
- •Абстрагирование
- •Инкапсуляция
- •Модульность
- •Иерархия
- •Наследование
- •Расширение базовых классов
- •Роль наследования
- •Наследование и инкапсуляция
- •Спецификаторы доступа
- •Спецификаторы доступа
- •Обобщение в диаграммах классов в UML
- •Многоуровневая иерархия. Пример
- •Модель включения/делегации
- •Агрегация (aggregation)
- •Пример отношения агрегации
- •Композиция (composition)
- •Пример отношения композиции
- •Пример Car_Radio.
- •Полиморфизм
- •Доступ к виртуальным методам
- •Практическое

Основные парадигмы программирования

Основные парадигмы программирования и языки их реализующие
процедурное программирование
Fortran, Basic, Cobol, Algol, Pascal, Ada, С, Logo, FoxPro;
объектно-ориентированное программирование Simula, Smalltalk, Object Pascal, C++, Java, C#;
визуально-событийное программирование
Visual Basic, Delphi, Visual C++, Visual Java, Visual FoxPro;
функциональное программирование Lisp;
логическое программирование Prolog.

Алгоритмическая декомпозиция
ЗАДАЧА
Алгоритм1 Алгоритм2
Алгоритм3
Алгоритм4
Алгоритм5

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

Виды функций
Различают два вида функций:
определяемые пользователем (нестандартные)
встроенные
Встроенные функции являются составной частью пакета компилятора
ипредоставляются фирмой- изготовителем.
Нестандартные функции создаются самим программистом.

Алгоритмическая декомпозиция. Пример

Работа с функциями
main ()
{
оператор;
func1();
оператор
func2();
оператор;
func4 ();
}
оператор;
Когда программа вызывает функцию, управление переходит к телу функции, а затем выполнение программы возобновляется со строки, следующей после вызова

Процедуры и функции – методы
Метод – это функциональный элемент класса, который реализует вычисления или другие действия, выполняемые классом или его экземпляром
Метод представляет собой законченный фрагмент кода, к которому можно обратиться по имени.
Метод описывается один раз, а вызываться может многократно. Совокупность методов класса определяет, что конкретно может делать класс.
Синтаксис метода:
|
|
|
|
|
|
[атрибуты] [спецификторы] |
|
|
|
|
тип_возвращаемого_результата имя_метода ([список_параметр |
|||
|
{ |
парамет |
||
|
тело_метода; |
|
|
|
|
return значение |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|

Методы как процедуры и функции
class Program
{
static void MyWrite()
{
Console.WriteLine("Text output from function.") ;
}
static void Main(string[] args)
{
MyWrite();
}
}

Методы как процедуры и функции
class Program
{
static double Func( double x) //дополнительный метод
{
return 1 / x; //Возвращаемое значение
} |
|
static void Main() |
//точка входа в программу |
{ |
|
Console.Write("a=");
double a = double.Parse(Console.ReadLine()); Console.Write("b=");
double b=double.Parse(Console.ReadLine()); for (double x = a; x <= b; x += 0.5)
{
double y = Func(x); //вызов метода Func Console.WriteLine("y({0:f1})={1:f2}", x, y);
}
}
}