Uploaded by blazezerawphdmi

Л21212

advertisement
Лабораторная работа №1
Знакомство со средой разработки Visual Studio.
Потоковый ввод-вывод
Тема: Знакомство со средой разработки Visual Studio. Потоковый ввод-вывод.
Цель: получение навыков разработки алгоритмов,
написания программ, организации
потокового ввода-вывода данных.
В результате выполнения лабораторной работы студенты должны знать: основные
алгоритмические структуры, правила построения блок-схем, структуру программы, основы
ввода-вывода информации, манипуляторы ввода-вывода, входные, выходные потоки, уметь
программировать ввод-вывод пользовательской информации.
Теоретический материал
Алгоритм – конечный набор правил, расположенных в определенном логическом порядке,
позволяющий исполнителю решать любую конкретную задачу из некоторого класса однотипных
задач.
Алгоритм от обычного предписания отличают следующие свойства:
o Однозначность (точность) – наличие единственного толкования правил выполнения
действий и порядка их выполнения;
o конечность – обязательное завершение каждого из действий, составляющих алгоритм, а
также завершение выполнения алгоритма в целом;
o результативность – получение при выполнении алгоритма определенного результата;
o массовость – возможность применения алгоритма для решения целого класса задач
(предполагается его правильная работа при меняющихся в заданных пределах значениях
исходных данных);
o правильность (корректность) – способность алгоритма давать правильные результаты при
решении поставленных задач.
o Дискретность - разбиение алгоритма на ряд отдельных законченных действий - шагов.
Выполнение алгоритма разбивается на последовательность законченных действий шагов. Каждое действие должно быть закончено исполнителем алгоритма прежде, чем он
приступит к исполнению следующего действия.
o Понятность - однозначное понимание и исполнение каждого шага алгоритма его
исполнителем. Алгоритм должен быть записан на понятном для исполнителя языке, т.е.
состоять из команд, входящих в систему команд исполнителя.
Алгоритм – заранее заданное понятное и точное предписание возможному исполнителю
совершит определенную последовательность действий для получения решения задачи за
конечное число шагов.
В программировании алгоритм является фундаментом программы, а основным
исполнителем — компьютер. На стадии тестирования алгоритма исполнителем может быть сам
программист.
На практике наиболее распространены следующие формы представления алгоритмов:
 Словесная (запись на естественном языке);
 Графическая (изображения в виде графических символов);
 Псевдокоды
(полуформализованные описания алгоритмов на
условном
алгоритмическом языке, включающие как элементы языка программирования, так и фразы
естественного языка, общепринятые математические обозначения и т.д.);
 Программная (тексты на языках программирования).
Словесный способ. Представляет собой описание последовательных этапов обработки
данных. Алгоритм задается в произвольном изложении на естественном языке.
Пример
Алгоритм нахождения наибольшего общего делителя двух натуральных чисел может быть
следующим:
1. задать два числа;
2. если два числа равны, то взять любое из них в качестве ответа и остановиться, в
противном случае продолжить выполнение алгоритма;
3. определить большее из чисел;
4. заменить большее из чисел разностью большего и меньшего из чисел;
5. повторить алгоритм с шага 2.
Графический способ является более компактным и наглядным по сравнению со
словесным.
При графическом представлении алгоритм изображается в виде последовательности
связанных между собой функциональных блоков, каждый из которых соответствует выполнению
одного или нескольких действий.
Такое графическое представление принято представлять в виде блок-схемы. Для
изображения основных алгоритмических структур и блоков на блок-схемах используют
специальные графические символы. Приняты определенные стандарты графических
изображений блоков.
Большинство функциональных блоков имеют один вход и один выход. Исключение
составляет блок условия (он имеет два выхода). Для этого блока выходы обозначаются знаками
«+» или «-».
Функциональные блоки в блок-схеме соединены между собой стрелками (потоками),
указывающими последовательность выполнения действий в алгоритме. По умолчанию
направление движения потоков между блоками слева-направо, сверху-вниз. В этом случае на
соединительных линиях можно не указывать направление стрелками. В противном случае
указание направления обязательно.
Основные функциональные блоки
Обозначение
Функция
Начало/конец
Процесс [действие] (выполнение операции или группы
операций, в результате которых изменяются значение,
форма представления или расположение данных).
Ввод/вывод
Условие (выбор направления выполнения алгоритма или
программы в зависимости от некоторых переменных
условий)
Блок модификации (Цикл с параметром)
Соединитель в пределах одной страницы
Межстраничный соединитель
Предопределенный процесс (использование ранее
созданных и отдельно описанных алгоритмов или
программ).
В теории алгоритмов доказано, что любой, сколь угодно сложный алгоритм может быть
составлен из трех основных алгоритмических структур:
 линейная
 ветвления (разветвляющаяся)
 цикл (циклическая)
