Контрольная работа по "Программированию"

Автор: Пользователь скрыл имя, 13 Сентября 2013 в 20:04, контрольная работа

Описание работы

1. Написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.
2. Составить программу вычисления выражения согласно указанному варианту. Предусмотреть вывод информации о выбранной ветви вычислений.
3. Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.
4. Ввести одномерный статический массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, сохранив исходное взаимное расположение, как среди отрицательных, так и среди остальных элементов массива, и вывести на экран исходные данные и полученный результат.
5. Ввести матрицу размером N на M. Память для массива выделить динамически. Определить количество положительных элементов, расположенных ниже побочной диагонали матрицы. и вывести на экран исходные данные и полученный результат
6. Вводится строка, каждое слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов, состоящих из пяти символов.

Работа содержит 1 файл

ГОТОВО.doc

— 91.50 Кб (Скачать)

1. Написать программу  вычисления значения выражения  при заданных исходных данных. Сравнить полученное значение  с указанным правильным результатом.

 

Листинг кода:

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

int main()

{double x, y, z, s;

cout << "x = "; cin >> x;

cout << "y = "; cin >> y;

cout << "z = "; cin >> z;

s = ((2*cos(x-2.0/3.0))/(1.0/2.0+pow(sin(y),2)))*(1.0+(pow(z,2)/(3.0-pow(z,2)/5.0)));

cout << "x = " << x << "\t y = " << y << "\t z = " << z

<< "\nS = " << s << endl;

cout << "Press any key ... " << endl;

getch();

return 0;}

Демонстрация работы программы:

2. Составить программу  вычисления выражения согласно  указанному варианту. Предусмотреть  вывод информации о выбранной  ветви вычислений.

Листинг кода:

#include <conio.h>

#include <stdio.h>

#include <math.h>

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{double x, y, s;

cout << "Input x "; cin >> x;

cout << "Input y "; cin >> y;

if ((x*y)>0) {s = pow(x+y,2)-pow(fabs(x),1.0/3.0);

cout << "x * y > 0" << endl;

} else if ((x*y)<0) {s = pow(x+y,2)+sin(x);

cout << "x * y < 0" << endl;

} else {s = pow(x+y,2)+pow(y,3);

cout << "x * y = 0" << endl; }

cout << "Rezult S = " << s << endl;

cout <<"Press any key ... " << endl;

getch();}

Демонстрация работы программы:

 

 

 

3. Вывести на экран  таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.

Листинг кода:

#include <conio.h>

#include <stdio.h>

#include <math.h>

#include <iostream>

using namespace std;

int main()

{ double x, a, b, h, s; int n;

cout << "a = "; cin >> a;

cout << "b = "; cin >> b;

cout << "h = "; cin >> h;

for(x = a; x <= b; x += h)

{ s=0; for (n = 1; n <= 20; n++) s += pow(x,n-1)/(2*n+1);

cout <<"x = " << x <<"\t y(x) = " << s << endl; }

getch();

return 0;}

 

 

Демонстрация работы программы:

4. Ввести одномерный  статический массив из k чисел. Преобразовать массив следующим образом: все отрицательные элементы массива перенести в начало, сохранив исходное взаимное расположение, как среди отрицательных, так и среди остальных элементов массива, и вывести на экран исходные данные и полученный результат.

 

Листинг кода:

 

#include <conio.h>

#include <iostream>

#include <stdio.h>

using namespace std;

int main()

{    int k, i, j, buff;

    cout << "k =  "; cin >> k;

    double a[k];

    cout <<"Please, input matrix A:" << endl;

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

    {        cout << "a[" << i << "] = "; cin >> a[i];    }

    cout <<"Matrix A:" << endl;

    for(i = 0; i < k; i ++) cout << a[i] << " ";

    for (i = k-1; i > 1; i --)

        for (j = 0; j < k; j ++)

            if (a[j+1]<0 && a[j]>0)

                {        buff = a[j+1];

                a[j+1] = a[j];

                a[j] = buff;            }

cout <<"\nMatrix A after changes:" << endl;

for(i = 0; i < k; i ++) cout << a[i] << " ";

    cout << "\n Press any key ... " << endl;

    getch(); }

Демонстрация работы программы:

5. Ввести матрицу размером N на M. Память для массива выделить динамически. Определить количество положительных элементов, расположенных ниже побочной диагонали матрицы. и вывести на экран исходные данные и полученный результат

 

Листинг кода:

#include <iostream>

using namespace std;

#include <conio.h>

int main ()

{ float **a;

int i, j, n, m, pos_count=0;

cout << "N = "; cin >> n;

cout << "M = "; cin >> m;

a = new float*[n];

for(i = 0; i < n;i ++) a[i] = new float[m];

cout <<"Input Matrix:" << endl;

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

{cout << "A[" << i << "][" << j << "] = "; cin >> a[i][j];}

cout <<"Matrix :" << endl;

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

{for(j=0; j<m; j++) cout << "\t" << a[i][j];

cout << endl;}

if (n != m) cout << "Thix matrix haven't diagonal, because n != m"<< endl;

else{for (i = 1; i < n; i ++) for (j = m-i; j < m; j ++) if (a[i][j] > 0) pos_count++;

cout << "Vsego " << pos_count << " elementov >0 nije pobochnoy diagonali" << endl;}

for(i = 0; i < n; i ++) delete [] a[i];

delete []a; a = NULL;

 

cout << "Delete !" << endl;

cout << " Press any key ... " << endl;

getch();

}

 

Демонстрация работы программы:

6. Вводится строка, каждое  слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов, состоящих из пяти символов.

Листинг кода:

#include <string.h>

#include <stdio.h>

int main()

{    char st[100], sl[100];

    int k = 0, i, w5_count = 0;

    puts ("Vvedie stroku");

    gets (st);

    strcat (st," ");

    int n = strlen(st);

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

    if (st[i] != ' ')   

{        sl[k] = st[i];

        sl[k+1] = '\0';

        k++;    }

    else    {        if (strlen (sl) == 5) w5_count ++;

        sl[0] = '\0';

        k = 0;    }

    printf ("Vsego %d slova s 5 bukv", w5_count);

return 0;}

Демонстрация работы программы:


Информация о работе Контрольная работа по "Программированию"