- •Отчет по лабораторным работам
- •Лабораторная работа №2 Тема: Разветвляющиеся алгоритмы
- •Задание 1. Ветвление с двумя альтернативами
- •Задание 2. Вложенные ветвления
- •Задание 3. Оператор множественного выбора
- •Лабораторная работа № 3 Тема: Операторы повторений
- •Лабораторная работа № 4 Тема: Одномерный массив
- •Лабораторная работа № 5 Тема: Двумерные массивы
- •Лабораторная работа № 6 Тема: Итерация
- •Лабораторная работа № 7 Тема: Работа с файлами
- •Самостоятельная работа №1
- •Самостоятельная работа №2
- •Самостоятельная работа №3 Тема: Одномерный массив
Лабораторная работа № 4 Тема: Одномерный массив
Задание: Дан массив из N целых чисел. Выяснить, какое число встречается в массиве раньше – положительное или отрицательное.
Решение:
Блок – схема алгоритма
Начало
Ввод n
Нет
;
Да
a[i] = rand() % 100 + 1
i = 1; i<n; i++
Нет
Да
“положительное”
K++
“отрицательное"
Нет
Конец
“Все нули”
Да
2. Код программы
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <locale>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "Russian");
int a[100];
int n, i, k = 0;
n = 10;
for (i = 0; i < n; i++)
{
a[i] = rand() % 100 + 1;
if (a[i]>0)
{
cout << ("\n положительное:%d\n"); break;
}
if (a[i] < 0)
{
cout << ("\n отрицательное:%d\n"); break;
}
if (a[i] == 0) k++;
}
if (k == 0)
cout << "все нули";
system("pause");
return 0;
}
Лабораторная работа № 5 Тема: Двумерные массивы
Задание: Задан двумерный массив А из 5-и строк и 2-х столбцов. Составить программу, которая формирует одномерный массив В, каждый элемент которого есть произведение элементов массива А в строке.
Решение:
Блок – схема алгоритма
j=0; j<2; j++
Начало
Конец
i=0; i<5; i++
Ввод m[i][j]
i=0; i<5; i++
j=0
a[i]=m[i][j]*m[i][j+1]
Вывод a[i]
2. Код программы
#include "stdafx.h"
#include <cstdlib>
#include <math.h>
#include <iostream>
#include <stdio.h>
#include <locale.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int m[5][2];
int a[5];
int i, j, n;
for (i = 0; i<5; i++)
for (j = 0; j<2; j++)
{
cout << "vvedi m[" << i << "][" << j << "]=";
cin >> m[i][j];
}
for (i = 0; i<5; i++)
{
cout << endl;
for (j = 0; j<2; j++)
cout << m[i][j] << "\t";
}
cout << endl << endl;
for (i = 0; i<5; i++)
{
j = 0;
a[i] = m[i][j] * m[i][j + 1];
cout << a[i] << "\t";
}
system("PAUSE");
return 0;
}
3. Результат
Лабораторная работа № 6 Тема: Итерация
Задание. Составить программу вычисления значения функции, разложенной в ряд (сумму ряда). В формулах – заданная степень точности;n – порядковый номер очередного члена ряда.
3 |
Составить программу вычисления значения функции Y: |
До выполнения условия , при решении принять = 0,005; 0,001; 0,0001 |
Начало
Решение:
Блок – схема алгоритма
Ввод eps
F=0; n=1
S=
Нет
yY
Да
F=F+S; n++
S=
Вывод eps, F, n
Конец
2. Код программы
#include "stdafx.h"
#include <cstdlib>
#include <math.h>
#include <iostream>
#include <stdio.h>
#include <locale.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double s, n, f, eps;
cout <<"vvedi eps= "<<endl;
cin >>eps;
f=0;
n=1;
s=1/pow(2*n-1,2);
while(1/pow(2*n-1,2)>eps)
{
f=f+s;
cout <<n<<":\t"<<s<<endl;
n++;
s=1/pow(2*n-1,2);
}
cout <<eps<<"\t"<<f<<"\t"<<n-1<<endl<<endl;
system ("PAUSE");
return 0;
}
3. Результат