Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по информатике. Часть 2.doc
Скачиваний:
53
Добавлен:
27.03.2016
Размер:
10.52 Mб
Скачать

Технология выполнения работы

  1. Разработать алгоритм для написания программы в виде блок-схемы.

  2. Написать программу.

  3. Протестировать ее с разными исходными данными.

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

  1. Цель работы, условие задачи

  2. Алгоритм в виде блок-схемы.

  3. Исходный текст программы.

  4. Вводимые данные и результаты.

  5. Фрагменты экрана с диалоговыми окнами Excel.

  6. Результат работы программы должен иметь наглядный вид.

Вопросы для защиты работы

  1. Как описываются массивы переменных?

  2. Сколько операций цикла DO Вы знаете?

  3. Как выглядит оператор цикла FOR?

  4. Указать вид оператора DO, который выполняется, пока условие дает истину.

  5. Указать вид оператора DO, который выполняется, пока условие дает ложь.

  6. Можно ли прервать выполнение оператора FOR принудительно?

Лабораторная работа № 8 Программирование в среде разработки Borland C++. Линейные алгоритмы

Время выполнения – 2 часа.

Цель работы

Научиться работать в интегрированной среде программирования (ИСП) и приобрести навыки составления линейных алгоритмов.

Задачи лабораторной работы

После выполнения работы студент должен уметь:

  • вводить и редактировать текст (манипуляция с символами, строками, блоками как в пределах одного окна, так и между ними);

  • получать справку от ИСП;

  • компилировать и запускать на выполнение программу;

  • искать и исправлять синтаксические и семантические ошибки;

  • выполнять трассировку (пошаговую отладку) программы;

  • инициировать и изменять значения переменных;

  • написать текст программы по схеме алгоритма, и, наоборот, по тексту программы составить схему её алгоритма;

  • написать текст программы на языке программирования C++;

  • применять в структуре программы типы данных, арифметические операции, математические функции, функции ввода и вывода, оператор присваивания – и правила их использования;

  • проводить тестирование программы, используя известные ему приложения (например, ExcelилиMathCAD).

Перечень обеспечивающих средств

Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система семейства Windowsи язык программированияС++.

Общие теоретические сведения

Интегрированная среда программирования Borland С++

Окно интегрированной среды программирования (ИСП) BorlandC++ (BC) состоит из 4-х основных частей: главного меню, окна редактирования, окна сообщений и строки состояния, в каждую из которых можно войти с помощью «мыши» (рис. 1).

Главное

меню

Окно

редактиро-вания

Окно

сообщений

Строка

состояния

Рисунок 1 – Интерфейс интегрированной среды программирования BorlandC++

«Главное меню» доступно клавишей F10или путем нажатия комбинаций клавишALTи первой буквы соответствующего элемента меню.

Таблица 1 – Меню File, команды работы с файлами

New

открыть новое окно редактирования

Open... F3

открыть существующий файл с диска

Save F2

сохранить программу под старым именем

Save as...

сохранить программу под новым именем

Save all

сохранить все файлы из всех окон

Change dir...

сменить каталог

Print

печать программы

Print setup...

установка параметров печати

Dos shell

временный выход в MS DOS

Exit Alt+X

выход из ИПС

Таблица 2 – Меню Edit, команды редактирования

Undo Alt+BksSp

отменить последнее действие

Redo

повторить последнее действие

Cut Shift+Del

вырезать выделенный фрагмент

Copy Ctrl+Ins

копировать выделенный фрагмент в буфер обмена

Paste Shift+Ins

вставить содержимое буфера обмена

Clear Ctrl+Del

удалить выделенный фрагмент

Show clipboard

показать окно буфера обмена

Search

команды поиска

Find...

найти фрагмент, указанный в окне

Replace...

найти фрагмент и заменить его на указанный в окне

Search again

повторить поиск

Go to line number

перейти к указанному номеру строки

Show last compiler error

показать последнюю ошибку компиляции

Find error...

найти ошибку

Find procedure...

найти процедуру, заданную в окне

Previous browser

покачать информацию предыдущего окна

Objects

показать в окне «дерево» объектных файлов

Units

показать в окне «дерево» модулей

Global

показать все глобальные переменные

