Главная страница
Навигация по странице:

  • Отчёт Лабораторная работа № 11по дисциплине «Программирование»на тему:«Файлы

  • Задание 1

  • Схема алгоритма

  • Текст программы: define _CRT_SECURE_NO_WARNINGS

  • Исходные файлы для программы 11_1

  • Задание

  • Схема алгоритма: Текст программы

  • Исходные файлы для программы 11_1

  • Результаты выполнения программы, выводы

  • лр 11 по дисциплине программирование. отчет по лр11программирование. Лабораторная работа 11 по дисциплине Программирование на тему Файлы Студент гр. Ивт222 Сарсенбаев М. С


    Скачать 238.54 Kb.
    НазваниеЛабораторная работа 11 по дисциплине Программирование на тему Файлы Студент гр. Ивт222 Сарсенбаев М. С
    Анкорлр 11 по дисциплине программирование
    Дата23.04.2023
    Размер238.54 Kb.
    Формат файлаodt
    Имя файлаотчет по лр11программирование.odt
    ТипЛабораторная работа
    #1084122

    Министерство науки и высшего образования РФ

    Федеральное государственное автономное образовательное учреждение

    высшего образования

    «Омский государственный технический университет»

    Кафедра «Информатика и вычислительная техника»

    Отчёт

    Лабораторная работа № 11

    по дисциплине «Программирование»

    на тему:

    «Файлы»

    Выполнил:

    Студент гр.ИВТ-222

    Сарсенбаев М.С. _____________

    (подпись, дата)

    Проверил:

    Ассистент

    Горшенин А.Ю. ______________

    (подпись, дата)

    Омск 2023

    Задание 1 (программа 11_1)

    Условие задачи: Выполнить задачу из лабораторной работы 9, считывая исходные данные из одного файла и записывая полученные результаты в другой текстовый файл. Файл с исходными данными должен быть подготовлен предварительно.

    Схема алгоритма:








    Текст программы:

    #define _CRT_SECURE_NO_WARNINGS

    #include

    #include

    #include

    #define stroka 3

    #define stolbec 3

    #define stroka2 4

    #define stolbec2 4

    int stepen(int x[stroka][stolbec], int y[stroka][stolbec], int* q, int* w, int* e);

    int stepen2(int x[stroka2][stolbec2], int y[stroka2][stolbec2], int* q, int* w, int* e);

    int main()

    {

    setlocale(0, "");

    int a[stroka][stolbec], a2[stroka][stolbec], a3[stroka][stolbec];

    int b[stroka2][stolbec2], b2[stroka2][stolbec2], b3[stroka2][stolbec2];

    int res, sum, sr;

    FILE* f1, * f2, * F1, * F2;

    printf("Забор элементов из первого файла для первой матрицы а[3][3]\n");

    f1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/fileone.txt.txt", "r");

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

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

    fscanf_s(f1, "%d", &a[i][j]);

    }

    }fclose(f1);

    printf("Забор элементов из второго файла для второй матрицы b[4][4]\n");

    f2 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/filetwo.txt.txt", "r");

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

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

    fscanf_s(f2, "%d", &b[i][j]);

    }

    }fclose(f2);

    F1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/resultone.txt.txt", "w");

    fprintf(F1, "2-степень первой матрицы \n");

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

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

    stepen(a, a, &res, &sum, &sr);

    a2[i][j] = res;

    fprintf(F1, "%4.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fprintf(F1, "3-степень первой матрицы\n");

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

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

    stepen(a, a2, &res, &sum, &sr);

    a3[i][j] = res;

    fprintf(F1, "%4.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fprintf(F1, "4-степень первой матрицы\n");

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

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

    stepen(a, a3, &res, &sum, &sr);

    fprintf(F1, "%4.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fprintf(F1, "2-степень второй матрицы\n");

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

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

    stepen2(b, b, &res, &sum, &sr);

    b2[i][j] = res;

    fprintf(F1, "%4.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fprintf(F1, "3-степень второй матрицы\n");

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

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

    stepen2(b, b2, &res, &sum, &sr);

    b3[i][j] = res;

    fprintf(F1, "%8.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fprintf(F1, "4-степень второй матрицы\n");

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

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

    stepen2(b, b3, &res, &sum, &sr);

    fprintf(F1, "%8.d", res);

    }

    fprintf(F1, "\n");

    }

    fprintf(F1, "\n");

    fprintf(F1, "Cумма элементов = %d\nСреднее арифметическое = %d", sum, sr);

    fprintf(F1, "\n");

    fclose(F1);

    }

    int stepen(int x[stroka][stolbec], int y[stroka][stolbec], int* q, int* w, int* e)

    {

    int A[stroka][stolbec];

    int sum = 0;

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

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

    int s = 0;

    for (int f = 0; f < stolbec; f++) {

    s += y[i][f] * x[f][j];

    }

    A[i][j] = s;

    sum += s;

    *q = A[i][j];

    }

    }

    *w = sum;

    *e = sum / (stroka * stolbec);

    return 0;

    }

    int stepen2(int x[stroka2][stolbec2], int y[stroka2][stolbec2], int* q, int* w, int* e) {

    int B[stroka2][stolbec2];

    int sum = 0;

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

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

    int s = 0;

    for (int f = 0; f < stolbec2; f++) {

    s += x[i][f] * y[f][j];

    }

    B[i][j] = s;

    sum += s;

    *q = B[i][j];

    }

    }

    *w = sum;

    *e = sum / (stroka2 * stolbec2);

    return 0;

    }

    Исходные файлы для программы 11_1:



    Результаты выполнения программы, выводы:




    Задание2(программа 11_2)

    Условие задачи:

    Даны два файла F1, F2. Сформировать третий файл F, в который сначала записать все элементы файла F1, а затем – элементы файла F2.

    Схема алгоритма:



    Текст программы:

    #include

    #include

    #define _CRT_SECURE_NO_WARNINGS

    using namespace std;

    int main()

    {

    FILE* f1, * f2, * f;

    char a[100], c[100];

    int i, k, j;

    f1 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/file1.txt", "r");

    i = 0;

    while (!feof(f1))

    {

    fgets(&a[i], 100, f1);

    i++;

    }fclose(f1);

    f2 = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/file2.txt", "r");

    j = 0;

    while (!feof(f2))

    {

    fgets(&c[j], 100, f2);

    j++;

    }fclose(f2);

    f = fopen("C:/Users/maksa/OneDrive/Рабочий стол/ОТЧЕТЫ ПРОГРАММИРОВАНИЕ/result1.txt", "w");

    for (k = 0; k < strlen(a); k++)

    {

    fprintf(f, "%c", a[k]);

    }fprintf(f, " ");

    for (k = 0; k < strlen(c); k++)

    {

    fprintf(f, "%c", c[k]);

    }

    fclose(f);

    }

    Исходные файлы для программы 11_1:





    Результаты выполнения программы, выводы:




    написать администратору сайта