Дайте определение процедуре и функции. Дайте им сравнительную характеристику. Расскажите о способах вызова пользовательских процедур и функций.
Фу́нкция — в программировании — это проименованная часть программы, которая может вызываться из других частей программы столько раз, сколько необходимо. Функция, в отличие от процедуры, обязательно возвращает значение.
Процедуры служат для задания последовательности действий, направленных на изменение внешней по отношению к ним программной обстановки. Примерами такого изменения являются определение значений новых пременных, запись информации во внешний файл и т.п. Вызов процедуры осуществляется указанием ее имени в том месте программы, где предполагается выполнение операторов, заданных в процедуре.
Функции служат, прежде всего, для определения алгоритма вычисления некоторого значения (простого типа). В этом отношении функции подобны выражениям, которые также вычисляют значение. В соответствии с этим вызов функции является одним из допустимых операндов выражения, обозначая в нем то значение, которое вычисляет ("возвращает") функция.
Отличие процедуры от функции Функция в отличие от процедуры возвращает единственное скалярное значение Результат вычисления функции присваивается имени, а процедуре входит в список параметров. Имя функции имеет тип. Обращение к функции представляет операнд, а процедуры оператор.
Расскажите о технологии решения задач с помощью компьютера (моделирование, формализация, алгоритмизация, программирование). Дайте определение алгоритма. Охарактеризуйте свойства алгоритма. Расскажите, какие существуют базовые алгоритмические структуры.
Алгоритм - конечная последовательность точных и понятных предписаний, на основании исходных данных приводящих к однозначному решению задачи данного типа.
Свойства:
ü Дискретность означает, что процесс решения задачи должен быть разбит на последовательность отдельных шагов (команд). Только выполнив одну команду, можно выполнять следующую.
ü Понятность означает, что в алгоритм можно включать только понятные и выполнимые команды.
ü Детерминированность означает, что каждая команда должна быть однозначно определена, и после ее выполнения должно быть ясно, какую команду выполнять следующей.
ü Результативность означает, что при точном исполнении всех команд алгоритма процесс решения задачи должен прекратиться за конечное число шагов и должен быть получен определенный результат.
ü Массовость означает, что алгоритм должен обеспечивать решение всего класса задач данного типа.
Дайте определение алгоритма. Расскажите, какие существуют способы описания алгоритма. Раскройте понятие блок-схемы алгоритма. Перечислите основные блоки.
Алгоритм - конечная последовательность точных и понятных предписаний, на основании исходных данных приводящих к однозначному решению задачи данного типа.
Словесный (для всех типов алгоритмов).
Такое описание состоит из словесного перечня шагов алгоритма. Каждый шаг имеет свой номер. Если в тексте алгоритма написано «перейти к шагу с номером №», то это означает, что выполнение алгоритма продолжится с шага №.
Табличный (для линейных алгоритмов).
Алгоритм представляется в виде таблицы, где названия столбцов (строк) являются командами алгоритма. Количество столбцов - количество шагов алгоритма, их последовательность строго определена. Число шагов конечно.
Графический (для всех типов алгоритмов).
Этот способ описания основан на замене команд алгоритма определенными геометрическими фигурами.
Программный
Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
ü Начало-конец. Блок, обозначающий начало или конец алгоритма.
ü Ввод-вывод. Блок, обозначающий ввод данных или вывод результатов.
ü Процесс. Арифметический блок, определяющий действия, которые необходимо выполнить.
ü Принятие решения. Логический блок, проверяющий истинность или ложность некоторого условия.
ü Соединитель. Указание связи между прерванными линиями потока информации,связывающими блоки алгоритма.
ü Комментарий. Используется для пояснений.