Symbol...

задать идентификатор для выдачи номеров строк с ним

Таблица 3 – Меню Run, команды запуска расчета

Run Ctrl+F9

запуск программы на исполнение

Step over F8

пошаговое выполнение процедур

Trace into F7

пошаговое выполнение операторов

Go to cursor F4

выполнение фрагмента до курсора

Program reset Ctrl+F2

завершение сеанса отладки

Parameters...

настройка параметров

Таблица 4 – Меню Compile, компиляция программы

Compile Alt+F9

компиляция файла

Make F9

перекомпиляция только измененных модулей

Build

перекомпиляция всех модулей

Target... Real

выбор режима-приложения

Primary file...

указание главного файла для команд Make и Build

Clear primary

отмена указания главного файла

Information...

информация о скомпилированном файле

Таблица 5 – Меню Debug, команды отладки

Breakpoints

управление точками прерывания

Call stack Ctrl+F3

показ имен процедур до работающей процедуры

Register

информация о регистрах процессора

Watch

информация о значениях переменных и выражений

Output

отображение результатов без графики

User screen Alt+F5

просмотр результатов программы

Evaluate modify...Ctrl+F4

просмотр и изменение значений переменных

Add watch... Ctrl+F7

просмотр конкретных значений переменных

Add breakpoint...

установка условных и безусловных точек прерывания

Таблица 6 – Меню Tools, команды работы с сообщениями ИПС и утилитами отладки

Messages

переход в окно сообщений

Go to next Alt +F8

переход к следующему элементу окна

Go to previous Alt+F7

переход к предыдущему элементу окна

Grip Shift+F2

вызов программы Grip

Turbo Assembler Shift+F3

вызов программы Assembler

Turbo Debugger Shift+F4

вызов программы Debugger

Turbo Profiler Shift+F5

вызов программы Profiler

Таблица 7 – Меню Options, команды установки параметров интегрированной среды

Compiler

параметры, определяющие работу компилятора

Memory Sizes

размеры стека, размер памяти

Linker

параметры компоновщика

Directories

задает каталоги, для помещения и извлекания файлов

Browser

опции, связанные с просмотром

Tools

местоположение программных компонентов меню

Environment

параметры работы с мышью, редактором и т. п.

Open

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

Save

сохраняет файл конфигурации

Save as

сохраняет файл конфигурации с запросом имени

Таблица 8 – Меню Window, команды управления окнами

Tile

показать все открытые окна редактирования

Cascade

показать в каскадном виде все открытые окна редактирования

Close all

закрыть все открытые окна

Refresh display

восстановление изображения ИПС после сбоев

Save Move Ctrl+F5

изменение размеров окна

Zoom F5

раскрытие окна до полного размера экрана

Next F6

переход в следующее окно

Previous Shift+F6

переход в предыдущее окно

Close Alt+F3

закрытие окна

List Alt+0

перечисление всех окон с момента работы ИПС

Таблица 9 – Меню Help, вызов справочной информации

Contents

вывод оглавления справки

Index Shift+Fl

вывод алфавитного перечня терминов

Topic search Ctrl+Fl

вывод справки о термине, указанным курсором

Previous topic Alt+Fl

переход к предыдущей справке

Using help

вывод инструкции по работе со справочной информацией

Filet...

добавление и удаление информационных файлов

Compiler directives

вывод списка всех директив компилятора

Procedures and functions

вывод алфавитного перечня процедур и функций

Reserved words

вывод зарезервированных слов

Standards units

вывод стандартных модулей

Error messages

вывод о сообщениях ошибок

About ...

служебная информация

Для входа в «Окно редактирования» нажать комбинацию клавиш <Alt> и <цифра>, где <цифра> - номер окна. С окнами можно:

создавать новое – <Alt>+<F>+<N> (илиFile/New),

закрывать текущее – <Alt>+<F3>.

Таблица 10 – «Горячие» клавиши

< Insert>

переключение режима вставки/замены символов

<Delete>

удаление символа, находящегося над курсором

<Backspace>

удаление символа, находящегося слева от курсора

<End>

перемещение курсора в конец текущей строки

<Home>

перемещение курсора и начало текущей строки

<Enter>

