Дайте определение процедуре и функции. Дайте им сравнительную характеристику. Расскажите о способах вызова пользовательских процедур и функций

Фу́нкция - в программировании - это проименованная часть программы, которая может вызываться из других частей программы столько раз, сколько необходимо. Функция, в отличие от процедуры, обязательно возвращает значение.

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

Функции служат, прежде всего, для определения алгоритма вычисления некоторого значения (простого типа). В этом отношении функции подобны выражениям, которые также вычисляют значение. В соответствии с этим вызов функции является одним из допустимых операндов выражения, обозначая в нем то значение, которое вычисляет ("возвращает") функция.

Отличие процедуры от функции Функция в отличие от процедуры возвращает единственное скалярное значение Результат вычисления функции присваивается имени, а процедуре входит в список параметров. Имя функции имеет тип. Обращение к функции представляет операнд, а процедуры оператор.

Расскажите о технологии решения задач с помощью компьютера (моделирование, формализация, алгоритмизация, программирование). Дайте определение алгоритма. Охарактеризуйте свойства алгоритма. Расскажите, какие существуют базовые алгоритмические структуры.

Алгоритм - конечная последовательность точных и понятных предписаний, на основании исходных данных приводящих к однозначному решению задачи данного типа.

Свойства:

ü Дискретность означает, что процесс решения задачи должен быть разбит на последовательность отдельных шагов (команд). Только выполнив одну команду, можно выполнять следующую.

ü Понятность означает, что в алгоритм можно включать только понятные и выполнимые команды.

ü Детерминированность означает, что каждая команда должна быть однозначно определена, и после ее выполнения должно быть ясно, какую команду выполнять следующей.

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

ü Массовость означает, что алгоритм должен обеспечивать решение всего класса задач данного типа.

Дайте определение алгоритма. Расскажите, какие существуют способы описания алгоритма. Раскройте понятие блок-схемы алгоритма. Перечислите основные блоки.

Алгоритм - конечная последовательность точных и понятных предписаний, на основании исходных данных приводящих к однозначному решению задачи данного типа.

Словесный (для всех типов алгоритмов).
Такое описание состоит из словесного перечня шагов алгоритма. Каждый шаг имеет свой номер. Если в тексте алгоритма написано «перейти к шагу с номером №», то это означает, что выполнение алгоритма продолжится с шага №.

Табличный (для линейных алгоритмов).
Алгоритм представляется в виде таблицы, где названия столбцов (строк) являются командами алгоритма. Количество столбцов - количество шагов алгоритма, их последовательность строго определена. Число шагов конечно.

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

Программный

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

ü Начало-конец. Блок, обозначающий начало или конец алгоритма.

ü Ввод-вывод. Блок, обозначающий ввод данных или вывод результатов.

ü Процесс. Арифметический блок, определяющий действия, которые необходимо выполнить.

ü Принятие решения. Логический блок, проверяющий истинность или ложность некоторого условия.

ü Соединитель. Указание связи между прерванными линиями потока информации,связывающими блоки алгоритма.

ü Комментарий. Используется для пояснений.