Введение в интегрированную среду программирования

А.Д. Шишкин

Е.А. Чернецова

ПРАКТИКУМ

по дисциплине «Языки программирования»

Раздел: Программирование на языке Си и С++

Санкт–Петербург

УДК 681.3.657.1

Шишкин А.Д., Чернецова Е.А. Практикум по дисциплине “Языки программирования”. Раздел: Программирование на языке Си и С++.- СПб.: изд. РГГМУ, 2012.- 62 с.

Рецензент В.В. Фомин, проф. РГГУ им. А.И. Герцена

В лабораторный практикум по дисциплине ”Языки программирования” включены деcять работ, которые охватывают разделы, относящиеся к языку Си и С++ .

Работы ориентированы на приобретение студентами навыков программирования на языке Си и С++ в пакетах TURBO С, Borland C++ и C++Builder.

Содержащиеся в практикуме сведения по теории программирования, методические указания и рекомендации по выполнению работ позволяют использовать его в качестве пособия для закрепления курса лекций. Издание второе, переработанное. Включен материал по технологии работы в пакете Borland C++Builder. Дополнительно включены две новые работы, откорректированы и расширены задания по выполнению работ.

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

ã Шишкин А.Д., Чернецова Е.А. 2012

ã Российский государственный гидрометеорологический

университет (РГГМУ), 2012

Введение в интегрированную среду программирования

Назначение и режимы работы ИС TURBO С

Интегрированная среда программирования (ИС) TURBO C предназначена для создания, редактирования и запуска в работу программ, написанных на языке программирования С и С++. В ней пользователь получает ряд услуг, упрощающих процесс создания и отладки программ. В системе имеется развитая система помощи, которая позволяет получить справочную информацию по всем вопросам программирования. Она предоставляет такие возможности как многооконный режим работы, поддержка работы с мышью, возможность быстрого перехода к другим программам и быстрого возврата, наличие макроязыка редактора и др.

Система имеет два режима работы. Первый, наиболее важный, который используется практически всегда - это режим работы с интегрированной средой TURBO. В ней работа осуществляется с помощью меню. Второй режим работы – использование традиционного метода, когда в начале применяется какой-либо текстовый редактор для создания текстового файла с программой, затем, набирая в командной строке соответствующие команды для компиляции, компоновки и, наконец, выполнения программы.

Запуск среды TURBO

Войти в ИС программирования можно двумя путями:

1) найти на рабочем столе ярлык системы Turbo C и щелкнуть по нему левой кнопкой мыши два раза;

2) на диске найти каталог TURBO C, в подкаталоге BIN выбрать команду

tc.exe

и нажать клавишу <Enter>.

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

Строка меню предоставляет доступ к командам интегрированной среды. Выбор команд меню, а при их активации, подменю осуществляется с помощью мыши.

Окно редактирования предназначено для ввода и редактирования текста программы. Система TURBO C позволяет держать в памяти несколько открытых окон. При этом активным является только одно. Новое окно открывается с помощью пункта меню File/New строки меню. Для редактирования уже имеющегося файла необходимо его открыть командой File/Open. В открывшемся окне указать путь и имя файла.

Каждое окно имеет рамку, в верхней части которой расположен заголовок окна (имя файла).

ИС позволяет держать в памяти несколько открытых окон, при этом активным является только окно, на которое установлен так называемый фокус ввода.

Окно сообщения предназначено для вывода сообщений о результатах компилирования.

Приведем краткое описание назначения элементов меню рис. 1:

Рис.1-С трока меню

· E- Системное меню.

· File - загрузка и создание файлов, сохранение внесенных в программу изменений, выход из системы.

· Edit - реализация различных режимов редактирования текста программы (копирование, вставка, удаление) в активном окне.

· Search - поиск фрагментов текста, объявление функций, местоположения ошибок.

· Run – компиляция, компоновка и запуск программы на выполнение.

· Compile – компиляция программы.

· Debug – управление возможностями отладки и запуска программы.

· Project – организация проектов (многофайловых программ).

· Options – настройка интегрированной среды.

· Window – управление окнами.

· Help – Обращение к системе оперативной подсказки.

Выход из системы

Чтобы окончательно покинуть систему можно воспользоваться командой Quit в меню File или нажать комбинацию клавиш ALT+X. Для временного выхода в операционную систему (чтобы выполнить какую-либо команду DOS), оставив при этом программу в памяти машины, используется опция DOS Shell меню FILE. Для возврата в систему требуется набрать в командной строке DOS команду Exit.

