МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

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


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


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


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Организация ввода-вывода данных





Для форматного ввода-вывода данных скалярных типов и строк используются стандартные функции ввода/вывода, описанные в библиотеке stdio.h.

Для ввода используется стандартная функция scanf(), её синтаксис:

scanf (“форматная строка”, список параметров ввода);

Форматная строка заключается в кавычки и может содержать символы трех типов:

– обычные символы, которые должны вводиться с клавиатуры в том же виде, в каком они содержатся в форматной строке;

– спецификации преобразования, задающие формат ввода, которые начинаются с символа «%» и заканчиваются символом преобразования. Символы преобразования задают тип вводимой переменной: ‘c’ ‒ символ; «d», «i» – десятичное целое типа int; «D», «I» – десятичное целое типа long; «e», «E» – вещественное число в экспоненциальной форме, например, 5.12E–02; «f», «g», «G» – вещественное число с плавающей точкой; «o» («O») – восьмеричное число типа int (long); «x» («X») – 16-ричное число типа int (long); «u» («U») – беззнаковое целое типа int (long); «s» – строка символов; «lf» – вещественное число удвоенной точности;

– управляющие символьные константы (например, ‘\n’ – переход к следующей строке).

Список параметров ввода отделяется от форматной строки запятой и содержит перечисление параметров ввода через запятые. В качестве параметров ввода используются адреса переменных, которые обозначается знаком символом ‘&’, стоящим перед именем вводимой переменной.

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

Пример 1.1. Даны две строки, содержащие функции форматного ввода:

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

scanf (“%s%d%lf”, &simb1, &n, &x);

В первой строке вводятся три вещественных (%f) числа a, b, c, разделяемые при вводе с клавиатуры пробельными символами, ввод заканчивается нажатием клавиши [Enter]. Во второй строке вводятся: строка символов(%s) simb1, целое (%d) число n и вещественное число x с удвоенной точностью (%lf).

Для вывода используется функция printf(), её синтаксис:

printf (“форматная строка”, список параметров вывода);

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

Список параметров вывода отделяется от форматной строки запятой и содержит перечисление параметров вывода через запятые.

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

printf(“Введите стороны треугольника”);

printf(“Результат: a=%9.4f b=% 3d \n”,a,b);

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

Во второй строке выводится результат вычисления: фраза «Результат:», имя переменной и знак равенства «a=», значение переменной a в формате 9.4f (9 ‒ общая ширина поля вывода позиций, из них 4 позиции на десятичные цифры после точки, одна позиция на десятичную точку, остальные 4 позиции на знак числа и его целую часть), имя следующей переменной и знак равенства «b=», значение переменной b в формате d, с шириной поля – три. Если значение a=4.23, а значение b=3, на экране появится строка:

Результат: a= 4.2300 b=3

После вывода данной строки, курсор перейдет в начало следующей строки, так как в конце форматной строки стоит управляющий символ ‘\n’.



В языке С++ ввод-вывод может осуществляться не только с помощью функций, но и с помощью операций. Операция вывода <<, операция ввода >>.

Синтаксис вывода на экран: cout << выражение.

Синтаксис ввода с клавиатуры: cin>>переменная.

При использовании операций ввода-вывода необходимо включить в программу файл iostream.h.

Пример 1.3. Дана программа на языке С, С++.

#include <iostream.h>

int i;

main(){

cout << "Введите целое число ";

cin >> i;

cout << " Квадрат числа: " << i*i << "\n";

return 0; }

В результате работы программы на экран выводится фраза: «Введите целое число », далее с клавиатуры должно вводиться целое число (например, 3), значение которого присвоится переменной i.

Экран, после выполнения программы имеет вид:

Введите целое число 3

Квадрат числа: 9

Аппаратура и материалы: персональный компьютер не ниже Pentium–4, OC семейства Windows, интегрированная среда Builder C++.

Порядок выполнения работы

1. Создайте папку на указанном преподавателем диске или на флеш-носителе, для хранения исходных текстов программ на языке С++.

2. Отладим и выполним эту программу в среде Borland C++Builder 6. Для этого запустите Builder C++, нажав соответствующий значок на рабочем столе или (Пуск\Все программы\Builder C++). После нажатия откроется основная рабочая область инструмента, представленная на рисунке 1.1. Ознакомьтесь с средой C++Builder 6, описание которой приведено в теоретической части работы.

3. Для запуска проекта консольного приложения необходимо выполнить следующее действие: выбрать пункт меню File->New->Other, далее в открывшемся окне проектов, необходимо выбрать пункт Console Wizard.

