Лабораторная работа № 3.ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Состав работы
|
|
Работа представляет собой файл, который можно открыть в программе:
- Microsoft Word
Описание
Лабораторная работа No 3
ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.
Вариант задания
Для каждого пункта задания написать подпрограмму-функцию
- сформировать матрицу А(NхM);
-вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
- найти в матрице минимальное отрицательное число;
- вычислить суммы отрицательных и положительных элементов отдельно, но в одной функции.
Написать функцию (main), вызывающую разработанные вами функции.
Блок- схема
Листинг
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int ** make(int n, int m);
void print_matrix(int **a, int n, int m);
int min_negative(int **a, int n, int m, int *negative);
void calc_negative_positive(int **a, int n, int m, int *negative,int *positive);
int main()
{
int **a;
int n=3, m=4,i;
int negative,positive;
srand(time(NULL));
a=make(n,m);
print_matrix(a,n,m);
if(min_negative(a,n,m,&negative)){
printf("minimum negative number=%d\n",negative);
}
else{
printf("Not minimum negative number!\n");
}
calc_negative_positive(a,n,m,&negative,&positive);
printf("sum of negative elements=%d\nsum of positive elements=%d\n",negative,positive);
if(a){
for(i=0;i<n;i++){
if(a[i]){
free(a[i]);
}
}
free(a);
}
return 0;
}
int ** make(int n, int m){
int i,j;
int **a=malloc(n*sizeof(*a));
for(i=0;i<n;i++){
a[i]=malloc(m*sizeof(a[i]));
for(j=0;j<m; j++){
a[i][j]=rand()%20-rand()%20;
}
}
return a;
}
void print_matrix(int **a, int n, int m){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
}
int min_negative(int **a, int n, int m, int *negative){
int i,j,flag=0;
(*negative)=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<0 && (*negative)>a[i][j]){
(*negative)=a[i][j];
flag=1;
}
}
}
return flag;
}
void calc_negative_positive(int **a, int n, int m, int *negative,int *positive){
int i,j;
(*negative)=0;
(*positive)=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<0){
(*negative)+=a[i][j];
}
else{
(*positive)+=a[i][j];
}
}
}
}
Итоги работы :
Контрольные вопросы
1. Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова.
2. Каждая функция в языке Си должна быть определена, то есть должны быть указаны:
тип возвращаемого значения;
имя функции;
информация о формальных аргументах;
тело функции.
3. Функция всегда возвращает единственное значение. Тип void в качестве возращаемого типа,т.е. указали компилятору, что функция не возвращает никакого значения.
4. При объявлении функции указываются формальные параметры, которые потом используются внутри самой функции. При вызове функции мы используем фактические параметры. Фактическими параметрами могут быть переменные любого подходящего типа или константы.
5. Переменные, объявленные внутри функции, называются локальными. Локальные переменные имеют свои области видимости, этими областями являются функции, в которых объявлены переменные. Таким образом, в разных функциях можно использовать переменные с одинаковыми именами, что в свою очередь очень удобно. Разделение переменных на глобальные и локальные соответствует одному из главных правил программирования, а именно – принципу наименьших привилегий. То есть, переменные, объявленные внутри одной функции, должны быть доступны только для этой функции и ни чему другому, в конце концов, они создавались именно для этой функции. Глобальные переменные объявляются вне тела какой-либо функции, и поэтому область видимости таких переменных распространяется на всю программу.
ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.
Вариант задания
Для каждого пункта задания написать подпрограмму-функцию
- сформировать матрицу А(NхM);
-вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
- найти в матрице минимальное отрицательное число;
- вычислить суммы отрицательных и положительных элементов отдельно, но в одной функции.
Написать функцию (main), вызывающую разработанные вами функции.
Блок- схема
Листинг
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int ** make(int n, int m);
void print_matrix(int **a, int n, int m);
int min_negative(int **a, int n, int m, int *negative);
void calc_negative_positive(int **a, int n, int m, int *negative,int *positive);
int main()
{
int **a;
int n=3, m=4,i;
int negative,positive;
srand(time(NULL));
a=make(n,m);
print_matrix(a,n,m);
if(min_negative(a,n,m,&negative)){
printf("minimum negative number=%d\n",negative);
}
else{
printf("Not minimum negative number!\n");
}
calc_negative_positive(a,n,m,&negative,&positive);
printf("sum of negative elements=%d\nsum of positive elements=%d\n",negative,positive);
if(a){
for(i=0;i<n;i++){
if(a[i]){
free(a[i]);
}
}
free(a);
}
return 0;
}
int ** make(int n, int m){
int i,j;
int **a=malloc(n*sizeof(*a));
for(i=0;i<n;i++){
a[i]=malloc(m*sizeof(a[i]));
for(j=0;j<m; j++){
a[i][j]=rand()%20-rand()%20;
}
}
return a;
}
void print_matrix(int **a, int n, int m){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
}
int min_negative(int **a, int n, int m, int *negative){
int i,j,flag=0;
(*negative)=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<0 && (*negative)>a[i][j]){
(*negative)=a[i][j];
flag=1;
}
}
}
return flag;
}
void calc_negative_positive(int **a, int n, int m, int *negative,int *positive){
int i,j;
(*negative)=0;
(*positive)=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<0){
(*negative)+=a[i][j];
}
else{
(*positive)+=a[i][j];
}
}
}
}
Итоги работы :
Контрольные вопросы
1. Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова.
2. Каждая функция в языке Си должна быть определена, то есть должны быть указаны:
тип возвращаемого значения;
имя функции;
информация о формальных аргументах;
тело функции.
3. Функция всегда возвращает единственное значение. Тип void в качестве возращаемого типа,т.е. указали компилятору, что функция не возвращает никакого значения.
4. При объявлении функции указываются формальные параметры, которые потом используются внутри самой функции. При вызове функции мы используем фактические параметры. Фактическими параметрами могут быть переменные любого подходящего типа или константы.
5. Переменные, объявленные внутри функции, называются локальными. Локальные переменные имеют свои области видимости, этими областями являются функции, в которых объявлены переменные. Таким образом, в разных функциях можно использовать переменные с одинаковыми именами, что в свою очередь очень удобно. Разделение переменных на глобальные и локальные соответствует одному из главных правил программирования, а именно – принципу наименьших привилегий. То есть, переменные, объявленные внутри одной функции, должны быть доступны только для этой функции и ни чему другому, в конце концов, они создавались именно для этой функции. Глобальные переменные объявляются вне тела какой-либо функции, и поэтому область видимости таких переменных распространяется на всю программу.
Дополнительная информация
работа выполнена без замечаний,2021г.
Похожие материалы
Типовые и бестиповые подпрограммы - функции. Лабораторная работа №3
Severniolen
: 30 августа 2021
Вариант No8: Для каждого пункта задания написать подпрограмму-функцию:
- сформировать матрицу А(NхN);
- вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
- найти в матрице максимальное отрицательное число и его порядковый номер;
- определить, сколько в матрице чисел, равных максимальному.
- Написать функцию (main), вызывающую разработанные вами функции.
Результаты подготовки:
- Схема алгоритма решения задачи:
1. Считать размерность матрицы
2. Вызвать функцию
100 руб.
Типовые и бестиповые подпрограммы - функции
proftp
: 30 января 2021
1. Номер и тема лабораторной работы
Лабораторная работа No3
Тема: «Типовые и бестиповые подпрограммы - функции»
2. Вариант задания
Вариант No15
Для каждого пункта задания написать подпрограмму-функцию:
сформировать матрицу А(NхN).
вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
найти в матрице количество чётных чисел над главной диагональю матрицы;
найти значения максимального на главной диагонали и минимального элемента матрицы на побочной диагонали, ра
200 руб.
Лабораторная работа №3 на тему: «ТИПОВЫЕ И БЕСТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ»
Ксю1
: 23 марта 2021
Лабораторная работа №3
На тему: «ТИПОВЫЕ И БЕСТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ»
по дисциплине "Информатика"
ВАРИАНТ 02
200 руб.
Лабораторная работа №3 Вариант №1, ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Crusader86ru
: 30 октября 2024
ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.
Задание
В соответствии с индивидуальным заданием, номер которого совпадает с двумя последними цифрами вашего пароля, разработать алгоритмы и программу на языке Си с использованием разработанных автором функций
Вариант №1
1. Для каждого пункта задания написать подпрограмму-функцию
- сформировать целочисленную матрицу А(NхN);
- вывести на экран знач
50 руб.
ВАРИАНТ №10 Лабораторная работа № 3 ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
DimaDima
: 6 июля 2024
Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.
Подготовка к лабораторной работе:
1. Повторить такие понятия языка Си как: функции, структура типовой функции, структура бестиповой функции, списки фактических и формальных параметров, вызов типовой функции, обращение к бестиповой функции.
2. В соответствии с вариантом задания разработать алгоритм решения задачи, описать его в виде схемы.
Задание к лабораторной работе
В соответствии с индивидуа
350 руб.
Лабораторная работа №3 ,ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ – ФУНКЦИИ, вариант 12
Дистанционное обучение СибГУТИ 2026
: 7 марта 2023
ВАРИАНТ №12
1. Для каждого пункта задания написать подпрограмму-функцию
- сформировать матрицу А(NхN);
-вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
- найти в матрице количество отрицательных чисел над побочной диаго-налью и под побочной диагональю отдельно, но одной функцией;
- увеличить элементы главной диагонали матрицы на количество отрица-тельных чисел над побочной диагональю.
Написать функцию (main), вызывающую разработанные вами функции
700 руб.
ЛАБОРАТОРНАЯ РАБОТА 3 ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ по дисциплине «Информатика»
Oksgus
: 15 декабря 2022
Задание:
В соответствии с индивидуальным заданием, номер которого совпадает с двумя последними цифрами вашего пароля, разработать алгоритмы и программу на языке Си с использованием разработанных автором функций.
ВАРИАНТ №2
1. Для каждого пункта задания написать подпрограмму-функцию
- сформировать матрицу А(NхN).
-вывести на экран значения матрицы, расположив каждую строку матрицы на строку экрана;
- найти в матрице количество положительных чисел;
- посчитать кол
450 руб.
ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ. Лабораторная работа №3. Вариант №18
Дима35
: 5 октября 2021
Лабораторная работа № 3
по дисциплине
«Информатика»
ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ
Задание
В соответствии с индивидуальным заданием, номер которого совпадает с двумя последними цифрами вашего пароля, разработать алгоритмы и программу на языке Си с использованием разработанных автором функций.
Варианты заданий:
ВАРИАНТ №18
1. Для каждого пункта задания написать подпрограмму-функцию
- сформировать матрицу А(NхN)
-вывести на экран значения матрицы, расположив каждую строку
300 руб.
Другие работы
Комплекс детонационного напыления "ГРОМ-3Б"-Технология машиностроения
leha.se92@mail.ru
: 7 мая 2020
Комплекс детонационного напыления "ГРОМ-3Б"-Технология машиностроения-Детали машин-Деталировка-Сборочный чертеж-Чертежи-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Графическая часть-Оборудование-Машины и механизмы-Агрегаты-Установки-Комплексы-Узлы-Детали-Курсовая работа-Дипломная работа-Автомобили-Транспорт-Строительная техника-Электрооборудование-Грузоподъёмные механизмы-Железнодорожный транспорт
252 руб.
Правильные ответы на тест по экологическому праву
qwerty123432
: 1 июня 2023
1. Государственный орган, принимающий решение об учреждении государственного природного заповедника
Выберите один ответ:
a. Министерство природных ресурсов и экологии РФ
b. Правительство РФ
c. Федеральное собрание РФ
d. Президент РФ
2. В каком году была принята Концепция перехода РФ к устойчивому развитию?
Выберите один ответ:
a. 1996 г.
b. 1993 г.
c. 1992 г.
d. 1994 г.
3. Приостановление деятельности, осуществляемой с нарушением экологического законодательства, производиться в:
Выберите один
110 руб.
Экзамен по дисциплине: Математика (часть 2-я). Билет №07.
teacher-sib
: 24 мая 2021
Дистанционное обучение
Направление «Информатика и вычислительная техника»
Профиль «Программное обеспечение средств вычислительной техники и автоматизированных систем»
Дисциплина «Математика» Часть 2.
Билет № 7
Задание 1.
Вычисление двойного интеграла в полярной системе координат.
Задание 2.
Вычислить площадь фигуры, задаваемой уравнениями
Задание 3.
Изменить порядок интегрирования. Область интегрирования изобразить на чертеже.
Задание 4.
Вычислить криволинейный интеграл по координатам
400 руб.
Основные элементы ВШН-Плакат-Картинка-Фотография-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа-Формат Microsoft PowerPoint
lelya.nakonechnyy.92@mail.ru
: 14 ноября 2017
Основные элементы ВШН-Плакат-Картинка-Фотография-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа-Формат Microsoft PowerPoint
275 руб.