Лабораторная работа № 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 руб.
Другие работы
ЛР 1- Изучение основных классов неорганических соединений
Infanta
: 18 марта 2026
Цель работы – развитие навыков проведения простейшего химического эксперимента, получение оксидов, оснований, кислот и солей и изучение их химических свойств, а также генетической связи между классами неорганических соединений.
Оборудование и реактивы. Штатив с пробирками. Пипетки безразмерные. Газоотводная трубка. Спиртовка. Гидроксокарбонат меди. Оксид магния. Железо. Карбонат кальция. Индикаторы: лакмус, фенолфталеин. Растворы: хлороводородной кислоты 2 н; серной кислоты 2 н; гидроксида нат
700 руб.
Математическая логика и теория алгоритмов. Контрольная работа. Вариант № 19. СибГУТИ.
nik200511
: 20 октября 2013
1. Проверить выводимость в исчислении высказываний методом Куайна, методом редукции и методом резолюций.
2. Пусть Омега - множество людей. На множестве Омега заданы следующие предикаты:
E(x, y) = И <=> x и y – один и тот же человек;
P(x, y) = И <=> x родитель y;
C(x, y) = И <=> x и y – супруги;
M(x) = И <=> x – мужчина;
W(x) = И <=> x – женщина.
С использованием этих предикатов записать формулы, выражающие следующее утверждение:
У некоторых людей есть сестры
3. Привести формулу к предваренн
96 руб.
Инженерная графика. Задание №9. Вариант №30. Втулка
Чертежи
: 17 марта 2020
Все выполнено в программе КОМПАС 3D v16.
Боголюбов С.К. Индивидуальные задания по курсу черчения.
Задание 9. Вариант 30. Втулка.
Тема: Конусность.
По заданным размерам и величине конусности выполнить изображение детали. Обозначить конусность. Подсчитать размер, отмеченный звёздочкой.
В состав работы входят три файла:
– 3D модель детали;
- ассоциативный чертеж с изометрической проекцией детали с вырезом четверти, выполненный по этой 3D модели, конусность определена по формуле, формула указана
50 руб.
Особенности маркетинга в электроэнергетике на примере ООО «ГЭСК»
Aronitue9
: 15 мая 2012
Введение
Особенности маркетинга в сфере производства, преобразования и потребления электроэнергии
Сущность маркетинга в энергосбытовой деятельности на розничном рынке
Преимущества гарантирующих поставщиков: опыт работы и этичный маркетинг
Роль положительного образа ЭСК. Управление активами торговой марки в энергосбытовой деятельности
Укрепление благоприятного имиджа энергосбытовых компаний путем управления торговой маркой
Основные положения маркетинга услуг и его особенности в электроэнергетике
20 руб.