Рис. 1.2. Выбор типа проекта

После выбора консольного проекта, откроется окно, в котором надо указать на каком языке будет код программы: С или С++. Выберите С++ и нажмите Ок. В результате открывается окно с шаблоном для ввода, куда записывается код контрольного примера лабораторной работы. Некоторые заголовочные файлы автоматически подключаются для работы программы в виде шаблона при входе в консольное приложение. Они выделены зеленым цветом и их нельзя удалять. Вид кода консольного приложения в среде C++Builder 6 представлен на рисунке 1.3.

Рис 1.3. Вид кода консольного приложения в среде C++Builder 6

 

 

4. Составим алгоритм решения следующей задачи: Вычислить длину окружности, площадь круга и объем шара, имеющих радиус R (любое целое число):

Для вычислений используем формулы L=2πR, S=πR2, V=πR3×4/3= RS× 4/3.

Блок-схема решения задачи представлена на рисунке 1.4, из которого видно, что алгоритм имеет линейную структуру.

5. Реализуем построенный алгоритм на языке программирования С++. Программа на С++ имеет вид:

#include<iostream.h> //включение заголовочного файла ввода-вывода

const float Pi =3.14; //описание константы π

int main(int argc, char* argv[]) //главная функция

{ /*описание переменных: целого типа и

вещественного типа*/

int R; float L, S, V;

cout <<" Enter R="; // вывод на экран комментария

cin >>R; //ввод значения радиуса

L=2*Pi*R; // вычисление значений

S= Pi*R*R;

V=4./3* Pi*R*R*R;

//вывод значений

cout <<'\n'<<" L="<< L <<" S="<<S<<'\n';

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

return 0;

}

 

