Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
onixred
7 лет назад

Основы программирования #3.1 Парадигмы программирования

Прочитал пост и решил написать свою точку зрения.

источник
Из доклада прозвучал тезис типа ООП это тоже самое что и СП но сложнее. Категорический не согласен с этим.
Я решил перечислить свои ключевые моменты по каждой из парадигм:

  • Императивное программирование
    • оперируем состоянием и инструкциями
    • языки: ассемблер, Fortran, Cobol, C,C++ и тд

Пример кода

   a = 12.0
   b = 15.0
   result = a + b
   print *, 'The total is ', result  
  • Структурное программирование
    • оперируем состоянием и инструкциями
    • блока - составная инструкция
    • ветвления - условия если то иначе
    • цикл -повторение одного блока N раз
    • языки: Fortran, Pascal и C.

      Пример кода
PROGRAM Simple;
VAR
    k : integer;
BEGIN
   k := 1;
   while k <= 100 do
   begin
      writeln (k);
      k := k + 1;
   end;
   writeln (k);
END.
  • Процедурное программирование
    • процедура (дочь блока) которая может принимать параметры и возвращать параметр. Процедура обычно независимая операция и выполняется как одна большая инструкция.
    • декомпозиция - разбивать большую задачу на простые
    • языки: C, C++, Pascal, Object Pascal

Пример кода

PROGRAM Simple;
VAR
  a, b, c: integer;
 
procedure sum(x, y: integer; var z: integer);
BEGIN
  z := x + y;
END;
 
BEGIN
  write('Введите 2 числа: ');
  readln(a, b);
  sum(a, b, c);
  writeln(c);
END.
  • Объектно-ориентированное программирование.
    • Объект - сущность, с определенным набором состояний, предоставляющая набор операций, по изменению этих состояний.
    • инкапсуляция механизм сокрытия операций над объектом
    • наследование механизм позволяет переиспользовать базовые свойства объекта(лучше не использовать)
    • полиморфизм - механизм позволяет объединить управление над объектами.
    • делегирование - объект что бы предоставить функции использует другой объект.
    • пространство имен (namespace);
    • языки: Java C#

Пример кода

public class Switch implements Serializable, Node {
    /**
     * Состояние коммутатора "работает" (1)
     */
    public static final int STATE_WORKS = 1;
    /**
     * Состояние коммутатора "не работает" (0)
     */
    public static final int STATE_NOT_WORKS = 0;

    /**
     * Имя коммутатора
     */
    private String name;

    /**
     * IP коммутатора (строка)
     */
    private String ipAddress;

    /**
     * Состояние коммутатора.
     * 
     * @see #STATE_WORKS
     * @see #STATE_NOT_WORKS
     */
    private Integer state;

    public Switch() {
    }


    /**
     * Состояние коммутатора.
     */
    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * @return название коммутатора
     */
    public String getName() {
        return name;
    }
}

Если коротко, то как-то так. Конечно это моя точка зрения и возможно есть луди которые скажут что это не так. Но я готов обсудить это в комментариях.

0
1.213 GOLOS
На Golos с December 2016
Комментарии (8)
Сортировать по:
Сначала старые