Основы программирования и алгоритмические языки
Изучение элементов языка С++ Builder, программирование разветвлений и циклов с использованием операторов перехода. Обработка одно- и двухмерных массивов. Составление программ с использованием функций при обработке матриц, вывода графических матриц.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.11.2013 |
Размер файла | 34,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
программа массив матрица графический
Эффективность разработки и программной реализации вычислительных алгоритмов определяется, прежде всего, особенностями развития информационных технологий и спецификой решаемых проблемных задач. К современным программным и техническим средствам, предназначенным для решения задач, предъявляется ряд требований, в частности, эффективность и ресурсоёмкость.
Решение ряда практических актуальных задач опирается как на возрастающие мощности современных компьютеров, так и на эффективность и ресурсоёмкость алгоритмического обеспечения. Многообразие практических ситуаций в различных предметных областях, связанных с необходимостью разработки алгоритмического обеспечения, обусловливает актуальность классической теории алгоритмов. Алгоритмический процесс, организованный по принципам структурного программирования, обеспечивает однозначность, массовость, результативность и дискретность программных решений на базе линейных, разветвляющихся и циклических синтаксических конструкций современных языков программирования.
Целью данной курсовой работы по дисциплине «Основы программирования и алгоритмические языки» является практическое закрепление теоретической части курса и приобретение навыков алгоритмизации и программирования с помощью современного языка программирования C++ Builder, а также возможностей интегрированной среды разработки Visual Studio 2008.
Выполнение данной курсовой работы позволяет приобрести следующие практические умения и навыки:
- выбор и использование математических методов решения задач;
- формализация задач;
- алгоритмизация задач;
- разработка и отладка программ с использованием языка программирования C++ Builder средствами Visual Studio 2008;
- проведение анализа результатов компьютерных экспериментов;
- оформление программной документации в соответствии с ГОСТ и ЕСКД.
1. Изучение элементов языка C++ Builder, программирование разветвлений и циклов с использованием операторов условного и перехода
1.1 Постановка задачи
Формульно-словесное представление алгоритма описано в табл. 1.1. Значение параметра а задается самостоятельно при вводе. В соответствии с методическими указаниями необходимо изучить теоретический материал приложений, литературных источников [1-9], рассмотреть пример. Для автоматизации алгоритма необходимо составить программу с использованием операторов: условных, циклов, ввода, вывода.
Таблица 1.1 Развёрнутая постановка задачи. Задание №1
№ варианта |
Определить |
Входные данные |
Выходные данные |
|
11 |
Определить: S - сумму z < 0 и Р - произведение z, принадлежащих [0,8]. |
- 3 dt = 0.1 |
t, y, z, s, p |
1.2 Анализ существующих методов решения задачи
Метод решения задачи однозначно задан набором формул (1.1) и предполагает составление циклического алгоритма: в цикле изменяется t, по формулам определяются y и z, а затем с учётом заданных условий вычисляются показатели S и P. Диапазон заданных значений и шаг изменения задают вещественный тип данных для t. Набор формул (1.1) задают вещественный тип данных для y и z. S сумма элементов < 5. P вещественного типа - произведение элементов в диапазоне от 0 до 8. Наличие логарифмических функций предполагает составление логических и арифметических выражений, а также использование соответствующих операторов.
На основе формульно-словесного представления алгоритма составим представление в виде блок-схемы.
1.3 Краткое описание программы
В начале программы выполнено подключение стандартной библиотеки для использования математических функций: #include <math.h>.
Все расчеты выполняются при нажатии кнопки «Результат» и находятся в подпрограмме void __fastcall TForm1::Button1Click(TObject *Sender)
Опишем данные программы №1 и их инициализирующие значения:
double t, dt = 0.1; |
входные данные |
|
double tmin = -3, tmax = 2; |
граничные значения |
|
double M = (tmax - tmin) / dt; |
количество значений x |
|
double z, y; |
выходные данные |
|
double S = 0, P = 1; |
выходные данные-показатели |
Опишем методы программы №1:
- StrToFloat(Edit1->Text) функция ввода и преобразования строковой величины Edit1->Text в вещественную;
- IntToStr(K) - функция вывода и преобразования целого значения в строковую величину;
- pow(), fabs(), log(), sqrt(), atan() стандартные математические функции.
Также для построения линейных, разветвляющихся, циклических синтаксических конструкций использованы стандартные арифметические и логические операторы.
1.4 Листинги программы и результатов. Анализ результатов
Листинг программы приведен на рис. А.1. Листинг результатов приведен на рис. Б.1.
С учётом параметра a = 3 и b = 6 рассчитано 50 значений t, z, y. Получена сумма элементов <0 и произведение в элементов в диапазоне от 0 до 8.
2. Обработка одномерных массивов
2.1 Постановка задачи
Словесное представление алгоритма (1): найти максимальный элемент массива A размерностью 25. Словесное представление алгоритма (2): найти среднее арифметическое элементов массива В размерностью 30. В соответствии с методическими указаниями необходимо изучить теоретический материал приложений, литературных источников [1-9], рассмотреть примеры. Для автоматизации алгоритмов необходимо составить программу, в которой предусмотреть ввод и вывод исходных массивов, а также вывод результата обработки для алгоритма (1) максимальный элемент массива A и вывод результата обработки для алгоритма (2) среднее арифметическое элементов массива В. Значения элементов исходных массивов необходимо задать произвольно.
2.2 Анализ существующих методов решения задачи
Традиционно метод решения задачи по работе с одномерным массивом сводится к выполнению трёх основных этапов: ввод-вывод массива, обработка массива, вывод результата обработки массива. Ввод-вывод одномерного массива в алгоритме реализуется с помощью циклической конструкции. Обработка массива также реализуется с помощью циклической конструкции, в которой для алгоритма (1) предусмотрена условная разветвляющаяся конструкция на сравнение элемента массива с максимальным значением и в зависимости от истинности условия формирования нового максимального значения, а для алгоритма (2) предусмотрено вычисление суммы элементов массива, значение которой затем делится на количество элементов для получения среднего арифметического. Вывод результата для алгоритмов (1) и (2) реализован в виде линейной конструкции вывода максимального и среднего значений.
2.3 Краткое описание программы
Все расчеты выполняются при нажатии кнопки «Результат» и находятся в подпрограмме void __fastcall TForm1::Button1Click(TObject *Sender)
Опишем данные программы и их инициализирующие значения:
const int s1 = 25, s2 = 30; |
константные размерности массивов |
|
double A[s1], B[s2]; |
массивы, объявленные и динамически размещённый в памяти |
|
double s=0, max |
сумма элементов и максимальное значение |
Опишем методы первой программы:
- Memo1->Lines->Count свойство, определяющее количесво элементов в массиве;
- StrToFloat(Memo1->Lines->Strings[i]) - функция ввода и преобразования строкового значения в вещественное.
Основными циклами являются циклы, использующий индексную формулу для формирования элементов массива, а также нахождения суммы и поиска максимального значения
Также для построения линейных, разветвляющихся, циклических синтаксических конструкций использованы стандартные арифметические и логические операторы.
3. Обработка двумерных массивов
3.1 Постановка задачи
Словесное представление алгоритма: дана матрица действительных чисел размером 8х10; найти сумму: наибольших значений элементов строк, наибольших значений элементов столбцов, наименьших значений элементов строк. В соответствии с методическими указаниями необходимо изучить теоретический материал приложений, литературных источников [1-9], рассмотреть пример. Для автоматизации алгоритма необходимо составить программу, в которой предусмотреть ввод и вывод исходного массива, а также вывод результатов обработки наибольших значений элементов строк, наибольших значений элементов столбцов, наименьших значений элементов строк. Значение элементов входного массива необходимо задать самостоятельно в виде набора действительных чисел.
3.2 Анализ существующих методов решения задачи
Традиционно метод решения задачи по работе с двумерным массивом сводится к выполнению трёх основных этапов: ввод-вывод массива, обработка массива, вывод результата обработки массива. Ввод-вывод двумерного массива в алгоритме реализуется с помощью вложенных циклических конструкций. Обработка массива также реализуется с помощью циклических конструкций, работающих с наборами элементов в пределах строки и столбца. Основным фрагментом этапа обработки является классический алгоритм поиска максимального и минимального элементов на основе циклов и ветвлений, а также поиска суммы. Вывод результатов для алгоритма реализован в виде линейных конструкций вывода соответствующих максимумов и минимумов.
3.3 Краткое описание программы
Все расчеты выполняются при нажатии кнопки «Результат» и находятся в подпрограмме void __fastcall TForm1::Button1Click(TObject *Sender)
Опишем данные программы №3 и их инициализирующие значения:
const int N = 8, M = 10; |
константные размеры массива |
|
double A[M][N] |
массив, объявленный и динамически размещённый в памяти |
|
double max, min, S, S1; |
максимум и минимум, а также суммы максимальных и минимальных значений |
Опишем методы программы №3:
- StrToFloat(StringGrid1->Cells[j][i]) функция вывода и преобразования текстового значения компонента StringGrid в вещественное;
Основной конструкцией являются вложенные циклы обработки вида:
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
\\
}
}
Структура программы включает отдельные фрагменты поиска максимального значения строки/столбца, минимального значения строки, подсчета соотетствующих сумм и вывода всех позиций найденых значений.
4. Составление программ с использованием функций при обработке одномерных массивов
4.1 Постановка задачи
Словесное представление алгоритма: из исходных массивов сформировать массив d [3], элементы которого равны количеству отрицательных элементов в исходных массивах. Найти большее значение элемента и его номер в массиве d. Массивы размерности 20, 50 и 16 соответственно и строятся из элементов по следующим формулам:
a[i]=9.6i-15.3tan(i+1.5)
b[j]=11.2j+18.1tan(j+1.5) (4.1)
c[k]=-8.7k+11.6tan(k-2.2)
В соответствии с методическими указаниями необходимо изучить теоретический материал приложений, литературных источников [1-9], рассмотреть пример. Для автоматизации алгоритма необходимо составить программу, в которой для выполнения всех расчетов использовать несколько функций, каждая из которых выполняет отдельную задачу: ввод данных, вывод результатов, нахождение промежуточных и конечных результатов. Необходимо обосновать декомпозицию программы на функции.
4.2 Анализ существующих методов решения задачи
Традиционно метод решения задачи по работе с одномерным массивом сводится к выполнению трёх основных этапов: ввод-вывод массива, обработка массива, вывод результата обработки массива. Основные особенности реализации таких этапов кратко описаны в п. 2.2.
Декомпозируем задачу на подзадачи:
- формирование массива с учётом формулы вида (4.1);
- вывод массива;
- поиск количества отрицательных элементов.
- поиск максимума и его номера в массиве D;
Для каждой подзадачи выберем классический метод на базе циклической поэлементной обработки массива. Подзадача поиска максимума и его номера решается линейно. Начальное значение максимума устанавливается равным значению первого элемента массива. Затем выполняется последовательное сравнение текущего максимума со значением очередного элемента массива. Если текущее сравниваемое значение оказывается больше максимума, то максимум переопределяется. После определения количества отрицательных элементов в массивах, формируется новый массив D и выполняется поиск максимума и его номера.
4.3 Краткое описание программы
Все расчеты выполняются при нажатии кнопки «Результат» и находятся в подпрограмме void __fastcall TForm1::Button1Click(TObject *Sender)
В программе реализованы четыре пользовательские функции в соответствии с выполненной декомпозицией задачи.
Опишем данные программы №4 и их инициализирующие значения:
int s1 = 20, s2 = 50, s3 = 16; |
размеры массивов |
|
double a[s1], b[s2], c[s3]; |
массивы, динамически размещённые в памяти |
Опишем методы программы №4, уточнив параметры для вызова пользовательских методов:
- void mass(double arr[], int s, double a, double b, double c) функция, формирующая значения элементов массива arr по формуле вида (4.1) с коэффициентами a, b, c. Вызов функции выполняется трижды:
mass(a, s1, 9.6, -15.3, 1.5);
mass(b, s2, 11.2, 18.1, 1.5);
mass(c, s3, -8.7, 11.6, -2.2);
- int kol(double arr[], int s, double sr) - функция, выполняющая поиск количества отрицательных элементов.
Особенностью программной реализации является исключение цикла и троекратный вызов функций формирования массива, а также использование выражения на основе вызова функции поиска количества.
5. Составление программ с использованием функций при обработке матриц
5.1 Постановка задачи
Словесное представление алгоритма: заданы массивы F (8), G (11), H (14). Для каждого из массивов найти произведение ненулевых элементов, если количество положительных элементов больше половины и сумму отрицательных элементов, в противном случае. Элементы массивов определяются по формулам:
Fi = 1,4i + tg (i - 5,5);
Gj = 8,5j + tg (j + 3,9); (5.1)
Hk = 2,9k - tg (k + 1,7).
В соответствии с методическими указаниями необходимо изучить теоретический материал приложений, литературных источников [1-9], рассмотреть пример. Для автоматизации алгоритма необходимо составить программу, в которой использована подпрограмма-функция для формирования и обработки массивов. Массивы необходимо описать в основной программе. Формирование, вывод и обработку массивов необходимо выполнить в подпрограмме при вызове ее из главной программы.
5.2 Анализ существующих методов решения задачи
Традиционно метод решения задачи по работе с одномерным массивом сводится к выполнению трёх основных этапов: ввод-вывод массива, обработка массива, вывод результата обработки массива. Основные особенности реализации таких этапов кратко описаны в п. 2.2.
Вынесем в программу описание данных и вызов подпрограммы. Детализируем подзадачи подпрограммы:
- формирование массива с учётом формулы вида (5.1);
- поиск суммы отрицательных элементов;
- поиск произведения элементов, неравных 0;
- поиск количества положительных элементов;
- вывод результатов.
Для каждой подзадачи выберем классический метод на базе циклической поэлементной обработки массива. Подзадачи поиска суммы отрицательных элементов, поиск произведения элементов, неравных 0, поиск количества положительных элементов решаются линейно. Начальное значение суммы устанавливается равным 0, а произведения - 1. Затем выполняется последовательная проверка знака очередного элемента массива, либо его равенство 0. Если очередной элемент отрицательный или он неравен 0, то сумма или произведение увеличивается на значение очередного элемента. Также выполнен подсеет положительных элементов в каждом массиве.
5.3 Краткое описание программы
В начале программы выполнено подключение стандартной библиотеки для использования математических функций: #include <math.h>.
Все расчеты выполняются при нажатии кнопки «Результат» и находятся в подпрограмме void __fastcall TForm1::Button1Click(TObject *Sender)
Опишем данные программы №5 и их инициализирующие значения:
const int s1=8, s2=11, s3=14; |
размеры массивов |
|
double f[s1], g[s2], h[s3]; |
массивы, динамически размещённые в памяти |
Опишем методы программы №5, уточнив параметры для вызова пользовательского метода:
- void mass(double arr[], int s, double a, double b, double c) функция, формирующая значения элементов массива arr по формуле вида (4.1) с коэффициентами a, b, c. Вызов функции выполняется трижды:
mass(f, s1, 1.4, +1, -5.5);
mass(g, s2, 8.5, +1, 3.9);
mass(h, s3, 2.9, -1, 1.7);
- double sum(double arr[], int s) - функция для поиска суммы отрицательных элементов.
- double pro(double arr[], int s) - функци для поиска произведенеия элементов, неравных 0.
- double kol(double arr[], int n) функция, выполняющая поиск количества положительных значений массива arr и возвращающая это значение.
Особенностью программной реализации является организация одного цикла для поиска суммы, произведения и количества, для формирования и вывода массива.
Заключение
Выполнение данной курсовой работы в соответствии с индивидуальными заданиями распределено на 6 этапов. В процессе выполнения каждого этапа:
- сформулирована развернутая постановка задачи и сформирована словесная/словесно-формульное представление алгоритма;
- разработана структура, укрупненный алгоритм решения задачи представлен в виде блок-схемы;
- сделан анализ и выбран метод решения задачи по классической теории алгоритмов;
- разработана программа, реализующая решение задачи;
- получены и проанализированы результаты решения задачи;
- оформлено описание решения задачи.
Приложение
Листинги программ
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double dt = 0.1, tmin = -3, tmax = 2, t=tmin, M = (tmax - tmin) / dt;
double z, y, S=0, P=1;
double a=StrToFloat(Edit1->Text);
double b=StrToFloat(Edit2->Text);
for (int i = 1; i <= M; i++)
{
if (t<a) y=pow(t,3)+sqrt(fabs(t+2));
else if (t>b) y=atan(t+exp(t));
else y=log(pow(t,2)+1.3);
z=1.1*exp(y)+t*sin(y);
Memo1->Lines->Add(FormatFloat("0.0",t)+" "+FormatFloat("0.000",y)+" " +FormatFloat("0.000",z));
if (z<0) S+=y;
if (z>=0 && z<=8) P*=y;
t+=dt;
}
Label4->Caption=FloatToStr(P);
Label5->Caption=FloatToStr(S);
}
//---------------------------------------------------------------------------
Рисунок А.1 Программная реализация решения задачи №1
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const int s1=25, s2=30;
double A[s1], B[s2], s=0, max;
int i;
for (i=0; i<Memo1->Lines->Count; i++)
A[i]=StrToFloat(Memo1->Lines->Strings[i]);
max=A[0];
for (i=1; i<Memo1->Lines->Count; i++)
if (A[i]>max) max=A[i];
Label4->Caption=FloatToStr(max);
for (i=0; i<Memo2->Lines->Count; i++)
{
B[i]=StrToFloat(Memo2->Lines->Strings[i]);
s+=B[i];
}
s=s/i;
Label6->Caption=FloatToStr(s);
}
//---------------------------------------------------------------------------
Рисунок А.2 Программная реализация решения задачи №2
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
const M=8, N=10;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
StringGrid1->ColCount=N;
StringGrid1->RowCount=M;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double A[M][N], S, S1, max, min;
S=S1=0;
for (int i=0; i<M; i++)
for (int j=0; j<N; j++)
A[i][j]=StrToFloat(StringGrid1->Cells[j][i]);
for (int i=0; i<M; i++)
{
max=min=A[i][0];
for (int j=1; j<N; j++)
{
if (A[i][j]>max) max=A[i][j];
if (A[i][j]<min) min=A[i][j];
}
S+=max;
S1+=min;
}
Label3->Caption=FloatToStr(S);
Label7->Caption=FloatToStr(S1);
S=0;
for (int j=0; j<N; j++)
{
max=A[0][j];
for (int i=1; i<M; i++)
if (A[i][j]>max) max=A[i][j];
S+=max;
}
Label5->Caption=FloatToStr(S);
}
//---------------------------------------------------------------------------
Рисунок А.3 Программная реализация решения задачи №3
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void mass(double arr[], int s, double a, double b, double c)
{
for (int i=0; i<s; i++)
arr[i]=a*i+b*tan(i+c);
}
//---------------------------------------------------------------------------
double Kol(double arr[], int n)
{
double K=0;
for (int i = 1; i < n; i++)
if (arr[i] < 0) K++;
return K;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const int s1=20, s2=50, s3=16;
double a[s1], b[s2], c[s3];
int d[3], max, nom;
mass(a, s1, 9.6, -15.3, 1.5);
mass(b, s2, 11.2, 18.1, 1.5);
mass(c, s3, -8.7, 11.6, -2.2);
for (int i=0; i<s1; i++)
Memo1->Lines->Add(FormatFloat("0.000",a[i]));
for (int i=0; i<s2; i++)
Memo2->Lines->Add(FormatFloat("0.000",b[i]));
for (int i=0; i<s3; i++)
Memo3->Lines->Add(FormatFloat("0.000",c[i]));
d[0]=Kol(a,s1);
d[1]=Kol(b,s2);
d[2]=Kol(c,s3);
max=d[0];
nom=0;
for (int i=1; i<=3; i++)
if (d[i]>max)
{
max=d[i];
nom=i;
}
Label5->Caption=IntToStr(d[0])+" "+IntToStr(d[1])+" "+IntToStr(d[2]);
Label7->Caption=IntToStr(max);
Label9->Caption=IntToStr(nom+1);
}
//---------------------------------------------------------------------------
Рисунок А.4 Программная реализация решения задачи №4
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void mass(double arr[], int s, double a, double b, double c)
{
for (int i=0; i<s; i++)
arr[i]=a*i+b*tan(i+c);
}
//---------------------------------------------------------------------------
double sum(double arr[], int s)
{
double S=0;
for (int i=0; i<s; i++)
if (arr[i]<0) S+=arr[i];
return S;
}
//---------------------------------------------------------------------------
double pro(double arr[], int s)
{
double P=1;
for (int i=0; i<s; i++)
if (arr[i]!=0) P*=arr[i];
return P;
}
//---------------------------------------------------------------------------
int kol(double arr[], int s)
{
int K=0;
for (int i=0; i<s; i++)
if (arr[i]>0) K++;
return K;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const int s1=8, s2=11, s3=14;
double f[s1], g[s2], h[s3];
mass(f, s1, 1.4, +1, -5.5);
mass(g, s2, 8.5, +1, 3.9);
mass(h, s3, 2.9, -1, 1.7);
for (int i=0; i<s1; i++)
Memo1->Lines->Add(FloatToStr(f[i]));
for (int i=0; i<s2; i++)
Memo2->Lines->Add(FloatToStr(g[i]));
for (int i=0; i<s3; i++)
Memo3->Lines->Add(FloatToStr(h[i]));
if (kol(f,s1)>s1/2) Label5->Caption=FloatToStr(pro(f,s1));
else Label9->Caption=FloatToStr(sum(f,s1));
if (kol(g,s2)>s2/2) Label6->Caption=FloatToStr(pro(g,s2));
else Label10->Caption=FloatToStr(sum(f,s1));
}
//---------------------------------------------------------------------------
Размещено на Allbest.ru
Подобные документы
Изучение элементов языка С++, программирование разветвлений и циклов с использованием операторов условного и перехода. Обработка одномерных массивов. Поиск максимального элемента массива с заданной размерностью. Листинги программы и результатов.
курсовая работа [647,7 K], добавлен 05.02.2013Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.
курсовая работа [537,0 K], добавлен 02.06.2015Заполнение массива из целых чисел с присвоением элементам разных значений. Варианты программы с использованием различных операторов организации циклов. Определение квадрата максимального из четных элементов массива и общего числа нулевых элементов.
лабораторная работа [259,3 K], добавлен 14.05.2011Организация файлов и доступ к ним. Файловые операции. Программирование с использованием встроенных функций ввода-вывода; линейных, разветвляющихся и циклических вычислительных процессов с использованием If-else, оператора выбора Case; массивов и матриц.
курсовая работа [5,8 M], добавлен 24.05.2014Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.
контрольная работа [52,9 K], добавлен 03.10.2010Создание информационной системы обработки матриц. Общая характеристика программного обеспечения, которое реализует выполнение заданных функций. Программа разработана с использованием среды визуального программирования Delphi 7 и языка Object Pascal.
курсовая работа [373,4 K], добавлен 14.01.2011Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Си - стандартизированный процедурный язык программирования. Алгоритм и программа на языке Си для формирования двух матриц с определенной размерностью и значением элементов. Применение матриц в математике. Исходный текст программы и результаты выполнения.
реферат [1,4 M], добавлен 23.12.2010Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.
учебное пособие [1,6 M], добавлен 28.12.2013Приемы работы с инструментальной средой программирования С++. Кодирование арифметических и логических выражений с использованием стандартных библиотечных функций ввода, вывода в С++. Описание переменной вещественного типа в языке программирования С++.
лабораторная работа [137,9 K], добавлен 13.06.2014