Основы языка программирования C++ с применением объектно-ориентированного программирования. Чернышов М.К. - 61 стр.

UptoLike

Составители: 

ɚ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɡɧɚɱɟɧɢɹ y=P(x) ɦɧɨɝɨɱɥɟɧɚ ɞɥɹ
ɡɚɞɚɧɧɨɝɨ ɚɪɝɭɦɟɧɬɚ
x.
double valpoly(int n, double *a);
ɛ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɤɨɷɮɮɢɰɢɟɧɬɨɜ ɦɧɨɝɨɱɥɟɧɚ, ɹɜ-
ɥɹɸɳɟɝɨɫɹ ɩɪɨɢɡɜɟɞɟɧɢɟɦ ɞɜɭɯ ɞɪɭɝɢɯ ɦɧɨɝɨɱɥɟɧɨɜ, ɡɚɞɚɧɧɵɯ ɫɜɨɢɦɢ
ɫɬɟɩɟɧɹɦɢ ɢ ɦɚɫɫɢɜɚɦɢ ɤɨɷɮɮɢɰɢɟɧɬɨɜ. Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɫɬɟɩɟɧɶ ɦɧɨ-
ɝɨɱɥɟɧɚ-ɩɪɨɢɡɜɟɞɟɧɢɹ.
int polyprod(int n, double *a, int m, double *b,
double *res);
ɜ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɤɨɷɮɮɢɰɢɟɧɬɨɜ ɦɧɨɝɨɱɥɟɧɚ, ɹɜ-
ɥɹɸɳɟɝɨɫɹ ɫɭɦɦɨɣ ɞɜɭɯ ɞɪɭɝɢɯ ɦɧɨɝɨɱɥɟɧɨɜ. Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɫɬɟ-
ɩɟɧɶ ɦɧɨɝɨɱɥɟɧɚ-ɫɭɦɦɵ.
int polysum(int n, double *a, int m, double *b,
double *res);
11. ȼ ɧɟɤɨɬɨɪɨɣ ɩɪɨɝɪɚɦɦɟ ɨɛɪɚɛɨɬɤɢ ɬɚɛɥɢɰ ɫɜɟɞɟɧɢɹ ɨ ɞɢɧɚɦɢɱɟɫɤɢ ɨɛ-
ɪɚɡɭɟɦɵɯ ɫɬɨɥɛɰɚɯ ɨɩɪɟɞɟɥɹɸɬɫɹ ɝɥɨɛɚɥɶɧɵɦɢ ɨɩɢɫɚɧɢɹɦɢ:
const int L_cln=20; // ɞɥɢɧɚ ɫɬɨɥɛɰɚ ɬɚɛɥɢɰɵ
const int L_tab=30; // ɦɚɤɫɢɦɚɥɶɧɨɟ ɱɢɫɥɨ ɫɬɨɥɛɰɨɜ
struct COLUM
{
char name[5]; // ɢɦɹ ɫɬɨɥɛɰɚ
double *adr; // ɭɤɚɡɚɬɟɥɶ ɧɚ ɫɬɨɥɛɟɰ
};
COLUM Tabl[L_tab] // ɦɚɫɫɢɜ ɫɜɟɞɟɧɢɣ ɨ ɫɬɨɥɛɰɚɯ
Ⱦɥɹ ɨɛɪɚɳɟɧɢɹ ɤ ɫɬɨɥɛɰɚɦ ɢɫɩɨɥɶɡɭɸɬɫɹ ɢɯ ɢɧɞɟɤɫɵ ɜ ɦɚɫɫɢɜɟ Tabl. ȿɫ-
ɥɢ ɫɬɨɥɛɟɰ ɧɟ ɪɚɡɦɟɳɟɧ ɜ ɩɚɦɹɬɢ, ɬɨ ɡɧɚɱɟɧɢɟ ɩɨɥɹ
adr ɪɚɜɧɨ 0.
ɚ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɩɨɷɥɟɦɟɧɬɧɨɝɨ ɫɥɨɠɟɧɢɹ ɞɜɭɯ
ɫɬɨɥɛɰɨɜ ɫ ɨɛɪɚɡɨɜɚɧɢɟɦ ɫɬɨɥɛɰɚ ɫɭɦɦ. ȼɯɨɞɧɵɟ ɞɚɧɧɵɟɧɨɦɟɪɚ (ɢɧɞɟɤ-
ɫɵ ɜ
Tabl) ɫɬɨɥɛɰɨɜ ɫɥɚɝɚɟɦɵɯ ɢ ɫɬɨɥɛɰɚ ɪɟɡɭɥɶɬɚɬɚ. ȿɫɥɢ ɫɬɨɥɛɟɰ-
ɪɟɡɭɥɶɬɚɬ ɧɟ ɪɚɡɦɟɳɟɧ ɜ ɩɚɦɹɬɢ, ɬɨ ɪɚɡɦɟɫɬɢɬɶ ɟɝɨ ɢ ɨɬɦɟɬɢɬɶ ɡɬɨ ɜ
Tabl.
int sumcol(int k, int l, int r);
Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ 0 ɩɪɢ ɭɫɩɟɲɧɨɦ ɜɵɩɨɥɧɟɧɢɢ ɨɩɟɪɚɰɢɢ ɢɥɢ 1, ɟɫɥɢ
ɨɞɢɧ ɢɥɢ ɨɛɚ ɫɬɨɥɛɰɚ-ɫɥɚɝɚɟɦɵɯ ɧɟ ɪɚɡɦɟɳɟɧɵ ɜ ɩɚɦɹɬɢ.
61
ɚ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɡɧɚɱɟɧɢɹ y=P(x) ɦɧɨɝɨɱɥɟɧɚ ɞɥɹ
ɡɚɞɚɧɧɨɝɨ ɚɪɝɭɦɟɧɬɚ x.

     double valpoly(int n, double *a);

