Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

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

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Операции ввода вывода Арифметические операции

Тип Реферат
Предмет Информатика
Просмотров
1272
Размер файла
52 б
Поделиться

Ознакомительный фрагмент работы:

Операции ввода вывода Арифметические операции

Лабораторная Работа

На тему: "Операции ввода-вывода. Арифметические операции"

Введение

Удобная компьютерная программа – это всегда программа, корректно взаимодействующая с пользователем, даже если пользователем является сам программист. Такая программа запрашивает все необходимые для ее работы данные, используя операции ввода, и выдает результаты работы с помощью операций вывода. Стандартным устройством ввода в ПК считается клавиатура, устройством вывода – экран монитора (точнее, окно приложения на экране). Совокупность клавиатуры и монитора часто называют консолью.

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

1. Консольный ввод-вывод

Консольный ввод-вывод организуется с помощью стандартных библиотек stdio.h и conio.h, что предполагает наличие директив #include <stdio.h> и / или #include <conio.h> в заголовочной части программы.

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

printf(«форматная_строка» [, перем1] [, перем2] [,…]);

Здесь в круглых скобках указаны параметры (или аргументы) функции printf, причем первый из них, форматная строка в двойных кавычках, является обязательным. Остальные параметры, переменные различного типа, указываются по необходимости. Форматная строка может содержать:

· обычные текстовые символы, которые выводятся на экран в том же виде, как они записаны в форматной строке,

· управляющие символы, в частности символы перевода строки «n», табуляции «t», и некоторые другие (начинаются со знака обратной косой черты «»),

· символы форматного преобразования, которые используются для вывода значений переменных (начинаются со знака процента «%»).

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


переменнаятипданных С/C++символ преобразования
целое числоint%d
вещественное числоfloat, double%f
текстовый символchar%c
текстовая строкаchar *, char []%s

К примеру, запись printf(«Hello!») означает вывод на экран простой текстовой строки «Hello!». Запись printf(«%d», x) выводит на экран значение целочисленной переменной x. Случай, когда на экран выводятся сразу две переменные, иллюстрируется следующим примером

Здесь верхние стрелки указывают позиции внутри форматной строки, куда будут выведены значения переменных i и x. Остальной текст форматной строки будет отображен без изменения. К примеру, если переменная i к моменту выполнения этого оператора имела значение 5, а переменная x была равна 1.5, на экран будет выведено: «Значение 5‑й переменной равно 1.500000».

Важным является соответствие символа форматного преобразования (%d, %f, и т.д.) действительному типу переменной (int, float, doubleи т.д.). Несоблюдение этого правила ведет к непредсказуемому результату на экране. Поэтому использованная в примере переменная i должна быть объявлена ранее как целочисленная (int), а x – как вещественная (float или double).

Функция printf также дает возможности управления выводом с помощью эскейп-последовательностей, начинающихся с символа ESC (обратный слэш «»). Некоторые из них приведены в таблице:

управляющий символназваниедействие
nlf (line feed)перевод строки
tht (horizontal tab)горизонтальная табуляция
vvt (vertical tab)вертикальная табуляция
abel (audible bell)звуковой сигнал
bbs (backspace)возврат на шаг (забой)
‘ (single quote)одинарная кавычка
»« (double quote)двойная кавычка

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

scanf(«форматная_строка», &перем1 [, &перем2] [,…]);

Аргументы функции scanf во многом аналогичны соответствующим аргументам printf, за исключением того, что в качестве дополнительных параметров scanf принимает не имена переменных, а их адреса. В силу этого перед именем каждой переменной в scanf должен стоять знак операции взятия адреса «&» (амперсанд).

В момент передачи управления функции scanf выполнение программы приостанавливается в ожидании ввода от пользователя. Вся вводимая с клавиатуры информация отображается на экране (эхо-вывод). Во время ввода пользователю доступны простейшие возможности редактирования, в частности клавиша забоя Backspace. Выполнение оператора завершается, как только пользователь нажимает клавишу Enter. Введенная информация при этом будет приведена к соответствующему типу и записана в переменную.

Функция getch из библиотеки conio.h не имеет параметров и используется для ввода с клавиатуры отдельного символа нажатой клавиши. В отличие от scanf, эта функция не требует нажатия Enter для подтверждения конца ввода. Оператор завершает работу сразу после того, как нажата любая клавиша. Ваша программа может анализировать возвращаемое этой функцией значение с тем, чтобы немедленно на него реагировать. Мы будем также использовать эту функцию в конце программы для того, чтобы приостановить закрытие окна на время ознакомления с результатами работы.

Рассмотрим следующий пример работы с функциями консольного ввода-вывода.

Пример 1. Напишите программу, выводящую на экран символы звездочки «*» в форме ромба, как это показано на рисунке справа.

Решение. Задача может быть решена несколькими способами. Ниже приводится один из вариантов.

// – Консольный вывод –

#pragmahdrstop

#include <stdio.h> // Подключаем библиотеки

#include <conio.h> // консольного ввода-вывода

#pragma argsused

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

{

printf(» *n»); // В программе используем несколько

printf(» * *n»); // последовательных вызовов функции

printf(» * *n»); // printf для вывода на экран

printf(«* *n»); // отдельных строк рисунка.

printf(» * *n»); // Каждую строку заканчиваем

printf(» * *n»); // управляющим символом ‘n’.

printf (» *n»); //

getch(); // Задержка до нажатия любой клавиши

return 0; // Завершение программы

}

// –

2. Потоковый ввод-вывод