для перехода на новую строку и разрезания текущей строки на две

<Page Up>

«прочитывание» текста на один экран вперед

<Page Down>

«прочитывание» текста на один экран назад

<Сарs Lock>

переключение режима прописные/строчные буквы

<Shift>

временное переключение режима прописные/строчные буквы

<Ctrl> + <y>

позволяет удалить текущую строку

<Ctrl> + <k> + <c> (или <Ctrl> + <Insert>)

копирование

<Ctrl> + <k> + <v> (или <Shift> + <Insert>)

перемещение

<Ctrl> + <k> + <y> (или <Ctrl>+<Delete>)

удаление

<Ctrl> + <k> + <h>

отмена выделения блока

<F2> (или <Alt> + <F2>)

сохранение в файле на диске

<F3> (для существующего)

считывание из файла на диске

<Tab>

перемещение указателя в открывшемся окне

<Alt>+<F9>

проверка программы на ошибки (компиляция)

<Ctrl>+<F1>

справка по ошибке

<Ctrl> + <F9>

создание файла с расширением «.ехе»

<Alt> + <F5>

просмотр результатов отчетов

Для обнаружения алгоритмических ошибок можно воспользоваться следующими операциями, условно состоящими из нескольких шагов:

  • установить индикацию (или просмотреть значения переменных) в процессе выполнения программы – <Ctrl>+<F7>. В открывшемся окне ввести имя переменной;

  • провести трассировку (т. е. построчно выполнить) – нажимать на <F7> (или <F8> – для исключения функций);

  • изменить(если требуется)значенияпеременной в процессе трассировки программы – <Ctrl>+<F4>. Набрать в окне “Expressionимя интересующей переменной, после чего в окне “Resultвысветится ее значение. Если в окне “New Valueввести новое значение, то дальнейшие вычисления будут выполняться уже с ним.

Во всех операциях указатель можно передвигать с помощью клавиши <Tab>.

Для входа в «Окно сообщений» можно воспользоваться командой главного меню Tools/Messages. Переход к следующему элементу сообщения <Alt> + <F8>. Переход к предыдущему элементу сообщения <Alt> + <F7>.

«Строка состояния» содержит пояснения о назначении пунктов выпадающего меню (см. выше).

С учетом представленной ИСП, может быть рекомендован следующий план работы при создании и отладки новой программы.

  1. Открыть новое окно редактирования для ввода новой программы (File/New).

  2. Набрать текст новой программы.

  3. Записать текст программы на диск (File/Save или <F2>).

  4. Запустить программу на выполнение (Run/Run или <CTRL>+<F9>).

  5. Посмотреть результаты выполнения программы (<ALT>+<F5>).

  6. Сохранить отлаженную программу на диске (<F2>).

Основы языка С++

Приступая к составлению программ, следует помнить следующее:

  1. программа должна оформляться в соответствии со структурой языка программирования С++ (табл. 11);

  2. программа должна иметь начало и конец, обозначенные операторным блоком { … };

  3. каждая переменная программы должна быть объявлена в начале программы с указанием её типа. Переменная может быть инициализирована некоторым значением. В имени переменной могут использоваться цифры и буквы латинского алфавита. Базовые типы данных даны в табл. 12;

  4. все арифметические выражения состоят из операндов, которые должны расписываться в одну строчку. Если в формуле имеется дробь, то числитель и знаменатель указывается в круглых скобках. Основные операции, применяемые в выражениях, представлены табл. 13.

Операция % выполняется только с целыми числами, и результатом вычисления является целое число.

В языке С++ операции инкремента (++) и декремента (––) могут появляться перед или после своего операнда. Когда операция является префиксом своего операнда, то операнд инкрементируется или декрементируется и его новое значение является результатом вычисления выражения. Когда операция является постфиксом своего операнда, то непосредственным результатом выражения является значение операнда перед его инкрементированием или декрементированием. После этого результат используется в контексте, а операнд инкрементируется или декрементируется;

  1. вычисления в выражениях выполняются в соответствии с приоритетом операций, распределенных по категориям (табл. 14);

  2. каждый оператор должен заканчиваться символом « ; » - признаком окончания действия;

  3. для ввода и вывода информации используются специальные функции (табл. 15). После вывода информации курсор устанавливается в этой же строке. Если есть необходимость переслать курсор на начало следующей строки, то используются в С++ – специальные управляющие символы «\n» и «endl»;

  4. в составе транслятора среды программирования имеются стандартные функции, применяемые при вычислениях. Основные, наиболее часто используемые функции представлены табл. 16. Необходимо обращать внимание на подключаемые библиотечные модули, содержащие стандартные функции.

