Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Андреев_Довгалюк_лабор_СДиА.doc
Скачиваний:
18
Добавлен:
26.03.2015
Размер:
527.87 Кб
Скачать

Текст II

// Создание файла на диске

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#define FNAME "a:\\numbers.txt" // имя файла

#define N 5 // количество чисел

// Создает на диске А: файл и записывает в него

// целые числа, введенные пользователем

int main()

{

char fname[20] = FNAME;

FILE* out; // файл чисел

Intn; // число

printf("Создание файла\n");

printf("Введенные числа будут записаны в файл: %s\n\n", fname);

printf("После ввода каждого числа нажимайте <Enter>\n");

// Открыть файл в режиме записи (w) текста (t)

// Если файл с таким именем уже есть, то новые

// данные будут записаны поверх старых

// Для дозаписи в конец файла используйте режим добавления (а)

out = fopen(fname, "wt" );

if (out == NULL)

{

printf("Ошибка открытия файла для записи\n");

getch();

return 1;

}

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

{

printf (" -> ");

scanf ("%i", &n);

fprintf(out, "%i ", n);

}

fclose(out); // закрыть файл

printf("\nВведенные числа записаны в файл %s\n", fname);

printf("Для завершения нажмите <Enter>");

getch();

return0;

}

Текст III

// Вычисление среднего арифметического чисел, находящихся в файлах

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#define FNAME "a:\\numbers.txt" // имя файла

int main()

{

Char fname[20] = FNAME;

FILE*in; // текстовый файл

Inta; // число

Intn= 0; // количество чисел

Intsum= 0; // сумма чисел

Floatsr; // среднее арифметическое

printf("\nВычисление среднего арифметического чисел, находящихся в

файле %s\n", fname);

// Открыть файл в режиме чтения (r) текста (t)

in = fopen(fname, "rt");

if (in == NULL)

{

printf("Ошибка открытия файла для чтения\n");

getch();

return 1;

}

while(!feof(in))

{

fscanf(in, "%i", &a);

sum += a;

n++;

}

fclose(in); // закрыть файл

sr = (float)sum / n;

printf("Введено чисел: %i\n", n);

printf("Сумма чисел: %i\n", sum);

printf("Среднее арифметическое: %3.2f\n", sr);

printf("\nДля завершения нажмите <Enter>");

getch();

return0;

}

3. Написать программу на языке программирования C++ для решения задачи, выданной преподавателем.

    1. Содержание отчета

  1. Текст задания.

  2. Описание алгоритма создания консольного приложения в среде Microsoft Visual Studio .NET 2010.

  3. Описание алгоритма, реализованного в программе.

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

  5. Предусловие и постусловие.

  6. План тестирования и отладки.

  7. Результаты тестирования.

  8. Оценка эффективности алгоритма.

  9. Выводы по работе.

Примечание. Текст программы должен содержать комментарии, поясняющие:

  1. назначение всех переменных.

  2. основные шаги алгоритма.

  1. Лабораторная работа № 2. Представление данных в эвм

Целью работы является изучение влияния способов представления данных в программе на различных языках программирования на правильность ее работы.

    1. Задание на работу

1. Изучить способы представления в программах на языках Си и Паскаль переменных целого и вещественного типа.

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

Вариант

Способ представления переменных

Вариант 1

Целое со знаком, 1 байт

Вариант 2

Целое без знака, 1 байт

Вариант 3

Целое со знаком, 2 байта

Входные данные должны поступать из файла с именем «input.txt», результат записываться в файл с именем «output.txt».

3. Сформулируйте предусловие и постусловие для этих программ.

4. Для наборов чисел, выданных преподавателем, найдите коды их представления в памяти ЭВМ и результата операции. Укажите значение, которое должно быть выведено.

5. Выполните программу для заданных преподавателем наборов данных.

6. Проанализируйте результаты выполнения.