6. Наберите программу в окне редактирования C++ Builder, используя «заготовку» (комментарий, написанный после // можно не вводить, он поясняет строки программы) (рисунок 1.5).

Рис 1.5. Вид кода консольного приложения в среде C++Builder 6 с контрольным примером

 

7. Сохраните программу, используя команду File\Save или щелчком по одноименному инструменту (рисунок 1.1). В диалоговом окне выберите диск, с которыми Вы работаете и папку, созданную в п.1. В строке имя файла введите имя программы Lab1. Автоматически к имени файла будет добавлено расширение .cpp, которое для компилятора является признаком того, что программа составлена на языке С++ (расширение .c – признак программы написанной на языке Си).

8. Для запуска программы необходимо нажать клавишу F9 или кнопку запуска в инструментах. При этом выполняется компиляция программы. Если в программе есть ошибки, то появятся соответствующие сообщения. Надо вернуться в программу, исправить их, сохранить программу с тем же именем и запустить на выполнение клавишей F9.

9. После чего откроется консоль приложения, как показано на рисунке 1.6.

Enter R=

Рис. 1.6. Результат работы программы

10. В открывшемся окне введите исходные данные (целое число – значение радиуса R), нажмите [Enter]. На экране появится результаты решения задачи L, S и V, но они быстро исчезнут. Для задержки экрана вывода результатов вернитесь в программу, перед return добавьте команду cin>>R; и заново запустите программу.

11. Для возврата в интегрированную среду, нажмите любую клавишу. Запустите программу с другими исходными данными.

12. Эта программа написана с использованием потокового ввода-вывода данных, что характерно для С++. Видоизменим программу в стиле С, используя форматный ввод и вывод. Для этого замените строки программы и сохраните под именем Lab1_1:

cout <<" Vvedite R=";

cin >>R;

на строки:

printf(" Vvedite\n R=");

scanf(“%d”, &R);

13. Замените строки программы:

cout <<'\n'<<" L="<< L <<" S="<<S<<'\n';

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

на строку:

printf("\n L= %8.3f S=%10.4f \n\n\n V =%7.2f\n", L,S,V);

14. Сохраните файл под этим же именем и откомпилируйте программу.

В результате компиляции выявится ошибка. В программе необходимо заменить библиотеку iostream.h на stdio.h (т. к. используются функции форматного ввода и вывода). Исправьте ошибку. Сохраните исправленный текст программы. Запустите программу на выполнение.

15. Сравните вид результатов работы программ Lab1 и Lab1_1.

16. Выполнить согласно варианту, выданному преподавателем, задание 1 (таблица 1.1), задание 2 (таблица 1.2) и задание 3 (таблица 1.3). Примечание: для заданий 1 и 2 программу писать не надо!

Таблица 1.1 – Условие и исходные данные задания 1

Задание 1. Записать на языке С++ математические выражения 1 и 2
№ вар. Математическое выражение 1 Математическое выражение 2
 
     
    Продолжение таблицы 1.1

Таблица 1.2 – Условие и исходные данные задания 2

Задание 2. Вычислить значения выражений, записанных на Си: A/B; C/D; C%D; C++; D--. (для вычисления A/B воспользуйтесь калькулятором).
№ варианта А В С D № варианта А В С D
30,2 1,9 15,2 16,9
29,3 2,8 14,3 17,8
28,4 3,7 13,4 18,7
27,5 4,6 12,5 19,6
26,1 5,5 11,1 20,5
25,2 6,9 10,2 21,9
24,3 7,8 9,3 22,8
23,4 8,7 8,4 23,7
23,4 8,7 8,4 23,7
22,5 9,6 7,5 24,6
21,1 10,5 6,1 25,5

Таблица 1.3 – Задание 3

№ вар. Условия заданий
С клавиатуры вводятся: длины катета прямоугольного треугольника АВ и гипотенузы АС. Вычислить длину катета ВС и периметр треугольника.
С клавиатуры вводятся: величины углов треугольника а, в, с и радиусом описанной окружности R. Вычислить стороны треугольника.
С клавиатуры вводятся: целые числа А и В выражающие объем информации в килобайтах. Перевести А в байты, В в мегабайты.
С клавиатуры вводится сторона равностороннего треугольника А. Вычислить радиус вписанной r и описанной R окружностей этого треугольника.
С клавиатуры вводятся числа A, B, C. Вычислить среднее арифметическое и среднее геометрическое этих чисел.
С клавиатуры вводятся: длины катетов прямоугольного треугольника АВ и ВС. Вычислить гипотенузу и площадь треугольника.
С клавиатуры вводятся: высота конуса H и радиус основания R. Вычислить площадь боковой поверхности и объем конуса.
С клавиатуры вводятся: координаты вершин треугольника X1,Y1, X2, Y2 и X3, Y3. Вычислить периметр этого треугольника.
С клавиатуры вводятся: основания равнобокой трапеции А, В и угол при большем основании В – АВ. Вычислить площадь трапеции.
С клавиатуры вводятся: первый член геометрической прогрессии b1 и знаменатель q. Вычислить третий член и сумму первых трёх членов этой прогрессии.
С клавиатуры вводятся: координаты концов отрезка X1,Y1 и X2, Y2. Вычислить координаты середины отрезка.
С клавиатуры вводится коэффициент b. Решить уравнение ах = b, где а = cos(b) + 5* b.
С клавиатуры вводятся числа A, B, C. Вычислить среднее арифметическое и среднее геометрическое этих чисел.
С клавиатуры вводятся: длины сторон треугольника А, В и С. Вычислить площадь треугольника, используя формулу Герона.
С клавиатуры вводится длина окружности L, найти площадь круга и радиус.
С клавиатуры вводится сторона правильного треугольника а. Вычислить периметр и площадь треугольника.
С клавиатуры вводятся: высота цилиндра H и радиус основания R. Вычислить площадь боковой поверхности и объем цилиндра.
С клавиатуры вводится сторона квадрата А. Вычислить радиус вписанной r и описанной R окружностей квадрата.
С клавиатуры вводятся: внутренний радиус кольца R1 и внешний – R2. Вычислить площадь кольца.
Даны два момента времени в часах и минутах. Найти разность между ними в часах и минутах

Содержание отчета и его форма

Выполните все описанные пункты задания, письменно оформите отчет, который должен содержать:

– название и цель лабораторной работы;

– условие и результат выполнения задания 1;

– условие и результат выполнения задания 2;

– условие задания 3, блок–схему алгоритма, отлаженную программу, вводимые исходные данные и результаты выполнения программы;

– ответы на контрольные вопросы.

Отчет предоставляется в письменной или печатной форме в тетради или на листах формата А4.

Контрольные вопросы и защита работы

1. Что такое редактирование и компиляция программы?

2. Как записывается комментарий в программах на Си?

3. Что такое заголовочные файлы? Пример.

4. Как объявляются переменные в программах?

5. Структура программы на языке C/С++.

6. Что такое алгоритм и программа линейной структуры?

7. Основные операции, используемые в C/C++ и их приоритет.

8. Какие операции ввода/вывода данных в C/С++ известны Вам?

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





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.