Таблица 11 – Структура программы

Назначение

Структура

Директивы препроцессора

Раздел объявлений и соглашений

Раздел описания процедур и функций

Основная программа

# include < Имя библиотеки>

# define Имя Макрос

label Номер метки;

const Имя константы = Значение константы;

Имя типа переменной Список имен переменных;

function Имя функции (входные и выходные данные)

{

Тело функции

}

main ( )

{ Тело программы }

Таблица 12 – Типы данных и диапазон представления чисел

Диапазон

Тип

целые числа

0…255

uns char

-128…127

char

-32768…32767

int, short

0…65535

uns short

-2147483648…2147483647

long

0…4294967295

uns long

вещественные числа

3,4Е-38…3,4Е38

float

1,7Е-308…1,7Е308

double

3,4Е-4932…1,1Е4932

long double

Таблица 13 – Операции

Назначение

Операция

аддитивные

арифметические

+, –

мультипликативные

*, /

остаток от деления

%

отношений

равно

==

не равно

!=

больше

>

меньше

<

больше или равно

>=

меньше или равно

<=

логические

и

&&

или

||

отрицание

!

присваивания

простое присваивание

=

сложение с присваиванием

+=

вычитание с присваиванием

–=

умножение с присваиванием

*=

деление с присваиванием

/=

остаток от деления с присваиванием

%=

унарный инкремент

++

унарный декремент

– –

Таблица 14 – Приоритет выполнения операций

Операция

Приоритет

Категория

!, ++, – –

Первый

Унарные

*, /, %, &&

Второй

Мультипликативные

+, –, ||

Третий

Аддитивные

==,!=, <, >, <=, >=

Четвертый

Отношения

=, *=, /=, %=, +=, –=

Низший

Простое и составное

Таблица 15 – Функции и процедуры ввода и вывода

Спецификаторы

форматов и управляющие символы

Функции

Ввод

Библиотека: stdio.h

%d, %i– целые

%f – вещественные

%с– символьные

%s– строковые

scanf (“специф“, & идентификатор);

например,

scanf (“%d%f”, &a, &b);

scanf (“%c”, &ch);

scanf (“%s”, st);

Библиотека: iostream.h

cin>>идентификатор;

например,

cin>>a; cin>>b>>ch; cin>>st;

Вывод

Библиотека: stdio.h

%d, %i– целые

%f – вещественные

%с– символьные

%s– строковые

\n– перевод строки

printf (“текст специф“, идентиф);

например,

printf (“Значение а= %d\n”, a);

printf (“а= %d\n и b= %f\n ”, a, b);

printf (“\n символ= %c \n ”, ch);

printf (“ строка: %s \n ”, st);

Библиотека: iostream.h

\n и endl – перевод строки

cout<<текст<<идентификатор;

например,

cout<<”Значение a=”<<a<<”\n”;

cout<<” a=”<<a<<” b=”<<b<<endl;

cout<<”символ: ”<<ch<<endl;

cout<<”строка: ”<<st<<endl;

Таблица 16 – Часто используемые стандартные функции

Назначение

Функция

абсолютное значение по модулю

abs (int x), fabs (double x),

labs (longint x)

тригонометрические функции (в радианах)

double cos (double x)

double sin (double x)

double atan (double x)

double tan (double x)

экспонента числа – expx

double exp (double x)

вычисляет остаток от числа

double fmod (double x, double y)

вычисляет целую часть от числа

struct div ( int x; int y)

натуральный логарифм числа

double log (double x)

десятичный логарифм

double log10 (double x)

квадрат числа

double sqr (double x)

квадратный корень числа

double sqrt (double x)

вычисляет число xв степениy

double pow (double x, double y)

возвращает случайное число в диапазоне 0…x;

int rand ()

округляет число до целого

double floor (double x)