ɛ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɤɨɷɮɮɢɰɢɟɧɬɨɜ ɦɧɨɝɨɱɥɟɧɚ, ɹɜ-
ɥɹɸɳɟɝɨɫɹ ɩɪɨɢɡɜɟɞɟɧɢɟɦ ɞɜɭɯ ɞɪɭɝɢɯ ɦɧɨɝɨɱɥɟɧɨɜ, ɡɚɞɚɧɧɵɯ ɫɜɨɢɦɢ
ɫɬɟɩɟɧɹɦɢ ɢ ɦɚɫɫɢɜɚɦɢ ɤɨɷɮɮɢɰɢɟɧɬɨɜ. Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɫɬɟɩɟɧɶ ɦɧɨ-
ɝɨɱɥɟɧɚ-ɩɪɨɢɡɜɟɞɟɧɢɹ.

     int polyprod(int n, double *a, int m, double *b,
                  double *res);

ɜ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ ɤɨɷɮɮɢɰɢɟɧɬɨɜ ɦɧɨɝɨɱɥɟɧɚ, ɹɜ-
ɥɹɸɳɟɝɨɫɹ ɫɭɦɦɨɣ ɞɜɭɯ ɞɪɭɝɢɯ ɦɧɨɝɨɱɥɟɧɨɜ. Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɫɬɟ-
ɩɟɧɶ ɦɧɨɝɨɱɥɟɧɚ-ɫɭɦɦɵ.

     int polysum(int n, double *a, int m, double *b,
                 double *res);

11. ȼ ɧɟɤɨɬɨɪɨɣ ɩɪɨɝɪɚɦɦɟ ɨɛɪɚɛɨɬɤɢ ɬɚɛɥɢɰ ɫɜɟɞɟɧɢɹ ɨ ɞɢɧɚɦɢɱɟɫɤɢ ɨɛ-
ɪɚɡɭɟɦɵɯ ɫɬɨɥɛɰɚɯ ɨɩɪɟɞɟɥɹɸɬɫɹ ɝɥɨɛɚɥɶɧɵɦɢ ɨɩɢɫɚɧɢɹɦɢ:

     const int L_cln=20;                      // ɞɥɢɧɚ ɫɬɨɥɛɰɚ ɬɚɛɥɢɰɵ
     const int L_tab=30;                // ɦɚɤɫɢɦɚɥɶɧɨɟ ɱɢɫɥɨ ɫɬɨɥɛɰɨɜ
     struct COLUM
        {
        char name[5];                                  // ɢɦɹ ɫɬɨɥɛɰɚ
        double *adr;                          // ɭɤɚɡɚɬɟɥɶ ɧɚ ɫɬɨɥɛɟɰ
        };
     COLUM Tabl[L_tab]                  // ɦɚɫɫɢɜ ɫɜɟɞɟɧɢɣ ɨ ɫɬɨɥɛɰɚɯ

Ⱦɥɹ ɨɛɪɚɳɟɧɢɹ ɤ ɫɬɨɥɛɰɚɦ ɢɫɩɨɥɶɡɭɸɬɫɹ ɢɯ ɢɧɞɟɤɫɵ ɜ ɦɚɫɫɢɜɟ Tabl. ȿɫ-
ɥɢ ɫɬɨɥɛɟɰ ɧɟ ɪɚɡɦɟɳɟɧ ɜ ɩɚɦɹɬɢ, ɬɨ ɡɧɚɱɟɧɢɟ ɩɨɥɹ adr ɪɚɜɧɨ 0.

ɚ) ɋɨɫɬɚɜɢɬɶ ɮɭɧɤɰɢɸ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɩɨɷɥɟɦɟɧɬɧɨɝɨ ɫɥɨɠɟɧɢɹ ɞɜɭɯ
ɫɬɨɥɛɰɨɜ ɫ ɨɛɪɚɡɨɜɚɧɢɟɦ ɫɬɨɥɛɰɚ ɫɭɦɦ. ȼɯɨɞɧɵɟ ɞɚɧɧɵɟ – ɧɨɦɟɪɚ (ɢɧɞɟɤ-
ɫɵ ɜ Tabl) ɫɬɨɥɛɰɨɜ ɫɥɚɝɚɟɦɵɯ ɢ ɫɬɨɥɛɰɚ ɪɟɡɭɥɶɬɚɬɚ. ȿɫɥɢ ɫɬɨɥɛɟɰ-
ɪɟɡɭɥɶɬɚɬ ɧɟ ɪɚɡɦɟɳɟɧ ɜ ɩɚɦɹɬɢ, ɬɨ ɪɚɡɦɟɫɬɢɬɶ ɟɝɨ ɢ ɨɬɦɟɬɢɬɶ ɡɬɨ ɜ Tabl.

     int sumcol(int k, int l, int r);

Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ 0 ɩɪɢ ɭɫɩɟɲɧɨɦ ɜɵɩɨɥɧɟɧɢɢ ɨɩɟɪɚɰɢɢ ɢɥɢ 1, ɟɫɥɢ
ɨɞɢɧ ɢɥɢ ɨɛɚ ɫɬɨɥɛɰɚ-ɫɥɚɝɚɟɦɵɯ ɧɟ ɪɚɡɦɟɳɟɧɵ ɜ ɩɚɦɹɬɢ.

                                   61