Скачиваний:
7
Добавлен:
25.12.2018
Размер:
227.84 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

      1. Федеральное государственное автономное образовательное учреждение высшего образования

«Санкт-Петербургский государственный университет аэрокосмического приборостроения»

КАФЕДРА № 2

Преподаватель

доцент, к.т.н. Куртяник Д.В.

Отчёт

по лабораторной работе №7

по дисциплине Информатика

на тему: « Статические одномерные массивы»

Работу выполнил

студент гр. 4616 Павлов А.В.

Санкт-Петербург

Цель лабораторной работы: изучение структурной организации массивов и способов доступа к их элементам; совершенствование навыков процедурного программирования на языке C/С++ при решении задач обработки статических одномерных массивов.

Задание на программирование: используя технологию процедурного программирования, разработать программу обработки одномерных статических массивов в соответствии с индивидуальным заданием.

Порядок выполнения работы:

1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.

2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.

3) Построить схему алгоритма решения задачи.

4) Составить программу на языке C/C++.

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

Выходные данные должны выводиться на экран с пояснениями.

6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.

7) Использовать стандартные потоковые объекты ввода/вывода cin и cout.

8) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.

1-3)

Вариант 10

10.

Дан вещественный массив a0, a1, a2,…, an-1. Если в этом массиве есть хотя бы один элемент, значение которого меньше Р, то значения всех отрицательных элементов массива заменить их квадратами, в противном случае значений всех элементов массива умножить на число B.

Ввод данных масива, P, B => Проверка каждого элемента на условие ai<P и ai<0, если выполняется то ai<0 возводиться в квадрат

Текст программы.

//Преобразование массива

#include <iostream>

#include <locale.h>

#include <stdio.h>

#include <math.h>

using namespace std;

const int raz = 5; //размер массива

typedef int telem; //определение типов элементов массива

typedef telem tmas[raz]; //определение типа массива

void inputmas(tmas a);

int main(){

setlocale(LC_ALL,"Russian") ;

//изначальные данные

tmas a;

int p,b,var;

for(;;){

//Выбор

cout<<"\nВид действия:\n1 - вычисления предела произведения\n2 - завершения задачи\nвведите вид действия -> ";

cin>>var;

switch(var){

case 1:

//ввод элементов массива и чисел

cout<<"\nвведите значение Р: ";

cin>>p;

cout<<"введите значение В: ";

cin>>b;

inputmas(a);

//вычисление

for(int i=0;i<raz;i++){

if(a[i]<p){

for(i=0;i<raz;i++){

if(a[i]<0){a[i]*=a[i];}

}//for

break;

}//if

else{

if( i==raz-1){

for(int i=0;i<raz;i++){a[i]*=b;}

}}

}//for

//вывод результата

cout<<"\nконечный массив:\n";

for(int i=0;i<raz;i++){cout<<"a["<<i<<"]="<<a[i]<<"; ";}

break;

case 2:return 0;

}//switch

}//for

}

void inputmas(tmas a){

cout<<"введите в одной строке элементы массива, состоящего из "<<raz<<" целых чисел,\nи нажмите <ENTER>\n";

for(int i=0;i<raz;i++){cin>>a[i];}

//ввывод изначального массива

cout<<"\nизначальный массив:\n";

for(int i=0;i<raz;i++){cout<<"a["<<i<<"]="<<a[i]<<"; ";}

}

Примеры.

Соседние файлы в предмете Основы программирования и алгоритмизации