Informatika-laboratornye / лабы отчеты / лаб5
.docФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Вечерне-заочный факультет
«Обработка одномерного массива»
Отчет по лабораторной работе №5
по дисциплине
«Информатика»
Вариант 3
Выполнил:
студент гр. ИТ-11
Бибанаев В.А.
Проверил:
Малышева А.В.
Киров 2015
Лабораторная работа №5
Тема: Обработка одномерного массива
Цель: выработка умений решения на компьютере обработки одномерного массива на языке Си, отладка и тестирование программы.
1. Задание (вариант №3): Найти первый отрицательный элемент массива заменить его обратной величиной и поменять местами с третьим элементом
Выполнение задания:
1. Математическая постановка
Исходные данные:
a[10] – массив данных на 10 чисел
a[i] = i-тое число массива
Допустимые значения вводимых данных согласно условию задачи:
b = размер массива, не более 10, тип int
a[i] = i-тое число массива, тип float
2. Разработка алгоритма.
Алгоритм вычисления значения функции имеет циклическую структуру. Схема алгоритма:
3. Разработка программы
3.1Таблица идентификаторов
Имя переменной |
Тип переменной |
Пояснение |
Спецификации формата |
|
|
Алгоритм |
Программа |
|
|||
Исходные данные |
Ввод |
Вывод |
|
||
a[10] |
a[10] |
float |
исходный массив данных |
- |
%f |
b |
b |
int |
размер массива |
%d |
%d |
k |
k |
int |
временная переменная |
%d |
%d |
Результаты |
|
||||
a[i] |
a[i] |
float |
выходной массив |
- |
%f |
3.2 Содержание результатов работы программы на экране
3.3 Текст программы:
//---------------------------------------------------------------------------
// Лабораторная работа №5 Вывод на текстовый экран таблицы и графика функции
// Выполнил: Бибанаев В.А., гр. ИТ-11 Вариант 3
//
//---------------------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
main()
{
int i, b, q=0;
float a[10], k;
printf("Laboratornaia rabota 5 Obrabotka odnomernogo massiva \n");
printf("Vipolnil: Bibanaev V.A., gr.IT-11, Variant 3 \n");
printf("Vvedite razmer massiva: ", b); //ввод размера массива
scanf("%d", &b);
printf("\n");
for(i=0; i<b; i++) //цикл для ручного ввода каждого элемента массива
{
printf("Vvedite chislo x[%d] = ", i);
scanf("%f", &a[i]);
printf("\n");
}
printf("Vash massiv: "); //печать исходного массива
for(i=0; i<b; i++) //цикл печати массива
{
printf("%.2f ", a[i]); //вывод на экран массива
}
printf("\n");
for(i=0; i<b; i++) //цикл проверки первого отрицательного числа
{
if(a[i]<0) //условие поиска отриц числа
{
a[i]=1/a[i]; //изменение первого отрицательного числа
k=a[0]; //передаем в переменную к значение ячейки а2
a[0][i]; //записываем в ячейку а2 значение ячейки а[i]
a[i]=k; //записываем в ячейку a[i] значение переменной к
q++;
break; //принудительная остановка цикла
}
}
if(q==0)
{
printf("Net otricatelnyh chisel! \n"); //печать предупреждения если в массиве нет отриц чисел
printf("\n");
}
printf("Novyi massiv: "); //печать нового массива
for(i=0; i<b; i++) //цикл печати массива
{
printf("%.2f ", a[i]); //печать на экран нового массива
}
printf("\n");
printf("Vyhod - press Enter"); //для выхода нажать Ентер
getchar();
getchar();
}
Выводы: