Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Составление и отладка программы на языке Си

КонтрольнаяПомощь в написанииУзнать стоимостьмоей работы

Из полученных массивов, А и В сформировать квадртаную матрицу S, размерность которой равна минимуму из рамзерностей A и B, а значение элементов вычесляется по формуле. Результаты тестирования программного продукта показали, что язык программирования Си действительно является, легок в реализации выполнения данных заданий. Контрольная работа представлена пояснительной запиской объёмом 17 листов, 4… Читать ещё >

Составление и отладка программы на языке Си (реферат, курсовая, диплом, контрольная)

Контрольная работа Составление и отладка программы на языке Си

Аннотация

Контрольная работа представлена пояснительной запиской объёмом 17 листов, 4 рисунка, с использованием литературных источников.

В контрольной работе представлена программа, написанная по средствам языка Си.

Для решения данного задания использовались:

— функция форматированного вводавывода;

— условный оператор if;

— параметрический оператор for;

В работе получен положительный результат решения данного задания.

1. Блок-схема решения задачи

2. Текст программы на языке Си

2. Результаты тестирования программы Заключение Список использованных источников

В данной работе проходило знакомство со средой программирования языка Си.

Причина актуальности языка Си заключается в том, что синтаксические конструкции многих других современных языков программирования, появившихся позднее Си, очень сильно напоминают синтаксис языка Си. Здесь речь идет о таких языках, как Java, C#, PHP и др. Еще один любимый и используемый многими язык C++ получен из Си с добавлением к нему средств объектно-ориентированного программирования. Таким образом, изучение языка Си может оказаться одной из первых ступенек на пути к постижению искусства программирования. Освоив его, можно смело приступать к освоению перечисленных языков, уже имея в запасе многие необходимые знания.

Язык Си среднего уровня, сочетающий в себе как некоторые элементы высокоуровневых языков, так и низкоуровневые операции. В частности, он позволяет легко оперировать с байтами и битами, а также работать с памятью напрямую, используя указатели. Кроме того, язык Си легко переносится, другими словами, написанный под одну операционную систему код может быть откомпилирован в другой. Рассмотренные и прочие достоинства делают язык Си подходящим средством для разработки ряда приложений, например, компиляторов.

параметрический оператор программа язык си

1. Блок-схема решения задачи

2. Текст программы на языке Си

#include

#include

#include

#include

#include

#include

using namespace std;

const float pi_max = 3.14;

const float pi_min = -3.14;

const float h = 3.14 / 10;

inline float fx (float & x)

{

return 3 * cos (5 *x) + 2 * sin (x);

}

inline bool Cmp (float &x, float &y)

{

return x > y;

}

int fy (float **matrix, int size_matrix, vector & A, vector &B)

{

int max_row = -1;

float sum = 0;

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

for (int j = 0; j < size_matrix; j++) {

matrix[i][j] = pow (A[i], 3) + abs (A[j] - B[j]);

}

}

/* Тут подсчитываем сумму элементов и запоминаем столбец */

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

float temp = 0;

for (int j = 0; j < size_matrix; j++) {

temp += matrix[j][i];

}

if (temp > sum){

sum = temp;

max_row = i;

}

}

return max_row;

}

inline void fz (float **matrix, int size_matrix, int row)

{

float max_element = matrix[row][0];

for (int j = 0; j < size_matrix; j++) {

matrix[j][row] = max_element;

}

}

int main ()

{

setlocale (LC_ALL, «Russian»);

vector A, B;

vector:iterator it;

int counter = 0;

float n, y;

printf («%s[%2.2f] [%2.2f]rn», «Значение функции на отрезке: «, pi_min, pi_max);

printf («%srn» ," xty");

for (float x = pi_min; x < pi_max; x += h) {

printf («[%2.2f]t», x);

y = fx (x);

printf («[%2.2f]rn», y);

modf (y, &n); // Извлечем в n целую часть числа

if ((int) n % 3 == 0) A. push_back (y);

if (y < 0) {

if (counter >= 1) {

B.push_back (y);

counter = 0;

}

else counter++;

}

}

printf («%srn», «Значение элементов массива, А (кратных трем)»);

for (it = A. begin (); it ≠ A. end (); it++)

printf («[%2.2f] «, *it);

printf («rn»);

printf («%srn», «Значение элементов массива B (каждое 2-ое, отрц. значение)»);

for (it = B. begin (); it ≠ B. end (); it++)

printf («[%2.2f]t», *it);

printf («rn»);

for (int i = 0; i < B. size () — 1; i += 2) {

float temp = B[i];

B[i] = B[i + 1];

B[i + 1] = temp;

}

printf («%srn», «Значение элементов массива, А (кратных трем)»);

for (it = A. begin (); it ≠ A. end (); it++)

printf («[%2.2f] «, *it);

printf («rn»);

printf («%srn», «Значение элементов массива B (каждое 2-ое, отрц. значение)»);

for (it = B. begin (); it ≠ B. end (); it++)

printf («[%2.2f]t», *it);

printf («rn»);

for (int i = 0; i < B. size () — 1; i += 2) {

float temp = B[i];

B[i] = B[i + 1];

B[i + 1] = temp;

}

printf («%srn», «Перестановка массива B (i — элемент с i + 1 — элементом)»);

for (it = B. begin (); it ≠ B. end (); it++)

printf («[%2.2f]t», *it);

printf («rn»);

//Сортируем массив А, в порядке возвростания

sort (A.begin (), A. end (), Cmp);

printf («%srn», «Значение элементов массива, А (Сортировка)»);

for (it = A. begin (); it ≠ A. end (); it++)

printf («[%2.2f] «, *it);

printf («rn»);

printf («%srn», «Формулирование

квадратной

матрицы из мин. размерностей массивов A и B");

int array_min_size = A. size ();

if (B.size () < A. size ()){

array_min_size = B. size ();

printf («%s[%d]rn», «Размерность массива

B меньше A, выбор в пользу B: «, array_min_size);

}

else

printf («%s[%d]rn», «Размерность массива, А меньше B,

выбор в пользу A: ", array_min_size);

printf («%s[%d][%d]rn», «Создание квадратной матрицы, размерностью: «, array_min_size, array_min_size);

float **matrix;

matrix = new float *[array_min_size];

for (int i = 0; i < array_min_size; i++)

matrix[i] = new float[array_min_size];

printf («%srn», «Показ матрицы после вычесления по формуле: S (I, J) = pow (A[i], 3) — |A (J)-B (J)|»);

int max_row = fy (matrix, array_min_size, A, B);

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

for (int j = 0; j < array_min_size; j++) {

printf («[%2.2f]t», matrix[i][j]);

}

printf («rn»);

}

printf («%s[%d]rn», «Столбец с максимальной суммой № «, max_row);

printf («%srn» ," Замена элементов данного столбца, на 1ый элемент");

fz (matrix, array_min_size, max_row);

printf («%srn», «Показ матрицы после замены»);

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

for (int j = 0; j < array_min_size; j++) {

printf («[%2.2f]t», matrix[i][j]);

}

printf («rn»);

}

/* Освободить память */

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

delete[] matrix[i];

}

getch ();

return 0;

}

3. Результаты тестирования программы

Протабулировать функцию Y на заданном отрезке и записать в одномерный массив, А те значения функции, целая часть которых кратна 3, а в одномерный массив B — каждое второе отрицательное число

Y = 3cos5x + 2sinx [-р, р], h= р/10:

Рисунок 1

В Полученном массиве b поменять местами первый со втромым элементами, третий с четвертым и т. д

Рисунок 2

Из полученных массивов, А и В сформировать квадртаную матрицу S, размерность которой равна минимуму из рамзерностей A и B, а значение элементов вычесляется по формуле

S[i, j] = A[i]3 +|A[i] - B[j]|

Размерность полученной матрицы — минимум из размерностей A и B.

В полученном двумерном массиве S, найти столблец с наибольшим числом положительных элементов

Рисунок 3

Заменить значение элементов этого столбца на первый элемент

Рисунок 4

Заключение

В результате выполнения контрольной работы по программированию были изучены различные циклы программирования, исследованы некоторые возможности языка Си, проанализированы допустимые ошибки в данных программах.

Результаты тестирования программного продукта показали, что язык программирования Си действительно является, легок в реализации выполнения данных заданий.

Список использованных источников

1. Павловская Т. А. «С/С++ Программирование на языке высокого уровня»;

2. Подбельский В. В. «Программирование на языке С: учебное пособие»;

3. Подбельский В. В. «Язык С++: учебное пособие»;

4. Скляров В. А. «Программирование на языках С и С++»;

5. Шилдт Г. «Программирование на С и С++»;

6. Джамса Крис «1001 совет по С/С++»;

7. Архангельский А. Я. «Программирование в С++ Builder»;

8. Шамис В. А. «С++ Builder: Техника визуального программирования»;

9. Страуструп Б. «Язык программирования С++»;

10. Франка П. «С++: учебный курс».

Показать весь текст
Заполнить форму текущей работой