Работа с окнами

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

Каждое окно имеет свой номер. Переход в другое окно (когда работа ведется с несколькими окнами) осуществляется нажатием клавиш ALT+N, где N – цифра, определяющая номер окна.

Операции с окнами могут выполняться с помощью меню, мыши, либо с помощью «горячих» клавиш. Описание команд меню приведено в[2].

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

1.Загрузите интегрированную среду Turbo C. Ознакомьтесь с окнами и пунктами главного меню. Откройте новое окно с помощью пункта меню File/New.

В появившееся окно наберите реализуемую программу. Набор текста осуществляется обычным набором средств, знакомых вам по работе с текстовыми редакторами. Запишите набранную программу под своим оригинальным именем в каталог группы. Для этого выберите в меню команду File/Save as. В появившемся окне наберите путь, имя файла и нажмите клавишу <Enter>.

2. Редактирование теста программы. Откройте следующее окно. Используя директивы редактора для работы с блоками текста, выделите часть текста программы. Для этого установите курсор в начало блока текста и, используя директиву Ctrl+KB, выделите начало блока, а затем, установив курсор в конец блока текста директивой Ctrl+KK – конец блока. Сразу же после выделения текст высветится в инверсном изображении. С выделенным блоком текста можно осуществлять операции копирования, перемещения, удаления и т. д.

Скопируйте выделенный блок в подготовленное вами пустое окно редактора. Для этого следует выбрать пункт меню Edit/Copy, с помощью которого выделенный текст будет скопирован в карман. Затем следует перейти в нужное окно редактора и, используя пункт меню Edit/Paste, вставить текст из кармана в окно на позицию, указанную курсором.

Отмените выделение текста директивой Ctrl+KH (повторное выполнение директивы снова выделит текст).

3. Повторите описанный выше процесс копирования с различными участками исходного текста для закрепления навыков копирования. Попробуйте переместить фрагменты текста в выбранную вами позицию в режиме копирования и переноса. Удалите часть текста, а затем вставьте его.

Выделение блока происходит также в том случае, если при нажатой клавише Shift нажимаются клавиши: стрелки перемещения курсора и клавиши Home, End, PgUp, PgDn. Кроме команд редактирования, удобно использовать следующие директивы для работы с выделенными блоками текста.

Директива Функция

Ctrl+Del удаление выделенного блока,

Ctrl+Ins копирование выделенного блока в карман,

Shift+Del перемещение выделенного блока в карман,

Shift+ Ins вставка выделенного блока из кармана.

Проведите выделение текста и манипуляции с текстом с использованием указанных клавиш.

4. Использование мыши для работы с текстом. Использование мыши значительно упрощает работы с окнами и текстом. Для перехода из одного окна в другое необходимо щелкнуть левой кнопкой мыши в площади нужного окна. Изменить размеры окна можно «протаскиванием» правого нижнего угла окна. Перемещение окна осуществляется «протаскиванием» в нужное место поля заголовка.

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

Для фиксации курсора в нужной позиции установите в нее указатель мыши и нажмите ее левую кнопку.

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

Повторите действия выделения, копирования и перемещения текста с использованием мыши и меню Edit.

5. Компиляция и выполнение программы. Откройте окно с исходной программой. Если программа подверглась модификации, то загрузите ее снова с помощью меню File/Open. Для компиляции программы необходимо, чтобы текст находился в активном окне. Компиляция осуществляется с помощью пункта меню Compile и может производиться в режимах Compile, Make, Build All. Компиляция в режиме Compile завершается созданием файла с расширением .obj, а компиляция в режимах Make и Build All заканчивается формированием файла с расширением .exe (выполняемый файл).

Откомпилируйте программу. Если программа не содержит ошибок, то она сразу же может быть запущена на выполнение. В случае наличия ошибок, в нижнем окне будут выданы сообщения об ошибках. Здесь указывается номер строки и характер ошибки. Исправьте допущенные ошибки.

6. Запуск в работу программы. Выберите меню Run и откройте его подменю. Выбор команды Run приведет к немедленному выполнению всей программы. Сначала осуществляется компиляция программы в режиме Make , а затем ее запуск на выполнение. Нажатие клавиш Ctrl+F9 из активного окна вызывает аналогичные действия.

