Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Содержание отчета и его форма ⇐ ПредыдущаяСтр 2 из 2
Выполните все описанные пункты задания, письменно оформите отчет, который должен содержать: – тему, цель лабораторной работы; – условия, блок–схемы, программы и результаты выполнения заданий. Контрольные вопросы и защита работы 1. Правила объявления и инициализации строк в Си. 2. Функции обработки строковых данных. 3. Что такое структура? Как обратиться к полю структуры? 4. Как ввести структуру? 5. Может ли существовать массив структур? Можно ли в вашей программе использовать массив структур? Защита лабораторной работы включает в себя демонстрацию выполненных программ, подготовленный отчет и устный ответ на контрольные вопросы. Лабораторная работа 7 ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ в С++ Цель работы: Изучение методов использования функций в языке Си. Теоретическое обоснование Часто в программе требуется повторить определенную последовательность операторов в разных частях программы. Для того, чтобы описывать эту последовательность один раз, а применять многократно, в языках программирования применяются подпрограммы. Подпрограмма – автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. Использование подпрограмм позволяет реализовать один из самых современных методов программирования – структурное программирование. В языке С/C++ существует один вид подпрограмм – функции. Каждая программа в своем составе должна иметьглавную функцию main(), служащей точкой входа в программу. Кроме функции main(), в программу может входить произвольное число функций, выполнение которых инициализируется либо прямо, либо вызовами из функции main(). Каждая функция по отношению к другой является внешней. Для того, чтобы функция была доступной, необходимо, чтобы до ее вызова о ней было известно компилятору. Форма записи функции: <тип > <имя_функции>(<формальные параметры>){<тело функции >} Если тип возвращаемого функцией значения не указан, то подразумевается int. Параметры, записываемые в обращении к функции, называются фактическими; параметры, указанные в описании функции – формальными. Фактические параметры должны соответствовать формальным по количеству, порядку следования и типу. Параметры, объявленные в основной программе, действуют в любой функции и называются глобальными. Параметры, объявленные в функции, действуют только в ней и называются локальными. Все формальные параметры являются локальными для данной функции. В теле функции должен быть хотя бы один оператор return <выражение>, определяющий возвращаемое функцией значение. Вызов функции может быть оформлен в виде оператора, если у функции отсутствует возвращаемое значение, или в виде выражения, если существует возвращаемое значение. При вызове функции устанавливаетcя взаимно однозначное соответствие между фактическими и формальными параметрами, затем управление передается функции. После ее выполнения управление передается следующему, после вызова функции, оператору вызывающей программы. Прототип функции может указываться до вызова функции вместо описания функции для того, чтобы компилятор мог выполнить проверку соответствия типов аргументов и параметров. Прототип функции по форме такой же, как и заголовок функции, в конце его ставится «;». Функции можно подключать с помощью директивы #include <имя файла>. Функции удобно использовать в диалоговых программах с пользовательским меню, позволяющих выбрать один из режимов. Пример 1:Составить программу, решающую одну из двух задач из предыдущих работ. Использовать меню для выбора решаемых задач. #include <iostream.h> #include <stdlib.h> #include "lab_5.cpp" //подключение файла с функцией mas1 #include "lab_6.cpp" //подключение файла с функцией mas2 int main() { int nom; while (1) // Организация меню {cout <<endl<< " 1. Work 1 " << endl; cout << " 2. Work 2 "<< endl; cout << " 3. Конец работы программы" << endl; cout <<" Выберите 1, 2 или 3 : "; cin>>nom; switch (nom) { case 1: mas1( ); break; case 2:mas2(); break; case 3: return 0; default: cout <<" Такого режима нет \n"; } } return 0;} В этой программе использованы функции mas1 и mas2 без параметров, которые содержат функции, решающие задания 1 и 2. Каждая из них должна иметь вид: int mas1() { // операторы, выполняющие задание 1 return 0; } Пример 2. Функции c параметрами и прототипами. Составить программу, содержащую обращение к функции вычисления максимума из двух чисел: # include <iostream.h> int max(int,int); // прототип функции max main() { int x, y, z; cout <<" Поочередно введите х и у"<<endl; cin >>х>>y; z=max (х, y) ; //вызов функции max, где x,y– фактические параметры cout << "Значение z= "<< z <<endl; return 0;} int max (int a, int b) // a,b– формальные параметры {int с; // локальная переменная if (a>=b) c=a; else c=b; return с; } Описание функции в примере 2 находится в одном файле с главной программой и объявляется в прототипе. Прототип функции mах() необходим компилятору для проверки соответствия типов аргументов и параметров при вызове функции. При вызове функции max значения аргументов х и у подставляются вместо параметров а и b соответственно. После выполнения тела функции возвращаемое значение c передается в место вызова функции и присваивается переменной z. Функцию mах можно поставить вместо прототипа перед функцией main(). Так же описание функции max может находиться и в файле, например, maxim.cpp. При этом добавляется директива #include "maxim.cpp". Методика выполнения работы 1. Изучите теоретическую часть, проанализируйте приведенный пример 1. Оформите свои три задания по предыдущим лабораторным работам в виде функций. Организуйте меню с вызовом любой из них. 2. Проанализируйте приведенный в теоретической части пример 2. Создайте программу вычисления заданий по вариантам, приведенным в таблице 7.1. Таблица 7.1 – Варианты заданий
Контрольные вопросы и защита работы 1. Что такое подпрограмма? Какие подпрограммы используются в С? 2. Что такое формальные и фактические параметры? 3. Какие переменные считаются локальными, а какие глобальными?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 271. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |