Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП_ЛабРаботы.doc
Скачиваний:
13
Добавлен:
28.09.2019
Размер:
716.8 Кб
Скачать

Министерство образования и науки Российской Федерации

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

САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет: АВТОМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Кафедра: ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

Методические указания к лабораторным работам

по дисциплине: Технология программирования

по направлению 654600 ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

Факультет автоматики и информационных технологий

специальность 230101 Вычислительные машины, комплексы, системы и сети

САМАРА 2008

Лабораторная работа №1 простые программы с циклами и операторами консольного ввода/вывода

Цель работы - знакомство с работой в среде MS Visual Studio и программированием на языке С++.

Задание

  1. Освоить основные операции в среде MS Visual Studio, выполняемые при разработке программ на языке С++.

  2. Разработать консольную программу, которая реализует ввод точек экспериментально полученной зависимости y=f(x) (дискретных значений аргумента x[i] и соответствующих им значений функции y[i]), вывод их в виде таблицы, вычисляет и выводит в виде таблицы сумму, среднее арифметическое, минимальное и максимальное значения по X и по Y.

  3. Разработать консольную программу, которая для полинома, заданного в таблице 1, выводит таблицу значений по X и Y, аналогично п.2. Диапазон и шаг изменения Х вводить с клавиатуры.

  4. Разработать консольную программу, которая на заданном отрезке выполняет поиск одного из корней полинома методом деления отрезка пополам. Границы отрезка вводить с клавиатуры.

Таблица 1. Варианты задания

Бригада №

Полином

Корни

1

X3 + 7.5X2 + 3X – 3.5 = 0

-7, -1, 0.5

2

X3 + 3X2 - 6X – 8 = 0

-4, -1, 2

3

X3 - 5X2 + 2X + 8 = 0

-1, 2, 4

4

X3 - 8X2 + 11X + 20 = 0

-1, 4, 5

5

X3 + 2X2 - 5X – 6 = 0

-3, -1, 2

6

X3 - 4.5X2 + 6.5X – 3 = 0

1, 1.5, 2

7

X3 - 4X2 + X + 6 = 0

-1, 2, 3

8

X3 - 1.5X2 - X + 1.5 = 0

-1, 2, 1.5

9

X3 - 1.5X2 – 2.5X + 3 = 0

-1.5, 1, 2

10

X3 - 3.5X2 + 0.5X + 5 = 0

-1, 2, 2.5

11

X3 + 2.5X2 - X – 2.5 = 0

-2.5, -1, 1

12

X3 - 4X2 - 20X + 48 = 0

-4, 2, 6

Краткая теория

Работа в среде MS Visual Studio

Профессиональный разработчик ПО вынужден большую часть жизни проводить за компьютером, бесконечно повторяя цепочку одних и тех же действий, кото­рые составляют суть процесса отладки приложения. Студия разработчика Microsoft Visual Studio .NET предоставляет для этой цели целый набор достаточно удобных встроенных ин­струментов. Возможности студии позволяют раз­рабатывать проекты различных типов, организовывать зависимые проекты, объединять проекты разных типов. Вы можете создавать и отлаживать как структурно-, так и объектно-ориентированные программы внут­ри интегрированной среды разработки Integrated Development Environment (IDE).

Создаваемые вами файлы должны быть включены в Visual C++ Project, кото­рый необходимо поместить в решение (Solution). Так называется хранилище проектов или область памяти (папка на диске), где расположены ваши проекты и их конфигурации. Solution может содержать не­сколько разных проектов, в том числе и проекты различных типов (например, Visual C++ и Visual J++). Запустив оболочку, вы увидите окно редактора текста, а справа от него — окна, которые представляют собой инструменты для просмотра элементов проекта:

  • ClassView — демонстрирует классы, их данные и методы;

  • Solution Explorer — показывает все файлы, включенные в проекты решения;

  • Properties – показывает свойства выбранного в окне Solution Explorer или ClassView элемента.

Документация выделена в отдельное приложе­ние, называемое MSDN Library (библиотека разработчика). Для получения справки по какому-либо элементу программы в редакторе кода установите на нем курсор и нажмите кнопку F1.

При создании нового проекта (по команде меню File > New > Projects) по умол­чанию создается один проект, но в двух конфигурациях:

  • Debug — версия проекта, в которой выключается оптимизация кода и вклю­чается в него отладочная информация;

  • Release — версия, в которой делается все наоборот (выключается отладоч­ная информация и включается оптимизация кода).

Обычно при создании нового проекта он автоматически помещается во вновь созданное решение в конфигурации Debug. Демонстрация файлов проекта в отдельной папке проекта не означа­ет, что файлы физически расположены в одной папке. Оболочка может исполь­зовать ссылки на файлы из других директорий, но графически отображать файлы так, как будто они находятся в папке проекта. В процессе работы с проектом вы можете безболезненно удалять папки Debug или Release. Они автоматически вос­становятся при последующей компиляции исходных файлов.