Выполнение программы приводит к активизации окна программы, в котором вы видите результаты ее работы. Для возвращения в окно программы необходимо нажать клавиши Alt+F5. Повторное нажатие клавиш вернет вас в окно редактора.

Для отладки программы удобно использовать пошаговое выполнение команд программы. Для этого в меню Run выбрать пункт Step Over. Нажимая клавишу F8, можно по шагам выполнить программу.

При завершении работы необходимо сохранить файл. Для сохранения нового файла надо выбрать команду File/Save As, при этом необходимо указать путь и имя файла (не более восьми символов). При повторных обращениях и внесении изменений в файл следует набрать команду File/Save.

Запуск среды Borland C++Builder и технология работы в ней

Запускается С++Builder обычным образом, т.е. выбором из меню Borland C++ Builder 6 команды C++ Builder 6 или щелчком кнопки мыши на ярлыке С++Builder. Вид экрана после запуска несколько необычен, поскольку вместо одного окна появляется сразу пять. При этом окна могут перекрываться и даже закрывать одно другое, как показано на рис. 3.

Запустив C++ Builder, вы увидите заготовку формы будущей программы по центру экрана, за ней Unit1.cpp – окно с листингом (кодом) будущей программы. Сверху экрана расположен список компонентов (объектов), которые можно добавить на форму (Standard, Additional, Win32 и т. п. – это вкладки с различными компонентами). Слева – Object Tree View – дерево (список) компонентов, добавленных в нашу программу. Более подробные указания на работу в режиме Форма можно прочитать в [5].

Создание консольного приложения в C++ Builder 6

Консольное приложение удобно тем, что оно позволяет работать с программой без создания формы с использованием библиотек языка С и С++ функций ввода и вывода, языка С (scanf() и printf()). Оно создается следующим образом. Сначала нужно из меню Fileвыбрать команду New | Other Applicationи на вкладке New появившегося диалогового окна New Itemsщелкнуть на значке Console Wizard, показанное на рис.4.

Рис. 3-Основная форма

Рис. 4- Задание консольного приложения

В результате этих действий на экране появится окно Console Wizard, представленное на рис.5.

Рис. 5-Задание характеристик консольного приложения

В этом окне можно выбрать язык программирования и указать, будет ли использоваться та или иная библиотека. После того как будут заданы параметры создаваемого консольного приложения, надо щелкнуть на кнопке ОК.

В появившемся поле редактирования (между скобками) можно набрать текст кода программы или же ввести скопированный текст ранее набранной программы в текстовом редакторе.

В результате C++ Builder создаст проект консольного приложения и на экране появится окно редактора кода, показанное на рис.6, в котором находится шаблон консольного приложения - функция main ().

Рис. 6- Окно ввода и редактирования программы

Начинается консольное приложение директивой #pragma hrdstop, которая запрещает выполнение предварительной компиляции подключаемых файлов. После этой директивы надо вставить директивы #include, обеспечивающие подключение необходимых библиотек (например, #include <stdio.h>). Директива #pragma argsused отключает предупреждение компилятора о том, что аргументы, указанные в заголовке функции, не используются.

Следует обратить внимание на то, что консольное приложение разрабатывается в Windows, а выполняется как программа DOS. В DOS и Windows буквы русского алфавита имеют разные коды (в DOS используется кодировка ASCII, а в Windows - ANSI). Это приводит к тому, что консольное приложение вместо сообщений на русском языке выводит "абракадабру".

Проблему вывода сообщений на русском языке консольными приложениями можно решить, разработав функцию перекодировки ANSI-строки в строку ASCII. Если эту функцию назвать rus, то инструкция вывода сообщения может выглядеть, например, так: printf(rus("Скорость: %3.2f км/час"), v);

Пример программы для консольного приложения с использованием функции rus() приведен в приложении[5].

Компиляция консольного приложения выполняется обычным образом, т. е. выбором из меню Projectкоманды Compile.После успешной компиляции программа может быть запущена выбором из меню Runкоманды Run.При запуске консольного приложения на экране появляется стандартное окно командной строки. Процесс сохранения проекта консольного приложения стандартный. В результате выбора из меню Fileкоманды Save Projectна экране сначала появляется окно Save Project,в котором нужно ввести имя проекта, а затем окно Save Utit,в котором надо задать имя модуля.

