Программирование с использованием подпрограмм на языке С - Курсовая работа

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


Аннотация к работе
Си - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Программирование с применением таких объектов часто называют объектно-ориентированным. Непосредственный предшественник Си - язык Си с классами - появился в 1979 году, а в 1997 году был принят международный стандарт Си , который фактически подвел итоги его 20-летнего развития.Для решения каждой задачи в соответствии с условием, требуется разбить задачу на подзадачи и разработать вспомогательные и основной алгоритмы. Оформить разработанные алгоритмы в виде графических схем. Написать программу с использованием подпрограмм, соответствующую разработанным алгоритмам. Каждая подпрограмма в качестве входных параметров должна иметь массив и количество его элементов (при наличии массива).Функции позволяют программисту разбить одну большую задачу на несколько более мелких, решение которых по отдельности занимает намного меньше времени, а так же позволяет минимизировать объем вводимого кода в случаях, когда одна и та же операция выполняется несколько раз, вынося ее в отдельную подпрограмму. В случае, если производится отладка одной цельной и большой программы, программисту необходимо сперва найти место, где находится ошибка и только после этого приступить к ее устранению. При написании подпрограмм очень важно следить за соблюдением области видимости переменных (область, внутри которой операторы могут "видеть" и изменять значение этой переменной). Так, локальные переменные (объявленные в самой подпрограмме или в ее заголовке) будут доступны только внутри этой подпрограммы, а так же могут дублироваться в других подпрограммах без конфликта (области видимости не совпадают). При этом значение переменной можно изменять внутри самой подпрограммы, однако сама переменная (в той области видимости переменных, откуда была вызвана эта переменная) изменяться не будет;#include float KRIVDLIN (float a,float x, float *L); // Прототип функции; puts ("Введите значение параметра полукубической параболы (а>0): "); {puts ("Введено неверное значение параметра!"); puts ("Введите значение параметра полукубической параболы (а>0): "); } puts ("Введите абсцису точки (Х): ");1. При a=1 и x=1: К=0.128008, L=1.43971;

2. При а=2 и х=-2: K=0.012807, L= 0.012807;

3. При а=5 и х=6: K= 0.0002458202, L= 73.799681;Передавать массив в функцию возможно двумя способами, в зависимости от типа массива: а) Посредством указателя на начальный элемент массива - используется для динамических массивов.// Прототипы ф-ций float *vvod (int *kol_el, char name); // Прототип ф-ции ввода void vivod (float *mas, int kol_el,char name); // Прототип ф-ции вывода float sum (float *mas, int kol_el,char name); // Прототип ф-ции суммирования void main () {clrscr (); // Вызов ф-ции очистки экрана float *x,*y,*z, // Указатели на первые элементы массивов x,y,z f; // Переменная для хранения значения вычисляемой ф-ции int m,n,lm; // Переменные для хранения колва элементов в массивах x,y,z x=vvod (&m,"x"); // Обращение к ф-ции ввода, ввод массива х puts ("В массиве у должно быть не меньше 20 элементов"); {z=vvod (&lm,"z"); // Обращение к ф-ции ввода, ввод массива z f=sum (x,m,"x") *sin (sum (y,n,"y")) - cos (sum (z,lm,"z")); // Вычисление значения ф-ции, заданной в условии vivod (x,m,"x"); // Обращение к ф-ции вывод, вывод массива х vivod (y,n,"y"); // Обращение к ф-ции вывода, вывод массива у vivod (z,lm,"z"); // Обращение к ф-ции вывода, вывод массива z printf ("Значение ф-ции: %.12f

",f); // Вывод вычичленного значения } else // Вывод неверном вводе массива у puts ("В массиве у введено неверное колво элементов"); // Описание ф-ции суммирования float sum (float *mas, int kol_el,char name)1. При: x{1,1,1,1,1};

y{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};

z{3,2,1};

m=5; lm=3; k=1;

4.427989;

2. При: x{3,1,2,1};

y{2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2};

z{4,3,1,1};

m= 4; lm=4; k=1;

-9.662369;

3. При: x{2,3,2,1};

y{3,3,3,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1};

z{2,2,1,1};

m=4; lm=4; k=1;

6.173706;Передача двумерных массивов в функцию может осуществляться двумя методами: а) Передача двойного указателя (например, "int **massiv”).#include // Подключение необходимых библиотек // Прототипы ф-ций int *vvod (int *n,char name); // Прототип ф-ции ввода void vivod (int *mas, int n,char name); // Прототип ф-ции вывода int poiskmin (int *mas, int n); // Прототип ф-ции поиска минимального элемента массива void main () A,B,C int p,q,t; // Переменные для хранения мин.

План
Содержание

Введение

1. Постановка задач и исходные данные

2. Передача параметров и возврат параметров для функции

2.1 Теоретические сведения

2.2 Блок-схема программы

2.3 Листинг программы

1.4 Тесты

3. Передача и возврат одномерных массивов в функцию

3.1 Теоретические сведения

3.2 Блок-схема программы

3.3 Листинг программы

3.4 Тесты

4. Передача двумерных массивов в функцию

4.1 Теоретический сведения

4.2 Блок-схема программы

4.3 Листинг программы

4.4 Тесты

5. Передача функции в функцию

5.1 Теоретические сведения

5.1.1 Передача функции в функцию

5.1.2 Численное интегрирование. Метод Ньютона (правило 3/8)

5.2 Блок-схема программы

5.3 Листинг программы

5.4 Тесты

Заключение

Список литературы

Приложение А Приложение Б

Приложение В

Приложение Г

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

Разработчиком языка Си является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs.

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

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

Си как преемник языка Си широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык Си - один из основных языков разработки трансляторов.

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

Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке Си . Этому способствует то, что у широко распространенных компонентных моделей CORBA и COM есть удобные интерфейсы на языке Си .

Обработка сложных структур данных - текста, бизнес информации, Интернет страниц и т.п. - одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык Си применяется мало.

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

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

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

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

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



Дисциплины научных работ



Хотите, перезвоним вам?