Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№2 вар.№7

.doc
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
59.9 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра АСУ

Отчёт

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

по дисциплине ”Программирование на ЯВУ”.

вариант №2.

Выполнил: студент группы АСОИ-136

Багавутдинов И.И. Проверила: доцент кафедры АПРиС

Фёдорова Н.И.

Уфа 2007.

Тема: Циклические алгоритмы.

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

Вариант №2.

Задание:

а)S=mn=1 n*xn ;

Решение:

S=x1+2x2+3x3+…+mxm ;

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<math.h>

#include<conio.h>

void main()

{double m,n,i,S,x,c;

clrscr();

cout<<"\nзадача: найти сумму n*(x^n) при меняющемся n от 1 до m\n";

cout<<”пример: при x=2, m=5 получаем 1*(2^1)+2*(2^2)+3*(2^3)+4*(2^4)+5*(2^5)=258\n ваша очередь: введите натуральные числа x и m\n";

cout<<"x=";

cin>>x;

cout<<"m=";

cin>>m;

n=0;

S=0;

for(i=0;i<m;i++)

{n++;

S=S+n*pow(x,n);}

cout<<"сумма  S="<<S;

cout<<" ;-) ура получилось!!!";

getch();

}

Проверка:

x=2 m=5 результат S=258;

б) m=maxi {|ai|}, где (a1, a2, a3, … an) массив, вводимый с клавиатуры.

Решение: Принцип решения этой задачи: взять 1 ячейку массива, как наибольшее значение, и сравнивать ее с остальными ячейками. При этом если значение ячейки сравниваемой с 1-й ячейкой окажется больше, то заменить 1-ю на сравниваемую.

Блок-схема

Текст программы на С++

#include<iostream.h>

#include<conio.h>

#include<math.h>

void main()

{double *p,x,m;

int i,n;

clrscr();

cout<<"\nзадача: найти из сравниваемых чисел наибольшее по модулю \n";

cout<<"\n\n\nвведите число сравниваемых значений \nn=";

cin>>n;

p=new double[n];

cout<<" введите сравниваемые значения через пробел” \np[i]=";

for(i=0;i<n;i++)

cin>>p[i];

m=fabs(p[0]);

for(i=0;i<n;i++)

{if(m<fabs(p[i])) m=fabs(p[i]);

}

cout<<"наибольшее значение m="<<m;

delete[]p;

getch();

}

Проверка:

n=5 p[i]=4 -5 56 -98 12; результат: m=98;

n=3 p[i]=456 789 -123; результат: m=789.