Получить доступ к модулю консольного приложения (тексту программы) для того, чтобы внести изменения в программу, несколько сложнее. Сначала, выбрав в меню Fileкоманду Open Project,нужно открыть файл проекта. Затем надо открыть окно Project Manager(команда View | Project Manager),раскрыть список файлов, выбрать срр-файл и из контекстного меню выбрать команду Open(или сделать двойной щелчок на имени срр-файла).

Консольное приложение подобного типа можно создать также в среде программирования Visual C++. Заготовка файла реализации представляется в виде:

//Console.cpp: Defines the entry point for the console fpplication.

#include “stdafx”

int main(int argc, char *argv[])

{

return 0;

}

Данное простое консольное приложение создается мастером при выборе опции A simple application.Компиляция, запуски выполнениевыполняется аналогично, описанным выше действиям.

Этапы установки программы

Этап выполняется только в случае установки пакета.

1. Запуск осуществляется с помощью ярлыка, показанного на рис.1.1.

Рис. 1.1. Ярлык запуска

2. После распаковки архива вам предложат выбрать предпочитаемый язык интерфейса программы. В появившемся окне можно выбрать язык интерфейса. Например, английский или русский. Его можно поменять в дальнейшем на любой из имеющегося в списке, изображенного на рис.1.2.

Рис.1.2. Выбор языка интерфейса

Для конкретности выберем русифицированный интерфейс. Необходимо выполнить лицензионное соглашение согласно рис.1.3 и рис. 1.4.

Рис. 1.3.Установка пакета

Рис.1 4. Установка пакета (Далее)

3. Далее вы выбираете категорию, в которой будет установлена программа. По умолчанию это стандартный Program Files. Выбрать опцию: «Установить». Демонстрация установки показана на рис.1.5

Рис.1.5.Установить

После принятия лицензионного соглашения вам будет предоставлена возможность выбрать тип установки программы с теми или иными компонентами.

Установка компонентов программы заканчивается окном приглашения запустить Dev-Cpp - что мы и сделаем, нажав клавишу «Готово» на рис 1.6.

Рис.1.6. Завершение установки (Готово)

В завершении установки на экране появится открытое окно Dev-C++ с установленными компонентами. Вид окна приведен на рис.1.7

Рис.1.7. Открытое окно программы Dev-C++

В данном окне можно набрать текст программы или, если она есть, ее можно вызвать. Для создания новой программы нужно выбрать пункт: «Файл» и в открывшимся подменю: «Создать \ Исходный файл», а для открытия уже имеющегося файла нужно выбрать подменю: «Открыть \заново» или же, используя горячие клавиши - Ctrl + O, что более быстрее. Пример загрузки приведен на рис.1.8.


Рис.1.8. Загрузка файла

Теперь на примере одного из файлов мы посмотрим некоторые настройки программы, которые позволят работать в Dev-C++ с большим комфортом. Любую из программ написанных на С / С++ перед тем как запустить на выполнение (чтобы посмотреть как работает написанная программа) необходимо скомпилировать и только затем запустить на выполнение. Для этого в Dev-C++ используется три пиктограммы/возможности:
1. В окне «Выполнить»выбрать пункт: «Скомпилировать» - простая компиляция программного кода. На данном этапе компилятор проверяет написанный код на наличие ошибок и, если все в порядке - переводит код программы в исполняемый файл - ***.exe. Если же ошибки имеются, то работа компилятора прерывается и в окне "Компилятор" выводятся коды ошибок помогающих их найти и исправить. Тоже действие – набором Горячей клавиши - F9.

2. В окне «Выполнить»выбрать пункт: «Выполнить» - эта команда позволяет многократно запускать наш код без повторной компиляции кода. Тоже действие – наборомГорячей клавиши - F10.

3. В окне «Выполнить»выбрать пункт: « Скомпилировать и выполнить» - если мы хотим сразу посмотреть выполнение нашей программы в консоли после компиляции. Тоже действие – используем пиктограмму «Горячие клавиши - F11».Эти ситуации показаны на рис.1.9.

Рис.1.9. Отладка кода

Все запущенные программы открываются в консольном окне - рис.1.10.


Рис.1.10. Окно результатов

