Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Операции битовой арифметики




&, |, ^, ~, <<, >>.

В операциях битовой арифметики действия происходят над двоичным представлением целых чисел.

Логические операции

||, &&,!.

Логические операции выполняются над логическими значениями true (истина) и false (ложь). В языке С++ ложь – 0, истина – любое значение ¹ 0.

Операции отношения

Таких операций шесть:

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

Результат операции отношения – логическое значение true (истина) или false (ложь).

Условная операция

Для организации разветвлений в простейшем случае можно использовать условную операцию

?:

Эта операция имеет три операнда и в общем виде может быть представлена так:

условие? выраж1: выраж2;

Работает операция следующим образом. Если условие истинно (не равно 0), то результатом будет выражение1, в противном случае выражение2.

Например, операция

y=x<0? x: x;

записывает в переменную y модуль числа х.

Операция преобразования типа

Для приведения выражения к другому типу данных в С++ существует операция преобразования типа:

(тип) выражение;

Например, в результате действий

x=5;

y=x/2;

z=(float) x/2;

переменная y примет значение равное 2 (результат целочисленного деления), а переменная z = 2.5.

Операция определения размера

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

sizeof (тип)

или

sizeof выражение

Стандартные функции

В C++ определены стандартные функции над арифметическими операндами:

Математические функции

Обозначение Действие
abs(x) Модуль целого числа
fabs(x) Модуль вещественного числа
sin(x) Функция синус
cos(x) Функция косинус
tan(x) Функция тангенс
atan(x) Арктангенс x в диапазоне -p/2 до p/2
exp(x) Экспонента, ex
log(x) Натуральный логарифм (x>0)
log10(x) Десятичный логарифм (x>0)
sqrt(x) Корень квадратный (x≥0)
pow(x,y) x в степени y

 


Определенную проблему представляет применение функции pow(x,y), которая возводит х в степень y. В некоторых случаях возведение в степень невыполнимо.

Ошибка возникает, если х – отрицательное число, а y – дробь. Предположим, что y – правильная дробь вида k/m. Если знаменатель m четный, это означает вычисление корня четной степени из отрицательного числа, а значит, операция не может быть выполнена. В противном случае, если знаменатель m нечетный, можно воспользоваться выражением

z=–pow(fabs(x),y).

Структура программы

Программа на языке С++ состоит из функций, описаний и директив процессора.

Одна из функций должна обязательно носить имя main.

Элементарное описание функции:

тип_результата имя_функции (параметры)

{

оператор1;

оператор2;

операторN;

}

Здесь,

тип_результата – это тип того значения, которое функция должна вычислить (если функция не должна возвращать значение, указывается тип void),

имя_функции – имя, с которым можно обращаться к этой функции,

параметры – список аргументов функции (может отсутствовать),

оператор1, оператор2,…, операторN – операторы, представляющие тело функции, они обязательно заключаются в фигурные скобки и каждый оператор заканчивается точкой с запятой.

Как правило программа на С++ состоит из одной или нескольких, не вложенных друг в друга функций.

Основному тексту программы предшествуют директивы процессора, которые в общем виде выглядят так:

#include <имя_файла>

Каждая такая строка дает компилятору команду присоединить программный код, который хранится в отдельном файле с расширением.h. Такие файлы называют файлами заголовков.

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

Например, описание стандартных математических функций находится в заголовочном файле math.h.

Общую структуру программы на языке С++ можно записать так:

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

описание глоб. переем.

тип_результата main(параметры)

{

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

}

тип_результата имя1(параметры1)

{

операторы1;

}

тип_результата имя2(параметры2)

{

операторы2;

}

..................

тип_результата имяN(параметрыN)

{

операторыN;

}

Ввод и вывод данных

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

Функции ввода- вывода

Функция

printf(строка форматов,

список выводимых

переменных)

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

Функция

scanf(строка форматов,

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

переменных)

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

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

Спецификации это строки, которые начинаются символом % и выполняют управление форматированием:

% флаг ширина.точность

модификатор тип

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

Первой строкой программы, в которой будут применяться функции ввода-вывода языка С, должна быть директива

#include <stdio.h>

Заголовочный файл stdio.h содержит описание функций ввода-вывода.

ЗАДАЧА 1. Зная a, b, c – длины сторон треугольника, вычислить площадь S и периметр P этого треугольника.

 

Входные данные: a, b, c.

Выходные данные: S, P.

Для вычисления площади применим формулу Герона: ,

где r – полупериметр.

//ЗАДАЧА 2.1.

//Вариант первый

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

int main()

{

float a,b,c,S,r;

printf("a=");

scanf("%f",&a);

printf("b=");

scanf("%f",&b);

printf("c=");

scanf("%f",&c);

r=(a+b+c)/2;

S=sqrt(r*(r-a)*(r-b)*(r-c));

printf("S=%5.2f \t",S);

printf("p=%5.2f \n", 2*r);

return 0;

}

 

//ЗАДАЧА 2.1.

//Вариант второй

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

int main()

{

float a,b,c,S,r;

printf("Vvedite a,b,c \n");

scanf("%f%f%f",&a,&b,&c);

r=(a+b+c)/2;

S=sqrt(r*(r-a)*(r-b)*(r-c));

printf("S=%5.2f \t

p=%5.2f \n",

S,2*r);

return 0;

}


 

Объектно-ориентированные

Средства ввода-вывода.

Описание объектов для управления вводом-выводом содержится в заголовочном файле iostream.h.

При подключении этого файла с помощью директивы

#include <iostream.h>

в программе автоматически создаются объекты-потоки[3]

· cin для ввода с клавиатуры,

· cout для вывода на экран,

а так же операции

· помещения в поток <<,

· чтения из потока >>.

С помощью объекта cin и операции >> можно присвоить значение любой переменной.

Например, если переменная i описана как целочисленная, то команда

cin>>i;

означает, что в переменную i будет записано некое целое число, введенное с клавиатуры.

Если нужно ввести несколько переменных, следует написать

cin>>x>>y>>z;.

Объект cout и операция << позволяют вывести на экран значение любой переменной или текст.

Текст необходимо заключать в двойные кавычки.

Допустимо применение специальных символов

· \t - табуляция

· \n – перевод на новую строку.

Запись cout<<i; означает вывод на экран значения переменной i.

Команда

cout<<x<<”\t”<<y;

выведет на экран значения переменных x и y разделенные символом табуляции.

 

ЗАДАЧА 2.Известны плотность r, высота h и радиус основания R цилиндрического слитка, полученного в металлургической лаборатории. Найти объем V, массу m и площадь S основания слитка.

Входные данные: r, h, R.

Выходные данные: S, V, m.

Учитывая, что S =2 pR, V =p R 2 h и m = rV составим текст программы:

#include "stdafx.h"

#include <iostream.h>

//Опред. константы

#define pi 3.14159

int main()

{

double R,h,r,S,V,m;

cout<<"R=";

cin>>R;

cout<<"h=";

cin>>h;

cout<<"r=";

cin>>r;

S=2*pi*R;

V=pi*R*R*h;

m=r*V;

cout<<"S="<<S;

cout<<"\n V="<<V;

cout<<"\n m="<<m;

}


Операторы управления

Решение любой задачи на ЭВМ разбивают на следующие этапы:

· разработка алгоритма;

· составление программы на алгоритмическом языке;

· ввод программы в ЭВМ;

· отладка программы;

· выполнение программы;

· анализ результатов.

Понятие алгоритма

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

Разработка алгоритма решения задачи – это разбиение задачи на последовательно выполняемые этапы.

Способы представления алгоритмов:

· на естественном языке;

· в виде блок-схемы;





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 579 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Чтобы получился студенческий борщ, его нужно варить также как и домашний, только без мяса и развести водой 1:10 © Неизвестно
==> читать все изречения...

2471 - | 2352 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.