Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н




НазваниеЛекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н
Дата конвертации16.02.2013
Размер445 b.
ТипЛекция


ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.)

Доцент Кафедры вычислительных систем, к.т.н.

Поляков Артем Юрьевич

Императивная парадигма программирования

    • Противопоставлена декларативной парадигме.
    • Вычислительный процесс описывается в виде инструкций, изменяющих состояние программы.
    • Аналогична приказам, выражаемым повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.


Процедурное программирование

  • Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты.

  • Каждый шаг алгоритма однозначно определяется программистом.

  • Задачи разбиваются на шаги, которые выполняются в некоторой последовательности.

  • Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов.



Структурное программирование

  • Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение, ветвление и цикл.

  • Базовые конструкции могут быть вложены друг в друга.

  • Повторяющиеся или логически целостные фрагменты программы могут оформляться в виде подпрограмм. В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы.

  • Разработка программы ведётся пошагово, методом «сверху вниз».



Проектирование программ сверху-вниз

Задача: вычислить значение выражения: A·B + С·B, где A, C – матрицы размерности m x n, а B – матрица n x k.

Проектирование программ "сверху-вниз"

Задача: вычислить значение выражения: A·B + С·B, где A, C – матрицы размерности m x n, а B – матрица n x k.

Подпрограммы

  • Подпрограммы упрощают структуру сложных программ.

  • Разбиение программы на подпрограммы облегчает ее отладку в целом, так как каждая программа может быть тестироваться и отлаживаться отдельно.

  • Повторное использование кода позволяет уменьшить размер программы.

  • Подпрограммы могут использоваться в нескольких программах как в виде исходного кода, так и через вызов объектного (бинарного) кода (программные библиотеки).



Подпрограммы в языке Си

  • В языке Си предусмотрены только функции (нет процедур). Однако с их помощью можно реализовать функционал процедуры.

  • С функцией в языке Си связано 3 понятия:

    • определение − содержит информацию необходимую для вызова функции, а также код, формирующий тело функции.
    • объявление − содержит только информацию необходимую для вызова функции (указывается в заголовочных файлах, например stdio.h).
    • вызов − применяется в других подпрограммах для активации действий, связанных с функцией.


РБНФ определения функции



РБНФ объявления функции



РБНФ вызова функции



Формальные и фактические параметры функции

Формальные параметры − локальные переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров.

Формальные и фактические параметры функции (2)

При вызове функции значения фактических параметров приводятся к типу данного формального параметра.

Передача параметров по значению

В языке Си параметры передаются по значению. Это означает, что:

изменение формального параметра не приводит к изменению фактического!

Передача результатов через параметры функции

Если функция имеет более одного результата, возникает необходимость их возврата через параметры.

Для этого выполняется передача указателей на фактические параметры (а не их значения).

Передача результатов через параметры функции (2)



Передача результатов через параметры функции

Если функция имеет более одного результата, возникает необходимость их возврата через параметры.

Для этого выполняется передача указателей на фактические параметры (а не их значения).

Литература

  • Подбельский В.В, Фомин С.С. Программирование на языке Си: Учеб. пособие. - 2-е доп. изд. - М.: Финансы и статистика, 2004. - 600 с.

  • Керниган Б., Ритчи Д., Фьюер А. Язык программирования Си. Задачи по языку Си: Пер. с англ. - М.: Финанасы и статистика, 1985.



Похожие:

Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconЛекция №5 Структуры данных (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н
Программирование/ языки программирования лекция №5 Структуры данных (весенний семестр 2012 г.)
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconЛекция №3 Работа с файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н
Программирование/ языки программирования лекция №3 Работа с файлами (весенний семестр 2012 г.)
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconЛекция №7 Алгоритмы внешней сортировки (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н
Программирование/ языки программирования лекция №7 Алгоритмы внешней сортировки (весенний семестр 2012 г.)
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconЛекция №6 Структуры данных с ограниченным режимом доступа (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н
Программирование/ языки программирования лекция №6 Структуры данных с ограниченным режимом доступа (весенний семестр 2012 г.)
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconИзучение методов разработки параллельных программ для многопроцессорных вычислительных систем

Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconИзучение методов разработки параллельных программ для многопроцессорных вычислительных систем

Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconЛекция №15. Логотерапия В. Франкла. Арттерапия
Кафедра философии и психологии имост кандидат медицинских наук, доцент кафедры психологии Е. В. Алексеева Тема 12. Лекция №15
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconПостановка задачи
Разработка пакета программ, реализующих предложенные алгоритмы для реальных вычислительных систем
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconКлассификация многопроцессорных вычислительных систем Классификация многопроцессорных вычислительных систем
Дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти
Лекция №1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к т. н iconАрхитектура ЭВМ и систем Преподователь кафедры ис мфпа
Эвм и систем является формирование у студентов базовой системы знаний в области устройства средств вычислительной техники, принципов...
Разместите кнопку на своём сайте:
dok.opredelim.com


База данных защищена авторским правом ©dok.opredelim.com 2015
обратиться к администрации
dok.opredelim.com
Главная страница