В данном случае специально выбран файл имеющий русский текст - чтобы вы видели, с чем вам может быть придется столкнуться: черное окно с белым текстом и нечитаемыми символами. Сейчас мы исправим это. Правой кнопкой мыши кликаем на верхней части консольного окна и выбираем в самом низу пункт - "Свойства". В открывшемся окне (рис.1.11) переходим на вкладку - "Шрифт" - и выбираем - "Lucida Console"
Одновременно можно еще и увеличить размер шрифта для отображения текста в консольном окне.

Рис.1.11. Выбор шрифта

Переходим на вкладку - "Цвета". Здесь мы можем изменить цвет фона в консольном окне и цвет шрифта. Если вы предпочитаете белый шрифт на черном фоне, то ничего трогать здесь не нужно. Для лучшего чтения лучше выбрать стандартное отображение текста на белом фоне. Как это сделать показано на рис.1.12.

Рис.1.12.Выбор цвета фона

После внесенных изменений наши программы будут отображаться в окне консоли в виде, показанном на рис.1.13

.

Рис.1.13. Инверсное изображение окна

Для отладки программы иногда целесообразно пронумеровать строки и выбрать размер шрифта. Это можно сделать следующим образом.

Выбрать компонент «Сервис» и в открывшемся окне последовательно выбрать: «Параметры редактора»\»Вид шрифта»\активировать окно «Номер строки». Окно с выбранными опциями показано на рис.1.14.

Рис.1.14. Выбор параметров шрифта

После настройки пакета можно приступить к программированию исходной задачи.

Работа №1

Базовые операции языка Cи

Цель работы:приобретение навыков программирования линейных процессов. Освоить функции ввода/вывода данных, оператора присваивания.

Рис. 1.1

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

Тип Имя_Переменной;

Объявление переменной можно совместить с ее инициализацией. В этом случае объявлений переменной записывают следующим способом:

Тип Имя_Переменной= Начальное_значение;

В последнем выражении знак “=” обозначает инструкцию присваивания. Она предназначена для изменения значения переменных, в том числе и для вычислений по «формуле». В отличие от других языков программирования в Си и C++ инструкция присваивания, выполняющая некоторое действие, может быть записана несколькими способами. Например, вместо x = x + dx можно записать x + = dx, а вместо i= i+1 воспользоваться оператором инкремента и записать i++.

Вывод информации и сообщений на экран монитора обеспечивает функция printf(). Первым параметром этой функции является строка вывода, определяющая выводимый текст и формат вывода значений переменных, имена которых указаны в качестве остальных параметров функции.

Для ввода исходных данных с клавиатуры предназначена функция scanf(), первым параметром которой является управляющая строка, остальные параметры – адреса переменных, значения которых были введены. (Использование имени переменной, а не ее адреса в качестве параметра функции scanf() является типичной ошибкой начинающих программистов).

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

Пример №1:Введем программу, печатающую на экране: “Сейчас 2012 год”.

#include<stdio.h>

/* пример к лаб. работе №1*/

main ( )

{ // Начало тела главной функции

int year, month; // Объявление переменных

year = 2012; //Инициализация переменных

month=10;

printf(“Сейчас %d год %d месяц\n”,year,month); // вывод

} // Конец тела главной функции

Рассмотрим эту программу. Первая строка #include<stdio.h> подключает стандартный файл ввода/вывода языка Cи. Это так называемый заголовочный файл (header files). В файле stdio.h находится информация о стандартной функции вывода printf (), которую мы используем.

Вторая строка /*Пример…*/ – комментарий. С помощью этой конструкции можно выделить целый блок программы. Строка main() – определяет имя функции. Строка: { - содержит открывающую скобку, обозначающую начало тела функции main(). Строка: int year, month; объявляет (декларирует) переменные year и month и сообщает компилятору, что они целые (int).

Строка: year = 2012; является оператором присваивания.

Строка: printf (“Сейчас % d год %d месяц\n”, year, month); является вызовом стандартной функции printf(), которая выводит на экран некоторую информацию. Она состоит из двух частей: имени функции printf() и двух её аргументов “сейчас %d год %d месяц \ n” и year, month разделённых запятой. Первый аргумент называется управляющей строкой (Control String). Она может содержать любые символы или спецификации формата, начинающиеся с символа %. Спецификация %d указывает, что будет выводиться целое число. Комбинация символов “\n” сообщает функции printf() о необходимости перевода каретки на новую строку.

Последняя строка программы “}” содержит закрывающую фигурную скобку тела функции main(). В программе также использованы четыре комментария. Двойной слеш комментирует не долее одной строки.