Потоковый ввод-вывод организуется с помощью библиотеки iostream.h, что предполагает наличие директивы #include <iostream.h> в заголовочной части программы. В библиотеке определены два потоковых объекта с именами cin и cout, которые связаны с клавиатурой и экраном компьютера соответственно. Эти объекты используются как источник входящей информации (поток cin) и контейнер исходящей информации (поток cout). Для них определены следующие операции:

· извлечение из потока cin (знак операции «>>»),

· размещение в потоке cout (знак операции «<<»).

Общая форма записи этих операций

cin >> переменная;

cout << текстовая строка_или_переменная;

Здесь первая строка означает извлечение числового значения из потока cin (т.е. ввод с клавиатуры) и его запись в переменную. Вторая строка – размещение простой текстовой стоки или числового значения переменной в потоке cout (т.е. вывод на экран).

Примеры:

cout << index; // выводит на экран значение index

cin >> x; // вводит значение x с клавиатуры

cout << «Enteryourname»; // выводит текстовую строку

cin >> name; // вводит переменную name

В отличие от соответствующих конструкций консольного ввода-вывода, потоковые операторы нигде не требуют явного указания типа переменных. В приведенных выше примерах index, x, name могут быть переменными любого типа (int, float, charи т.д.), и во всех случаях представленные операторы будут работать корректно. Это происходит за счет автоматического определения типа переменной в потоковых операциях. Программист получает дополнительные удобства в связи с исключением ошибок приведения типов, которые характерны для консольных операций. Начинающим программистам C++ часто рекомендуется использовать именно потоковые операции, как более надежную (и современную) технику программирования.

Поток cout допускает наличие в выводимой текстовой строке управляющих символов или ESC‑последовательностей (`n`, `t`, `b` и др., см. таблицу выше), действие которых аналогично их действию в операторе printf. Кроме того, вывод в cout может управляться с помощью специальных потоковых манипуляторов. Например, манипулятор endl (endline) приводит к завершению текущей строки и переводу курсора на новую экранную строку. Запись cout << endl, таким образом, приводит к тому же результату, что и конструкция cout << «n».

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

// – Потоковый вывод –

#pragmahdrstop

#include <iostream.h> // для потокового вывода в cout

#include <conio.h> // для использования getch

#pragma argsused

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

{

cout << «*n»;

cout << «* *n»;

cout << «* *n»;

cout << «* *n»;

cout << «* *n»;

cout << «* *n»;

cout << «*n»;

getch();

return 0;

}

// –

Откомпилируйте код этой программы, запустите на выполнение и проверьте результат.

3. Арифметические операции и математические функции

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

название операциизнак в С/C++алгебраическое выражениезапись на С/C++
сложение+f + 7f + 7
вычитание-p –cp – c
умножение*bmb*m
деление/x/yx/y
остаток от деления%r mod sr% s

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

алгебра: ® запись на С/C++: .

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

Кроме арифметических операций, язык C++ дает удобные возможности использования математических функций. Большая их часть содержится в библиотеке math.h, и для пользования ими требуется соответствующая директива #include <math.h>. Наиболее употребительные математические функции приведены в таблице:

название функцииобозначениезапись в С/С++
синусsin(x)
косинусcos(x)
тангенсtan(x)
квадратный кореньsqrt(x)
возведение в степеньpow (x, y)
экспонентаexp(x)
натуральный логарифмlog(x)
модульfabs(x)
арксинусasin(x)
арккосинусacos(x)
арктангенсatan(x)

Все перечисленные функции принимают в качестве аргумента вещественную переменную (или константу) и возвращают вещественный результат. Использовать функции можно путем их вызова, аналогично вызову функций ввода-вывода. Например, в результате выполнения следующего набора операторов переменная y получит значение квадратного корня из 2:

float x = 2.0; float y = sqrt(x);

В библиотеке math.h также определены некоторые часто используемые математические константы, часть из которых приведена ниже

константазапись в С/С++
M_PI
M_E
M_LN2
M_LN10

Необходимо написать программу, запрашивающую у пользователя длины сторон треугольника a, b, c и выводящую на экран углы a, b, g.

Решение. Воспользуемся известной формулой косинусов, которую последовательно применим для нахождения всех углов треугольника. Рассчитанные значения a, b, g переведем из радианов в градусы, помножив их на 180°/p.

// – Расчет углов треугольника –

#pragmahdrstop

#include <iostream.h> // для потокового ввода-вывода

#include <conio.h> // для getch()

#include <math.h> // для acos(x) и M_PI

#pragma argsused

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

{

floata, b, c; // объявляем переменные a, b, c

cout << «inputa–»; // выводим на экран приглашение

cin >> a; // вводим значение a, и т.д.

cout << «input b –»;

cin >> b;

cout << «input c –»;

cin >> c;

floatalpha, betta, gamma; // объявляем переменные

alpha = acos((b*b + c*c – a*a)/(2*b*c)); // считаем alpha

betta = acos((a*a + c*c – b*b)/(2*a*c)); // считаем betta

gamma = acos((a*a + b*b – c*c)/(2*a*b)); // считаем gamma

cout << «n alpha =» << alpha/M_PI*180; // выводимвсе

cout << «n betta =» << betta/M_PI*180; // углынаэкран

cout << «n gamma =» << gamma/M_PI*180; // (вградусах)

cout << «n» << alpha + betta + gamma; // суммауглов=pi?

getch(); // задержка

return 0; // завершение

}

// –


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

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

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

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

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

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