Линейная структура предполагает последовательное выполнение действий, без их
повторения или пропуска некоторых действий.
Структура "ветвление" предполагает выполнение одной из двух групп действий в
зависимости от выполнения условия в блоке ветвления.
Существует полная и неполная форма представления разветвляющейся структуры.
Полная форма – выполняются действия и по ветке «+» и по ветке «-»
Неполная форма – выполняются действия только по одной из веток.
Структура "цикл" имеет несколько разновидностей:
 Цикл с предусловием («пока»);
 Цикл с постусловием;
 Цикл с параметром («для»).
Действия, выполняемые в цикле, принято называть «телом» цикла.
Цикл с предусловием.
Действия внутри этого цикла повторяются пока выполняется условие в блоке ветвления,
причем сначала проверяется условие, а затем выполняется действие.
Особенность цикла: при определенных условиях действия в цикле могут не выполниться ни разу.
Цикл с постусловием.
В цикле с постусловием проверка условия выхода из цикла выполняется после очередного
действия.
Особенность цикла: действия в цикле выполнятся один раз обязательно.
Цикл с параметром.
Цикл используется в тех случаях, когда заранее известно количество повторений некоторых
действий. Для параметра такого цикла задается его начальное значение, конечное значение
(может быть задано в виде условия) и шаг изменения параметра. Обычно шаг не указывается,
если он равен 1.
При разработке блок-схемы допускается делать любые записи внутри блоков, однако эти
записи должны содержать достаточно информации для выполнения очередных действий.
Блок-схемы являются исключительно простым и наглядным способом представления
алгоритмов. Их очень полезно использовать при разработке общей структуры алгоритма, чтобы
отчетливо представить себе алгоритм в целом и проследить все логические связи между его
отдельными частями, проверить все ли возможные варианты решения поставленной задачи
нашли в нем отражение.
Пример.
Разработать блок-схему алгоритма поиска наименьшего из трех чисел, выполнить алгоритм для
конкретных исходных значений.
Поиск наименьшего числа будем осуществлять путем сравнения первых двух чисел, а затем
меньшего из двух с третьим числом.
1. Исходные данные: три числа (a, b, c).
Результат: наименьшее из трех чисел (min)
2. Словесная форма алгоритма.
1.Задать значения a, b, c
2.Если a больше b, то min задать значение b и перейти к шагу 4
3.Min задать значение a
4.Если с меньше min, то min задать значение с.
5.Вывести значение min
3. Блок-схема алгоритма.
Начало
Ввод
A,B,C
Да
A>B
Min=B
Да
Нет
Min=A
Min>C
Нет
Min=C
Вывод
Min
Конец
4. Выполнение алгоритма для конкретных исходных данных:
Шаг
Ввод
1
a=1
b=-1
c=3
2
3
4
5
Действие
a<b 1<-1
min=-1
min>c -1>3
Проверка
условия
Вывод
нет
нет
min=-1
Программное представление алгоритма (язык программирования С++)
Структура программы
Основная программная единица на языке С++ – это текстовый файл с названием
<имя>.cpp, где cpp – принятое расширение для программ на С++, а имя выбирается достаточно
произвольно. Для удобства ссылок и сопоставления программ с их внешними именами
целесообразно помещать в начале текста каждой программы строку комментария с именем
файла, в котором она находится.
Текстовый файл с программой на С++ вначале обрабатывает препроцессор, который
распознает команды (директивы) препроцессора (каждая такая команда начинается с символа
‘#’) и выполняет их. Выполняя препроцессорные директивы, препроцессор изменяет исходный
текст программы.
Например, команда #include вставляет в программу заранее подготовленные тексты из
включаемых файлов.
Синтаксис:
#include имя_включаемого_файла
Имя файла может быть заключено в угловых скобках (<>) либо в кавычках (′′ ′′). Если имя файла
заключено в угловые скобки, то поиск файла будет осуществляться в одном или нескольких
специальных каталогах, определенных конкретной реализацией. Если же имя файла заключено в
кавычки, поиск файла выполняется, как правило, в текущем каталоге (что также определено
конкретной реализацией). Во многих случаях это означает поиск текущего рабочего каталога.
Если заданный файл не найден, поиск повторяется с использованием первого способа (как если
бы имя файла было заключено в угловые скобки). Инструкции #include могут быть вложенными
в другие включаемые файлы.
Примеры:
#include <iostream>
//заголовочный файл библиотеки
//потокового ввода-вывода
#include <stdio.h>
//
заголовочный
файл
стандартной
//библиотеки ввода-вывода
#include <cmath>
//заголовочный
файл
библиотеки
//математических функций
Сформированный таким образом текст программы поступает на компиляцию. Компилятор,
во-первых выделяет из поступившего к нему текста программы лексические элементы, т.е.
лексемы, а затем на основе грамматики языка распознает смысловые конструкции языка
(выражения, определения, описания, операторы и т.д.), построенные из этих лексем.
Компилятор для распознавания начала и (или) конца отдельных лексем использует
пробельные разделители (символы пробелов, табуляции, перехода на новую строку). Кроме того,
к пробельным разделителям относятся комментарии.
До выполнения программы необходимо:
 подготовить ее текст в файле с расширением .срр;

передать этот файл на компиляцию и устранить синтаксические ошибки,
выявленные компилятором;
 безошибочно откомпилировать (получится объектный файл с расширением .obj);
 дополнить объектный файл нужными библиотечными функциями (компоновка) и
получить исполняемый модуль программы в файле с расширением .ехе.
Особенности выполнения перечисленных действий зависят от конкретного компилятора
языка С++ и той операционной системы, в которой он работает. Технические подробности
следует изучать по документации для конкретного программного продукта.
Примерная структура программы
 Раздел идентификации (название программы и дополнительная информация)
 Раздел связей (внешние модули, переменные и т.д.)
 Раздел среды (оборудование) (описание требований к среде).
 Раздел данных (идентификация переменных, констант…)
 Раздел функций (программная часть, содержащая описание процессов обработки
данных)
Программа на языке С++ состоит из одной или нескольких функций.
Синтаксис описания функции:
<тип_возвращаемого_значения> <имя_функции> (<список_параметров>)
{
<тело_функции>
}
Тело любой функции - это заключенная в фигурные скобки последовательность описаний,
определений и операторов.
Каждое описание, определение или оператор заканчивается символом "точка с запятой".
Любая программа на языке Си++ должна включать одну и только одну функцию с именем
main. Именно с нее начинается выполнение программы.
Например
void main()
{
int main()
{
}
return 0;
}
В первом случае перед именем main помещено служебное слово void - спецификатор типа,
указывающий, что функция main в данной программе не возвращает никакого значения, во
втором – в качестве типа возвращаемого значения указывается int и в теле функции присутствует
оператор return, который возвращает в вызывающий функцию процесс значение 0. Круглые
скобки после main требуются в соответствии с форматом (синтаксисом) заголовка любой
функции. В них помещается список параметров, значения которых должны передаваться в
функцию при ее вызове (в данных примерах он пуст).
Потоковый ввод-вывод
Обмен данными между программой и внешними устройствами осуществляется с
помощью операций ввода-вывода. Типичным внешним устройством является терминал. На
терминале можно напечатать информацию. Можно ввести информацию с терминала, напечатав
ее на клавиатуре. Другим типичным устройством является жесткий или гибкий диск, на котором
расположены файлы. Программа может создавать файлы, в которых хранится информация.
Другая (или эта же) программа может читать информацию из файла.
В языке Си++ имеется набор классов, стандартно поставляемых вместе с компилятором,
которые и реализуют основные операции ввода-вывода.
Библиотека классов для ввода-вывода решает две задачи. Во-первых, она обеспечивает
эффективный ввод-вывод всех встроенных типов и простое, но гибкое, определение операций
ввода-вывода для новых типов, разрабатываемых программистом. Во-вторых, сама библиотека
позволяет при необходимости развивать её и модифицировать.
Потоки
Механизм для ввода-вывода в Си++ называется потоком. Название произошло от того,
что информация вводится и выводится в виде потока байтов – символ за символом.
Класс istream реализует поток ввода, класс ostream – поток вывода. Эти классы
определены в файле заголовков iostream.h. Библиотека потоков ввода-вывода определяет
три глобальных объекта: cout, cin и cerr.
cin
cout
cerr
объект класса istream, связанный
со стандартным буферизованным
входным потоком
объект класса ostream, связанный
со стандартным буферизованным
выходным потоком
объект класса ostream, связанный
со стандартным
небуферизованным выходным потоком, в который направляются сообщения
об ошибках
Вывод осуществляется с помощью операции (помещение данных в поток вывода) <<,
Ввод данных осуществляется с помощью операции (помещение данных в поток ввода) >>.
В качестве элементов вывода (ввода) могут выступать: именованные и неименованные
константы (литералы), переменные, выражения.
Пример
cout << "Пример вывода: " << 34;
/* напечатает на терминале текст "Пример вывода", за которым будет
выведено число 34 */
Пример:
int x;
cin >> x;
/* введет целое число с терминала в переменную x. (Разумеется,
для того, чтобы ввод произошел, на терминале нужно напечатать какоелибо число и нажать клавишу Enter) */
Манипуляторы и форматный ввод-вывод
Часто бывает необходимо вывести строку или число в определенном формате. Для этого
используются так называемые манипуляторы.
Манипулятор — объект особого типа, который управляет потоками ввода/вывода, для
форматирования передаваемой в потоки информации.
Некоторые манипуляторы могут также выводить или вводить специальные символы.
Некоторые манипуляторы предполагают подключение заголовочного файла iomanip.
Подключение заголовочного файла: #include <iomanip>
Манипулятор
Назначение
Пример
cout << “website:” << endl <<
Переход на новую строку при выводе
endl
“cppstudio.com”;
bool log_true = 1;
Вывод
логических величин в
boolalpha
cout << boolalpha << log_true <<
текстовом виде (true, false)
endl;
bool log_true = true;
Вывод логических величин в числовом
noboolalpha
cout << noboolalpha << log_true
виде (1, 0)
<< endl;
Вывод
величин
в восьмеричной int value = 64;
oct
системе счисления
cout << oct << value << endl;
Вывод
величин
в
int value = 64;
десятичной
системе
dec
cout << dec << value << endl;
счисления (по умолчанию)
Вывод величин в шестнадцатеричной int value = 64;
hex
системе счисления
cout << hex << value << endl;
int value = 64;
Выводить
индикатор
showbase
cout << showbase << hex << value
основания системы счисления
<< endl;
Не
выводить
индикатор int value = 64;
основания
системы счисления (по cout << noshowbase << hex <<
noshowbase
умолчанию).
value << endl;
В
шестнадцатеричной
системе
int value = 255;
счисления использовать буквы верхнего
uppercase
cout << uppercase << hex << value
регистра (по умолчанию установлены
<< endl;
буквы нижнего регистра).
В
шестнадцатеричной
системе int value = 255;
счисления использовать буквы нижнего cout << nouppercase << hex <<
nouppercase
регистра (по умолчанию).
value << endl;
Вывод
знака
плюс
+
для int value = 255;
showpos
положительных чисел
cout << showpos<< value << endl;
int value = 255;
Не выводить знак плюс + для
noshowpos
cout <<noshowpos<< value <<
положительных чисел (по умолчанию).
endl;
Вывод чисел с плавающей точкой в double value = 1024.165;
scientific
экспоненциальной форме
cout << scientific << value << endl;
Вывод чисел с плавающей точкой в double value = 1024.165;
fixed
фиксированной форме (по умолчанию). cout << fixed << value << endl;
Установить ширину поля, где number —
количество
позиций,
символов cout << setw(40) <<
setw(int number)
(выравнивание по умолчанию по правой “cppstudio.com” << endl;
границе). Манипулятор с параметром.
Выравнивание по правой границе (по
умолчанию). Сначала необходимо
cout << setw(40) << right <<
установить ширину поля (ширина поля
right
“cppstudio.com” << endl;
должна быть заведомо большей чем,
длина выводимой строки).
Выравнивание по левой границе.
Сначала
необходимо
установить
cout << setw(40) << left <<
ширину поля (ширина поля должна
left
“cppstudio.com” << endl;
быть заведомо большей чем, длина
выводимой строки).
Задаёт количество знаков после
cout << fixed << setprecision(3) <<
setprecision(int count) запятой, где count — количество знаков
(13.5 / 2) << endl;
после десятичной точки
Установить символ заполнитель. Если
ширина поля больше, чем выводимая
cout << setfill(‘0’) << setw(4) << 15
величина, то свободные места поля
setfill(int symbol)
<< ends << endl;
будут наполняться символом symbol —
символ заполнитель
Результат
website:
cppstudio.com
true
1
100
64
40
0x40
40
FF
ff
+255
255
1.024165e+003
1024.165
__cppstudio.com
__cppstudio.com
cppstudio.com__
6.750
0015
Пример
int
x
=
53; // объявление и инициализация переменной х
// Вывод значения переменной х в различных системах счисления
cout << "Десятичный вид: " << dec << x << endl
<< "Восьмеричный вид: " << oct << x << endl
<< "Шестнадцатеричный вид: " << hex << x << endl;
Пример
// Объявление переменной x вещественного типа (двойной точности)
double x;
// вывести число в поле общей шириной 6 символов
// (3 цифры до запятой, десятичная точка и 2 цифры после запятой)
cout << fixed << setw(6) << setprecision(2) << x << endl;
По умолчанию пробельные символы при вводе воспринимаются как разделители между
атрибутами ввода.
Для обозначения ряда непечатаемых символов используются так называемые
экранированные последовательности – знак обратной дробной черты, после которого стоит
буква. Эти последовательности стандартны и заранее предопределены в языке:
Escпоследовательность
\a
\b
\f
\n
\r
\t
\v
\'
\"
\\
\?
Действие
звонок
возврат на один символ назад
перевод страницы
новая строка
перевод каретки
горизонтальная табуляция
вертикальная табуляция
апостроф
двойные кавычки
обратная дробная черта
вопросительный знак
Создание консольного приложения в среде разработки Visual Studio
1. Запустить приложение и выбрать Создать проект:
2. Выбрать параметры приложения
После создания приложения с предварительно скомпилированным заголовком можно в
созданный автоматически файл исходного кода вносить текст программы:
В случае создания пустого проекта необходимо добавить в проект файл исходного кода с
расширением cpp.
После того, как программа будет набрана, необходимо выполнить компиляцию и запуск
программы (Отладка - Начать отладку(F5) или Отладка-Запуск без отладки (CTRL+F5))
или инструмент
.
В случае наличия ошибок исправить их и выполнить программу с различными исходными
данными.
Пример
Даны два числа. Найти их сумму, разность и произведение.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian"); //Для корректного отображения текста на русском языке в консоли
float a, b;
cout << "Введите число a: ";
cin >> a;
cout << "Введите число b: ";
cin >> b;
cout << endl;
cout << "Сумма: " << a + b << endl;
cout << "Разность:" << a - b << endl;
cout << "Произведение: " << a * b << endl;
cout << endl;
system("pause");
return 0;
}
Задание лабораторной работы
Для заданий 1, 3, 4:
Написать программу, выполнить ее отладку и тестирование. Интерфейс программы должен быть
понятен (содержать пояснения для пользователя по исходным данным и результатам).
Для задания 2:
o Определить исходные, промежуточные данные и результат
o Составить алгоритм решения задачи и представить его в виде блок-схемы
o Выполнить алгоритм для конкретных исходных значений
Примечание: для использования в арифметических выражениях математических функций
подключите заголовочный файл библиотеку математических функций <cmath>
Вариант 1
1. Найти необходимую массу соли и воды для приготовления солевого раствора массой m г
с массовой долей w%.
2. Турист за день прошел А км. До обеда он шел t часов и прошел 20 км. Еще t2 часа он шел
после обеда. Когда скорость туриста была выше: до обеда или после обеда?
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
|2a+sin3a|
функции y = √
3,8
для этого аргумента.
Вариант 2
1. Найти периметр, гипотенузу и площадь прямоугольного треугольника, если даны длины
его катетов a и b.
2. Даны целые числа m и n. Определить делится ли число m нацело на n. Если делится, то
найти результат деления.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
3
3a+1
функции y = a2 +1 √|a| + cos 2 для этого аргумента.
Вариант 3
1. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время
движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S,
пройденный лодкой.
2. Гнездо для ножки деревянной кровати имеет форму прямоугольной вырезки. Определить,
подойдет ли данный четырехугольный брусок для этого гнезда.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции y = |3ln
3a−2 +1
4
| + 2a для этого аргумента.
Вариант 4
1. Даны две обыкновенные дроби, найти их сумму и частное.
2. Первая бригада маляров за t1 час покрасила А м2 стен, а вторая бригада за t2 часа покрасила
В м2. У какой бригады производительность труда выше и на сколько?
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции y = cos
x2
x
2
|1+ |+1
−2ex для этого аргумента.
Вариант 5
1. Всхожесть семян пшеницы равна а%. Сколько тонн семян нужно посеять, чтобы s тонн из
них проросло?
2. Туристы вышли из леса на шоссе неподалеку от километрового столба с отметкой А км и
решили пойти на ближайшую автобусную остановку. Посмотрев на план местности,
руководитель группы сказал, что автобусные остановки расположены на километре В и
на километре С. Куда следует пойти туристам?
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
𝑎 2 +10
функции 𝑦 = 2 − 2𝑒 𝑎 для этого аргумента.
√𝑎 +1
3
Вариант 6
1. Найти длину окружности и площадь круга заданного радиуса R. В качестве значения π
использовать 3.14.
2. Дано трехзначное натуральное число. Определить какая из его цифр меньше: вторая или
третья.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = 𝑥 − 2 𝑥 +
𝑒 −𝑥
𝑥 6 +4
для этого аргумента.
Вариант 7
1. Расстояние между домами, в которых живут Петя и Коля, 1200 м. Однажды они вышли
каждый из своего дома и направились навстречу друг другу. Когда Петя прошел А метров,
они встретились. Во сколько раз расстояние, которое прошел Коля больше расстояния,
которое прошел Петя?
2. Даны длины трех отрезков a, b, c. Если можно построить треугольник по этим трем
отрезкам, то вычислить его периметр и площадь.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции𝑦 = 𝑐𝑜𝑠
𝑥√𝑥 2 +4
21
− 𝑒 𝑥 для этого аргумента.
Вариант 8
1. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое
их модулей.
2. Дано трехзначное натуральное число. Определить равен ли квадрат этого числа сумме
кубов его цифр.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
|2a+sin3a|
функции y = √
3,8
для этого аргумента.
Вариант 9
1. Универмаг в ноябре продал товаров на А млн. р., что на 15% больше, чем в октябре. На
какую сумму были проданы товары в октябре?
2. Цилиндрическая деталь должна иметь длину LO и диаметр DO. Допуски равны
соответственно XL и XD. Определить, удовлетворяет ли норме изготовленная деталь.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
𝑥
функции 𝑦 = 2𝑒 2
+1
+
1
для этого аргумента.
√𝑥 2 +1
Вариант 10
1. Дана сторона равностороннего треугольника. Найти площадь этого треугольника
и радиусы вписанной и описанной окружностей.
2. Тело имеет массу М г и объем V см3. Будет ли оно плавать в жидкости, объем которой
равен V1 см3, а масса М1 г? (Указание: найдите плотности тела и жидкости, а затем
сравните их).
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = |2𝑙𝑛
3𝑎2 +1
4
+ 4𝑎|для этого аргумента.
Вариант 11
1. От станции до озера S км. Туристы, направляясь от станции к озеру, полтора часа шли
пешком со скоростью А км, а затем сели на попутную машину, которая ехала со скоростью
В км/ч. За какое время туристы добрались до озера?
2. Дано трехзначное натуральное число. Определить является ли сумма его цифр
двузначным числом.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = 2𝑒 −3𝑥+1 +
4𝑥+1
𝑥 2 +1
для этого аргумента.
Вариант 12
1. На строительных работах нужно отработать S часов, в подразделении N строителей.
Какова средняя загруженность одного человека?
2. Даны координаты точки на плоскости. Определить в какой четверти координатной
плоскости находится точка. Отдельно рассмотреть случаи, когда точка располагается на
какой-либо из осей.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 =
√2|𝑎−5|
𝑎4 +1
+ 𝑐𝑜𝑠
𝑎
для этого аргумента.
2+|𝑎|
Вариант 13
1. Сахарная свекла содержит 14% сахара. С 1 га собирают S тонн сахарной свеклы. Cколько
гектаров надо засеять сахарной свеклой, чтобы получить В тонн сахара?
2. Стоимость А метров серой ткани равна В рублей, а стоимость K метров синей ткани равна
М рублей. Какая ткань дороже и на сколько?
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = 𝑐𝑜𝑠 2
𝑥
2𝑥 2 +1
для этого аргумента.
Вариант 14
1. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого
куба.
2. Дано трехзначное натуральное число. Определить больше ли число a произведения цифр
заданного числа.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
3
3a+1
функции y = a2 +1 √|a| + cos 2 для этого аргумента.
Вариант 15
1. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км.
Определить расстояние между ними через T часов, если автомобили удаляются друг от
друга.
2. Из трех данных чисел выбрать наименьшее.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
3a−2 +1
функции y = |3ln 4 | + 2a для этого аргумента.
Вариант 16
1. Из 18 т железной руды выплавляют 10 т железа. Сколько железа выплавят из А т руды?
2. Смекалкин, уходя в школу, вышел из дому на 3 минуты позже младшего брата. Расстояние
до школы S метров. Смекалкин идет со скоростью V1 м/мин, а его брат – V2 м/мин.
Догонит ли Смекалкин брата, прежде, чем тот придет в школу?
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции y = cos
x2
x
2
|1+ |+1
−2ex для этого аргумента.
Вариант 17
1. Найти расстояние между двумя точками с заданными координатами (x1, y1) и (x2, y2).
2. Нормальный пульс человека 60 ударов в минуту, давление 120 на 80. При отборе в школу
космонавтов допуск по пульсу равен –1, +3; допуск по нижнему значению давления 3, по
верхнему - +5. Определить, пройдет ли медкомиссию данный претендент.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
𝑎 2 +10
функции 𝑦 = 2 − 2𝑒 𝑎 для этого аргумента.
√𝑎 +1
3
Вариант 18
1. Пешеход прошел S1 км за T1 час. Какое расстояние пройдет пешеход за T2 часа?
2. Даны координаты точки радиус окружности R. Определить, попадает ли точка в
окружность c центром в (0,0)
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
|2a+sin3a|
функции y = √
3,8
для этого аргумента.
Вариант 19
1. Цех по ремонту бытовой техники имеет ежедневно прибыль Р, с которой платит налог
70%. Из оставшейся доли прибыли 30% идет на развитие производства, а остальное – на
заработную плату 8 работникам. Какова среднемесячная зарплата работника?
2. Даны стороны треугольника. Определить является ли равнобедренным.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = 𝑥 − 2 𝑥 +
𝑒 −𝑥
𝑥 6 +4
для этого аргумента.
Вариант 20
1. Сырье для изготовления искусственных нитей поступает в бочках радиуса R и высотой H.
Определить объем N бочек
2. Занятия в начальных классах отменяются в тех случаях, когда температура воздуха не
выше –25 градусов, а также при ветре не менее 7м/с и температуре не выше – 20 градусов.
По утренней сводке погоды определить, пойдут ли дети в школу.
3. Написать программу ввода с экрана числа. Вывести его в десятичной, восьмеричной,
шестнадцатеричной системе счисления.
4. Написать программу ввода с экрана значения аргумента функции и вычисления значения
функции 𝑦 = 2𝑒 −3𝑥+1 +
4𝑥+1
𝑥 2 +1
для этого аргумента.
Методические рекомендации для оформления отчета
Имя файла отчета ОП-ЛРномер_работы(две цифры)-Фамилия
Отчет должен содержать:
 Титульный лист с указанием наименования дисциплины, номера и темы
лабораторной работы, вариант, номер группы, ФИО выполнившего работу (пример
титульного листа представлен ниже).
 Для каждого задания:
o Номер и текст задания
o Исходный код (листинг) программы (в виде текста)
o Результаты (скрин), полученные при выводе на экран после выполнения
программы на контрольном примере (тестирование программы проводится
неоднократно для различных вариантов решения задачи).
 Вывод по результатам лабораторной работы, в котором также могут быть указаны
трудные моменты, возникшие при выполнении лабораторной работы,
самостоятельно изученный, не входящий в основную теорию темы материал.
 Оформление отчета:
Текст задания – Times New Roman, 12пт,
Текст программы - Courier New, 10
Абзац:
АНПОО «КОЛЛЕДЖ ВОРОНЕЖСКОГО ИНСТИТУТА ВЫСОКИХ ТЕХНОЛОГИЙ»
Специальность 09.02.03 Программирование в компьютерных системах
Лабораторная работа №
по дисциплине Основы программирования
Тема:«»
Вариант
Выполнил: студент(ка) группы__________
.
ФИО
ВОРОНЕЖ 2020
Download