- •Министерство образования и науки российской федерации
- •Содержание
- •Введение
- •Лабораторная работа № 1. Среда разработки приложений Microsoft Visual Studio .Net 2010
- •Основные сведения
- •Создание консольного приложения
- •Содержание файла «TestProject.Cpp»
- •Содержание файла «stdafx.Cpp»
- •Содержание файла «stdafx.H»
- •Задание на работу
- •Текст II
- •Текст III
- •Содержание отчета
- •Лабораторная работа № 2. Представление данных в эвм
- •Задание на работу
- •Входные данные
- •Пример выполнения задания
- •Классы выделяемых литер
- •Классы выделяемых лексем
- •Диаграмма (граф) переходов
- •Входной файл
- •Выходной файл
- •Содержание отчета
- •Лабораторная работа № 4. Работа со стеком
- •Задание на работу
- •Пример содержимого заголовочного файла lab_stack.H
- •Алгоритмы для реализации атд «Стек» на языке Си
- •Реализация при помощи массива
- •Реализация при помощи связанных структур
- •Содержание отчета
- •Контрольные вопросы для допуска к лабораторной работе
- •Лабораторная работа № 5. Работа с очередью
- •Задание на работу
- •Пример содержимого заголовочного файла lab_queue.H
- •Алгоритмы для реализации атд «Очередь» на языке Си
- •Реализация при помощи массива
- •Реализация при помощи связанных структур
- •Содержание отчета
- •Контрольные вопросы для допуска к лабораторной работе
- •Лабораторная работа № 6. Хеширование
- •Задание на работу
- •Пример индивидуального задания на работу
- •Входные данные
- •Выходные данные
- •Содержание отчета
- •Пример входных данных
- •Краткая теоретическая справка
- •Задача о программисте Пете
- •Входные данные
- •Выходные данные
- •Математическая модель
- •Решение задачи о программисте Пете полным перебором
- •Текст программы
- •Генератор тестовых наборов
- •Текст программы
- •Литература
Текст 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++ для решения задачи, выданной преподавателем.
Содержание отчета
Текст задания.
Описание алгоритма создания консольного приложения в среде Microsoft Visual Studio .NET 2010.
Описание алгоритма, реализованного в программе.
Текст программы.
Предусловие и постусловие.
План тестирования и отладки.
Результаты тестирования.
Оценка эффективности алгоритма.
Выводы по работе.
Примечание. Текст программы должен содержать комментарии, поясняющие:
назначение всех переменных.
основные шаги алгоритма.
Лабораторная работа № 2. Представление данных в эвм
Целью работы является изучение влияния способов представления данных в программе на различных языках программирования на правильность ее работы.
Задание на работу
1. Изучить способы представления в программах на языках Си и Паскаль переменных целого и вещественного типа.
2. Написать три варианта программы на языках программирования Си или Паскаль. В программе производится ввод и контрольный вывод значений двух переменных, затем вычисляется значение суммы этих чисел и производится вывод значения суммы чисел. Варианты программ отличаются способом представления переменных в памяти компьютера.
Вариант |
Способ представления переменных |
Вариант 1 |
Целое со знаком, 1 байт |
Вариант 2 |
Целое без знака, 1 байт |
Вариант 3 |
Целое со знаком, 2 байта |
Входные данные должны поступать из файла с именем «input.txt», результат записываться в файл с именем «output.txt».
3. Сформулируйте предусловие и постусловие для этих программ.
4. Для наборов чисел, выданных преподавателем, найдите коды их представления в памяти ЭВМ и результата операции. Укажите значение, которое должно быть выведено.
5. Выполните программу для заданных преподавателем наборов данных.
6. Проанализируйте результаты выполнения.