ВВЕДЕНИЕ
Лабораторные работы по дисциплине “Объектно-ориентированное программирование” выполняются студентами 2 курса специальности “Гибкие компьютеризованные системы и робототехника” дневной и заочной учебы.
Основная цель лабораторного практикума - закрепить знания, полученные на лекционных, практических занятиях и в результате самостоятельной работы. Студенты развивают навыки составления программ и алгоритмизации задач, осваивают приемы отладки программ.
Язык программирования BC является частью программной среды Borland C++, которая включает в себя не только соответствующий компилятор, но и текстовый редактор, компоновщик, загрузчик, отладчик и другие средства, что убыстряет процесс создания программы. Кроме того, возможности языка BC расширяются дополнительными программными средствами - модулями. Потому владение приемами работы в среде Borland C++ является крайне необходимым.
Система Borland C++, как одно из средств автоматизации программирования, является составной частью операционной системы MS DOS или Windows определенной версии. Потому студентам необходимо знать особенности файловой системы, владеть средствами работы с файлами и каталогами (папками) собственно операционной системы или оболочки Norton Commander.
|
|
ОБЩИЕ СВЕДЕНИЯ
Структура программы <file:///D:\Documents\CD_RW\Disk_OOP\GL3.htm>
Программа состоит из одной или более функций, причем какая-нибудь из них (главная) обязательно должна называться main(). Описание функции состоит из заголовка и тела. Заголовок состоит из директив препроцессора типа #include и имени функции.
В разделе мы указываем, какие файлы мы будем использовать в качестве библиотек. Например:
#include <stdio.h>
Эта строка указывает компилятору, что нужно включить информацию, содержащуюся в файле stdio.h.
Отличительным признаком имени функции служат круглые скобки, а аргумент может и отсутствовать. Тело функции заключено в фигурные скобки и представляет собой набор операторов, каждый из которых оканчивается символом "точка с запятой".
В простейшем случае программа представляет собой одну единственную функцию main. Если функция main получает параметры и возвращает результат, то она объявляется так:
int main(int argc) { /* операторы*/
}
return(значение);
Если функция main не получает параметры и не возвращает результат, то она объявляется так:
void main()
{ /* операторы*/
}
Комментарии в программе либо оформляются следующим образом:
/* комментарий*/ или // комментарий.
Основные типы данных <file:///D:\Documents\CD_RW\Disk_OOP\GL3.htm>
К основным типам данных языка C/C++ относятся:
|
|
· целые числа (int, short int, long и др.);
· дробные (действительные) числа (float, double и др.);
· символы (char);
· логические bool.
Переменные могут быть объявлены в любом месте программы до их использования.
Например, объявляем целочисленные переменные: int a,b;
Строка в С++ это массив символов. Объявление: char Имя [Длина];
Объявим строковую переменную (массив) st, состоящую из 15 символов: char st[15];
Константы также могут быть объявлены в любом месте программы следующим образом: const n=7;
Арифметические операции
В С++ определены все четыре арифметических операции над числовыми переменными:
+ - сложение; - вычитание; * - умножение; / - деление вещественное;
Кроме этого для данных типа int предусмотрена операция % - получение остатка от целочисленного деления.
Например: 5 % 2=1
Инструкция присваивания <file:///D:\Documents\CD_RW\Disk_OOP\GL3.htm>
Переменную можно изменять при помощи операции присваивания. В языке С++ она обозначается знаком равенства.
Например: x = 12;
В С++ поддерживается сокращенная форма записи:
Инструкция | Соответствующая "обычная"инструкция присваивания |
х + + | x = x + 1 |
х-- | x = x - 1 |
х += у | x = x + у |
x - =у | х = х - у |
х *= у | х = х*у |
х %= у | x = x % у |
Функции ввода-вывода <file:///D:\Documents\CD_RW\Disk_OOP\GL3.htm>
Функция printf выводит на экран значения переменных либо строку символов, заключенных в двойные кавычки.
Синтаксис: printf(Формат, СписокПеременых);
Формат вывода задается в строке форматирования, которая помимо спецификатора формата может содержать текст и управляющие символы. Значение первой переменной выводится в соответствии с первым спецификатором формата, второй - со вторым, и т. д.Спецификаторы формата (необязательный параметр n задает ширину поля вывода).
Спецификатор | Форма вывода |
%ni %nd | Десятичное число со знаком |
%nu | Беззнаковое целое десятичное число |
%n.mf | Дробное число с десятичной точкой. Необязательный параметр m задает количество цифр дробной части |
%ne | Дробное число с десятичной точкой или, если число не может быть представлено в форме с десятичной точкой, в экспоненциальной форме |
%ns | Строка символов |
%nc | Символ |
Управляющий символ \ n переводит курсор в начало следующей строки
Например, вывести значения целочисленной переменной а и дробной x (с точностью до 2-го знака после запятой) с переводом курсора на следующую строку.
printf(“a=%d x=%5.2%\n”,a,x);
Заголовочный файл: <stdio.h>
Функция scanf вводит с клавиатуры значения переменных, в соответствии с указанным спецификатором формата. Первая переменная получает значение в соответствии с первым спецификатором формата, вторая - со вторым и т. д.
Синтаксис:
scanf(Формат, СписокАдресовПеременных);
В качестве параметра функции scanf должны передаваться адреса переменных, а не их имена.
Спецификатор | Вводит |
%i %d | Десятичное число со знаком |
%u | Беззнаковое целое десятичное число |
%f %e | Дробное число |
%s | Строка символов |
%c | Символ |
Например, ввести значения целочисленной переменной а и дробной x:
scanf(“%d %f”,&a,&x);
Заголовочный файл: <stdio.h>
Функция getch возвращает код символа нажатой клавиши. Функция getch не выводит на экран символ, соответствующий нажатой клавише.
Например:
getch(); //ожидание нажатия любой клавиши
Заголовочный файл: <conio.h>
ЛАБОРАТОРНАЯ РАБОТА №1
Тема: Использование математических функций
Математические функции содержатся в модуле math.h. Поэтому для того, чтобы их использовать необходимо подключить его в разделе #include.
Математические функции
abs(x), fabs(x) | Возвращает целое (abs) или дробное (fabs) абсолютное значение аргумента, в качестве которого можно использовать выражение соответствующего типа. |
acos(x), asin(x), atan(x) | Возвращает выраженную в радианах величину угла, косинус, синус или тангенс которого передан соответствующей функции в качестве аргумента. Аргумент функции должен находиться в диапазоне от -1 до 1. |
sin(x), cos(x), tan(x) | Возвращает синус, косинус или тангенс угла. Величина угла должна быть задана в радианах. |
exp(x) | Экспонента - |
sqrt(x) | Корень квадратный аргумента - |
pow(x,y) | Возведение в степень. Возвращает значение |
log(x) | Логарифм натуральный аргумента |
log10(x) | Десятичный логарифм |
|
|
Пример выражения:
В С++ это выражение будет выглядеть так
0.3*pow((pow(sin(x),2)-pow(cos(x),2)/exp(x),5)
Задача 1
Вычислить значение функции (значения переменных принимать самостоятельно)
#include <stdio.h>
#include <conio>
#include <math.h>main ()
{
float x,y,z; //описываем переменные
printf("x="); scanf("%f",&x);("y="); scanf("%f",&y);=sqrt(fabs(sin(x)+cos(y)))/pow(sin(x)/cos(y),2)*log(fabs(x));("%5.3f",z); //выводим значение дробной переменной z с
точностью до 3 знаков после запятой
getch();
}
№ вар | Задание | № вар | Задание |
1 | 16 | ||
2 | 17 | ||
3 | 18 | ||
4 | 19 | ||
5 | 20 | ||
6 | 21 | ||
7 | 22 | ||
8 | 23 | ||
9 | 24 | ||
10 | 25 | ||
11 | 26 | ||
12 | 27 | ||
13 | 28 | ||
14 | 29 | ||
15 | 30 |