Если программа не содержит ошибок, то после компиляции и выполнения её на экране появится сообщение: Сейчас 2000 год. Если была допущена ошибка, то после компиляции, строка, в которой эта ошибка была допущена, будет подсвечена. Переход к предыдущей ошибке осуществляется комбинациями клавиш ALT+F7, а к последующей ALT+F8.

Усовершенствуем пример 1. Введем строковую переменную, например, «Имя» и инициализируем ее.

#include<stdio.h>

/* пример к лаб. работе №1*/

main()

{

int year, month;

year = 2012;

char *name= “Ivan”;

printf(“Сейчас % d год\n”,year);

}

Используйте для вывода новой переменной оператор printf() и спецификатор вывода %s. С помощью функции scanf () введите новое имя и распечатайте его

Пример №2.Требуется вычислить длину окружности.

Для вычисления нам потребуется ввести данные с клавиатуры, и мы будем использовать библиотечную функцию scanf(), которая позволит вводить данные во время выполнения программы.

/* ПРОГРАММА

Вычисление длины окружности */

#include <stdio.h>

main ()

{

int radius;

float length;

printf (“Введите значение радиуса :\n”);

scanf (“%d”, &radius);

length = 3.1415*2*radius;

printf (“Радиус–%d\n длина – %f\n”, radius, length);

}

Отличие этого примера от предыдущего заключается в том, что:

1) объявлены две переменные разных типов: radius – типа целое (int); length – типа с плавающей точкой (float);

2) используется функция scanf() для ввода с клавиатуры значения радиуса окружности.

Первый аргумент функции scanf()- “%d” указывает, что будет вводиться целое десятичное число, второй аргумент указывает имя переменной, которой будет присвоено введённое значение.

В языке Си имеются специальные унарные и бинарные операторы, из которых наиболее хорошо известны положительное приращение (++) и отрицательное приращение (--), позволяющие с помощью единственного оператора добавить 1 или вычесть 1 из любого значения. Сложение и вычитание допускаются в середине выражения. Кроме того, можно задавать операции приращения до, и после вычисления самого выражения.

Пример №3.

sum=a+b++;

sum=++a+b;

Первый оператор суммирует a и b, затем результат присваивает sum, и потом значение b увеличивается на 1. Во втором выражении a увеличивается на 1, затем суммируются a и b, и далее результат присваивается sum.

Задание на выполнение работы

1) Ввести программу примера №1, провести её компиляцию и выполнение.

2) Ввести программу примера №2, провести отладку и запустить на выполнение.

3) Модифицировать программу примера №2 таким образом, чтобы она вычисляла длину окружности и площадь круга для любых радиусов.

4) Ввести программу и проверить действие инкрементных операторов присваивания, используя круглые скобки:

Пример №4

#include <stdio.h>

#include <conio.h>

main ( )

{

int a, b, sum;

a=b=5;

sum=a+b;

printf("a=%d b=%d sum=%d\n" , a, b, sum);

sum=a+++b;

printf ("a=%d b=%d sum=%d\n" , a, b, sum);

sum=++a+b;

printf ("a=%d b=%d sum=%d\n" , a, b, sum);

sum=--a+b;

printf ("a=%d b=%d sum=%d\n" , a, b, sum);

sum=a-++b;

printf ("a=%d b=%d sum=%d\n" , a, b, sum);

sum=a+b;

printf ("a=%d b=%d sum=%d\n" , a, b, sum);

getch();

}

5) Скопировать пример 4, открыть ИС Borland C++ 5.0, вставить файл, произвести запуск и вывести результат в блокнот.

Отчёт должен содержать:

1) Тексты выполняемых программ.

2) Результаты расчётов.

Контрольные вопросы

1. Какие стандартные функции содержатся в файлах stdio.h и conio.h ?

2. Что означает «инкремент»?

3. Что означает «декремент»?

4. Как выполняется операция присваивания?

5. Какой спецификатор применяется для ввода и вывода строки символов?

6. В каком заголовочном файле содержится функция getch()?

Работа № 2

Задание на выполнение работы

1. Ввести программу примера 5, осуществить ее отладку и работу.

2. Составить программу и произвести вычисления для одного из следующих вариантов:

1) S= S (x+1)k *cos(x/k)/(k+1)! , x=p/2

