Лабораторная работа № 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 ТИПОВЫЕ и БЕСТИПОВЫЕ ПОДПРОГРАММЫ - ФУНКЦИИ ВАРИАНТ 5
Пользователь Google
: 19 января 2026
Цель работы: Приобрести навыки разработки и использования функций, разработанных пользователем.
Подготовка к лабораторной работе:
1. Повторить такие понятия языка Си как: функции, структура типовой функции, структура бестиповой функции, списки фактических и формальных параметров, вызов типовой функции, обращение к бестиповой функции.
2. В соответствии с вариантом задания разработать алгоритм решения задачи, описать его в виде схемы.
Задание к лабораторной работе
В соответствии с
80 руб.
Лабораторная работа №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 руб.
Другие работы
Формирование философских концепций панисламизма: истоки и развитие
Slolka
: 16 ноября 2013
Введение.
Глава 1. Исторические и философские предпосылки появления пан-
исламизма и реформаторских идей.
1.1. Исторические предпосылки
1.2. Философские предпосылки.
1.3. Деятельность Джемаль ад-Дина аль-Афгани и Мухаммеда Абдо и реформация ислама.
Глава 2. Панисламизм на современном этапе развития мусульманского
мира.
2.1. Последователи идеологии панисламизма.
2.2. Радикальные течения в исламе.
2.3. Международные исламские орга
10 руб.
Экзаменационная работа по предмету "Маркетинг в отрасли инфокоммуникации", билет №4
Антон39
: 1 февраля 2016
1. На первоначальном этапе развития маркетинга имел__________ подход:
А. Товарный
В. Производственный
С. Сбытовой
2. Неразбериха в закреплении функций маркетинга за отдельными работниками характерна для____________ структуры управления:
А. Товарно –функциональной
В. Товарно – рыночной
С. Функционально – рыночной
260 руб.
Насос плунжерный 00.02.000 деталировка
coolns
: 25 февраля 2020
Насос плунжерный 00.02.000 сборочный чертеж
Насос плунжерный 00.02.000 спецификация
Корпус 00.02.001
Плунжер 00.02.002
Направляющая 00.02.003
Клапан всасывающий 00.02.004
Гайка 00.02.006
Клапан нагнетательный 00.02.007
Пружина 00.02.010
Плунжерный насос применяется при проточной и циркуляционной системе смазки. Возвратно- поступательное движение плунжера происходит от рычага (на чертеже не показан), соприкасающегося со сферической поверхностью плунжера 2. При подъеме плунжера 2 в плоскости
350 руб.
Чертежи-Графическая часть-Курсовая работа-Схема развернутого ПВО колтюбинговой установки, Патентно-информационный обзор, Герметизатор устья скважины ГТ80, Деталлировка
https://vk.com/aleksey.nakonechnyy27
: 5 мая 2016
Герметизатор устья скважины служит для изоляции внутренней полости скважины и колонны лифтовых труб от внешней среды. При этом в изолируемых полостях могут находиться под давлением 16 - 20 МПа продукция скважины (нефть, газ, вода), технологическая жидкость, используемая при обработке скважины (соляной раствор, жидкость на нефтяной основе, растворы кислот), а также твердые включения (песок, окалина, частицы парафина). В процессе работы комплекса оборудования при выполнении технологических операци
696 руб.