Visual Studio предлагает выбор из различных типов про­ектов приложений. Их все можно увидеть, выбрав пункт меню File > New > Projects. Мы будем использовать С++ Win32 Console Project - проект консольного приложения для платформы Win32. Для создания консольного приложения выполните следующую последовательность действий.

1. Выберите в меню команду File > New > Projects.

2. В появившемся окне диалога выберите тип проекта Win32 Console Project.

3. В поле Name задайте имя проекта: First.

4. Выберите месторасположение папки с проектом (в поле Location:).

5. Нажмите кнопку More , введите имя решения Solution (Lab1) и сделайте отметку в окне Create directory for Solution.

6. Подтвердите выбор, нажав ОК.

7. Нажмите кнопку Finish.

Фокус переходит в окно редактора текста, где можно ввести код программы. Набранную программу можно сразу компилировать и запускать на выполнение.

Компиляция, компоновка и запуск приложения в Microsoft Visual Studio совершаются с помощью команд, выбираемых из меню Build или Debug или с помощью ком­бинаций клавиш (shortcuts).Самый быстрый способ запуска програм­мы — с помощью команды Debug > Start или F5. Отдав команду, вы должны уви­деть сообщение (message box) о том, что не существует файл First.exe или First.obj во вновь созданной папке Debug (эта конфигурация проекта выбрана по умолчанию). Согласитесь с предложением создать эти файлы.

Выполнение Debug-версии проекта в пошаговом режиме осуществляется с помощью следующих клавиш:

• F10 — без захода в вызываемые функции (Step Over);

• F11 — с заходом в вызываемые функции (Step Into).

Поставьте фокус в окно редактора и нажмите клавишу F10. Приложение запускается в режиме пошаго­вой отладки и появляется новое окно Locals для просмотра текущего содержимого переменных программы.

Массивы, объекты классов и структуры можно «раскрывать» (expand). Пере­ход в окно выполняемого приложения выполняется обычным способом — нажа­тием комбинации клавиш Alt+Tab. Каждое нажатие клавиши F10 приводит к вы­полнению одной строки программы. Указатель в окне редактора опережает события и устанавливается на ту строку, которую еще предстоит выполнить. На­жмите клавишу F10 еще раз — указатель перемещается на первую строку с вы­полнимыми операторами. Посмотрите в окно Locals. Здесь высвечены текущие значения переменных

Останавливать отладку следует командой Stop Debugging (Shift+F5).

Клавиша F11 служит для пошагового вы­полнения с заходом в вызываемые функции. Она позволяет пройтись по многим системным функциям, и ее можно рассматривать как некоего гида по коду, на­писанному разработчиками системы. Без сомнения, таким образом можно многое увидеть, многое понять и многому научиться. Он просто необходим, когда вы хотите попасть внутрь своей функции, вызов которой находится в текущей строке отладчика.

Ошибки, обнаруженные на этапах компиляции и компоновки, выводятся в окно Output. Мгновенный переход в файл с текстом программы (к строке с ошиб­кой) происходит при двойном щелчке на строке с сообщением об ошибке. Это справедливо для ошибок, обнаруженных на этапе компиляции. Многие ошибки на этапе компоновки (linking) могут быть исправлены изменением настроек про­екта (Project > Properties...).

Пример

Рассмотрим пример программы, которая реализует ввод точек экспериментально полученной зависимости у = f(x), то есть дискретных значений аргумента x[i] и соответствующих им значений функции y[i].

#include <stdio.h> // Подключаемые файлы заголовков

#include <conio.h>

int in (int min, int max) //Внешняя функция

{ //======== Ввод целого в диапазоне (min, max) ==//

int n;

bool bad=true;

while (bad) // Пока есть ошибки

{

printf ("\n Enter an integer %d..%d:",min,max);

scanf ("%d",&n); // Ввод целого по адресу n

fflush (stdin); // Очистка буфера

bad = n<min || max<n; // Ошибка

if (bad) {

printf("\nOut of range %d..%d ",min,max);

if (!getch()) getch(); //Ждем реакцию

}

}

return n;

}

void main ()

{

float x[10],y[10]; // Массивы вещественных

int i,n;

puts ("\n Number of points:");

n = in(2,10); //Вызов функции безопасного ввода

puts ("\n Points Coordinates :");

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

{

printf ("\nx[%d]= ",i+1);

scanf ("%f",&x[i]);

printf ("y[%d]= ",i+1);

scanf ("%f",&y[i]);

}

puts ("\n You've entered:");

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

printf("\nx[%d]=%5.2f\ty[%d]=%6.3f",i+1,x[i],i+1,y[i]);

puts( " \n\n");

}