k =1

2) S= S (sinx)k /k ! , x=p/4

k=1

3) S= S(cosx)k/k! , x=p/4

k=2

4) S= S (sinx)i/ i!, x=p/4

i=1

5) S= S (ex - i)/(i+1)! , x=1.0

i=2

6) S= S (ex/i+ e-x/i )/(i+2)4 , x=1.0

i=1

7) S= Sln(x*i)/(i+2) , x=2.0

i=1

8) S= S xi+5/ (i+7)! , x=2.0

i=-5

9) Пxi/i! , x=5.0

i=5

10) П(x+i) i+1/(i-2)! , x=4.0

i=5

11) ), x –вещественное число

12) , N<=5

13) , N>m

14) , а=2, b=3,5

15)

16) N=4; S=6,212;

17) ,

18) S= ,

19) при xi = (1+i), y = 1/i;

20) / ;

21) , где ,

N – натуральное, а x - вещественное число.

22) N – натуральное; f – вещественное;

23) ; N>2;

24) ,

25) ; N- натуральное; x- вещественное;

26) ; N>5

27) ; N – натуральное; f – вещественное;

28) ;

29) ;

30) ; N – натуральное; x- вещественное;

Примечание: При вычислении факториалов необходимо помнить о максимально возможном целом числе, которое можно поместить в разрядной сетке.

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

1. Краткое содержание цели и задачи применения циклических процессов вычислений.

2. Алгоритм вычисления заданного преподавателем математического уравнения.

3. Программу вычислений.

4. Распечатку результатов.

Контрольные вопросы

1.Назовите основные операторы циклических процессов.

2. Назовите основные параметры цикла.

3. Как образуется бесконечный цикл и как выйти из него?

Работа №3

Условные операторы и операторы выбора

Цель работы: изучение трех форм управления процессом выполнения программ:

1) выполнение последовательности операторов;

2) выполнение определенной последовательности операторов до тех пор, пока некоторое условие истинно;

3) использование проверки истинности условия для выбора между различными, возможными способами действия.

Основное задание:

1. Составить программу решения квадратного уравнения вида:

AX2 + BX + C = 0 (1)

с полным анализом возможных решений (дискриминант D<0, D=0, D>0) на основе конструкций if и if-else.

2. Разработать диалоговую программу, позволяющую получать решения квадратного уравнения (1) при различных значениях коэффициентов A, B, C, а также выхода из программы по запросу, используя конструкции while или do-while (по выбору).

3. Разработать диалоговую программу, позволяющую в зависимости от значений коэффициентов получать то или иное решение, используя оператор выбора:

а) если A=0; B и C не равны нулю;

б) если B=0; A и C не равны нулю;

в) если C=0; B и A не равны нулю;

г) другие возможные сочетания коэффициентов A, B, C.

Программа должна вычислять как действительные, так и комплексные корни.

4. Вывести на экран сведения об авторе, исходные значения коэффициентов, значение дискриминанта и результаты решения.

Рекомендации по программированию

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

- файл заголовка math.h, который позволит Вам вычислить корень квадратный из дискриминанта (sqrt(D));

- конструкцию вида:

if (выражение)

оператор, используемый, если выражение истинно.

Пример:

// подразумевается, что комплексных корней нет

if(D>0)

printf(“Решение есть \n”);

При необходимости в комбинации с if можно использовать ключевое слово else, позволяющее выполнить альтернативный оператор, или блок операторов, если условие неистинно.

Пример:

if (D<0)

printf (“Решения нет \n”)

else

printf (“Решение есть \n”);

Операторы if и else могут быть вложенными.

2. При выполнении п. 2 основного задания необходимо использовать:

дополнительно к предыдущей программе конструкцию вида:

while (выражение) оператор.

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

Пример:

сhar vych='d';

:

:

while(vych= ='d')

{

:

: // группа операторов

printf(''Продолжать решение? (d/n)\n");

cscanf("%c",&vych);

}

В этом фрагменте программы блок команд будет выполняться до тех пор, пока символьной переменной не будет присвоено значение 'd'.

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

switch ( выражение_1)

{

case константа 1: оператор или группа операторов блока 1;

break;

:

:

case константа I: оператор или группа операторов блока I;

break;

default: оператор или группа операторов;

}

При выполнении оператора switch сначала вычисляется значение в

Наши рекомендации