Теперь следует переписать переменную в линейном виде, используя арифметические операции языка СИ и математические функции, обращая внимание на порядок скобок в записи выражения.
Получим:
.
Далее создадим новый проект (как это сделать изучено в ЛР1). Добавим в него файл исходного кода, запишем в нем функцию main() и объявим переменные.
Далее произведем чтение целочисленных значений переменных с клавиатуры, используя оператор scanf(). Для того, чтобы его стало возможным использовать, подключим заголовочный файл stdio.h.
После чтения значений переменных организуем расчет формулы. Заметим, что для использования функции вычисления синуса числа нам потребуется подключить библиотеку “math.h”, содержащую определение математических функций.
На следующем шаге осуществим вывод полученного значения у. В формате вывода числа укажем, что само число должно занимать 10 символов, после запятой должно отображаться три знака:
При запуске программы в данном случае мы вводим значения переменных, после чего окно закрывается и мы не успеваем увидеть результат работы программы. Для того, чтобы предотвратить закрытие окна добавим команду system("pause") и подключим библиотеку <stdlib.h>:
После запуска приложения и ввода переменных программа выведет следующую информацию (рис. 1).
Рис. 1. Консольное окно выполнения программы
Несмотря на то, что алгоритм программы правильный, сама она неинформативна. Для того, чтобы сделать ее более простой в использовании, добавим так называемые подсказки пользователя, выведя перед вводом переменных сообщения о том, какие данные следует вводить:
Вывод полученных результатов организуем следующим образом:
После запуска программы, ввода значений и завершения алгоритма мы увидим окно со следующим содержимым (рис. 2).
Рис. 2. Консольное окно выполнения программы
Как мы видим, кириллический шрифт оказался нераспознанным. Для того, чтобы исправить это, добавим в код программы следующие строку:
Кроме того, необходимо подключить библиотеку locale.h.
Теперь код программы выглядит следующим образом:
После выполнения программы мы получим окно со следующим содержимым (рис. 3)
Рис. 3. Консольное окно выполнения программы
При написании программы правилом хорошего тона является добавление в исходный код комментариев. Они позволяют легко ориентироваться в коде, особенно, если программа содержит много функций или ее алгоритм достаточно сложен. Добавим комментарии к нашей программе. Кроме того, для облегчения понимания кода, отдельные его смысловые блоки выделим при помощи отступов:
На этом выполнение данного задания завершено.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.
Ознакомится с теоретической частью лабораторной работы.
Ознакомится с заданиями согласно варианту.
Разработать блок-схему линейного алгоритма решения задачи.
Реализовать разработанный алгоритм на языке программирования C++.
Протестировать программу.
СОДЕРЖАНИЕ ОТЧЕТА
Титульный лист с названием лабораторной работы, номером своего варианта, фамилией студента(ов) и группы.
На первом после титульного листа указать :
- Название работы.
- Цель.
- Задание по варианту.
Блок схема алгоритма.
Текст программы.
Результаты работы программы.
Выводы о полученных результатах работы программы.
КОНТРОЛЬНЫЕ ВОПРОСЫ
Что называется выражением в языке СИ?
Что называется операцией в языке СИ?
Какие типы операций в языке СИ вам известны?
Как осуществляется ввод и вывод информации в программах на языке СИ?
Как реализуются основные математические функции в программах на языке СИ?
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
Липпман С. Б. Основы программирования на C++: Пер. с англ. — М.:Вильямс, 2002. — 256 с.
Липпман С. Б., Лажойе Ж. Язык программирования С++. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2001. — 1104 с.
Страуструп Б. Язык программирования C++: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2003. — 1104 с.
Страуструп Б. Дизайн и эволюция языка C++. Объектно-ориентированный язык программирования: Пер. с англ. — М.: ДМК пресс, Питер, 2006. — 448 с.
Эккель Б. Философия C++. Введение в стандартный C++: Пер. с англ. — 2-е изд. — СПб.: Питер, 2004. — 572 с.
Эккель Б., Эллисон Ч. Философия C++. Практическое программирование: Пер. с англ. — СПб.: Питер, 2004. — 608 с.
Приложение
Задание 1. Написать программу на языке С++ для решения задачи согласно варианту:
Автомобиль на каждом из пяти одинаковых по длине участках дороги шел с известной средней скоростью. Составьте алгоритм и программу для определения средней скорости на всем пути.
Вычислить стоимость мебельного гарнитура, содержащего 4 стула, 2 кресла и 1 стол. Стоимость изделий соответственно A, B и C.
Продуктовый магазин продает яблоки поштучно по 5 руб., груши по 7 руб., апельсины по 8 руб. В первые два дня недели продано: понедельник - Х яблок, Y груш, Z апельсинов; вторник - X яблок, Y груш, Z апельсинов. Напишите программу, которая будет вычислять, на какую сумму продал магазин фруктов в каждый из этих дней и за оба дня вместе.
Вычислить стоимость мебельного гарнитура, содержащего 4 стула, 2 кресла и 1 стол. Стоимость изделий соответственно A, B и C.
Мальчик может бегать в три раза быстрее, чем ходить. Скорость его ходьбы равна 4 км/ч. Он принял участие в марафонском забеге, но сошел с дистанции, пробежав только Х км. Сколько времени он потратил на преодоление этого расстояния.
Работник зарабатывает Х руб. за каждые 38 часов своей работы. Ему платят в 1,5 раза больше за каждый час сверх 38 часов. Какую сумму он получит, если работает А часов (А должно быть заведомо больше 38).
Магазин продает В машин по цене А руб. за каждую. Найти общую выручку от продажи машин.
В магазине продается костюмная ткань. Ее цена В руб. за квадратный метр. Напишите программу, которая подсчитает и выведет на экран стоимость куска этой ткани длиной Х метров и шириной 80 см.
Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна А метров, а высота - В метров. Рулон обоев имеет длину 12 метров и ширину 1м. Сколько будут стоить обои для всей стены, если цена одного руло на К руб.
Человеку нужно съездить из Лондона в расположенный в 390 милях Эдинбург. Он может ехать на автомобиле марки Роллс-Ройс, либо на автомобиле марки Форд. Роллс-Ройс расходует 1 галлон бензина на каждые 15 миль пути. Форд расходует 1 галлон бензина на каждые 36 миль пути. Сколько будет стоить поездка в Эдинбург на Ролс-Ройсе, если стоимость 1 галлона бензина составляет Х фунтов? Сколько денег он сбережет, если вместо этого он поедет на машине марки Форд.
В видеоигре игрок выигрывает 50 очков, если он сбивает самолет,100 очков, если он сбивает ракету, 200 очков, если он сбивает спутник. Составьте программу, которая выведет на экран число очков игрока, который сбил А самолетов, В ракет и С спутников.
Заработок рабочих на фабрике составил С рублей. Его нужно разделить поровну между А рабочими. Выведите заработок каждого рабочего.
В пяти тестовых опросах мальчик получил оценки. Составьте программу, которая определит среднее значение оценок, полученных мальчиком в пяти опросах.
Первая бригада может выполнить задание за А дней, а вторая за В дней. За сколько дней обе бригады выполнят задание, работая вместе.
Работник зарабатывает Х руб. за каждые 38 часов своей работы. Ему платят в 1,5 раза больше за каждый час сверх 38 часов. Какую сумму он получит, если работает А часов (А должно быть заведомо больше 38).
Каждую неделю Юра получает деньги на мелкие расходы. Из них он тратит Х рублей на сладости. Это составляет одну четверть того, что он получает еженедельно. Юра сберегает одну треть того, что остается после покупки сладостей. Составьте программу, которая выведет на экран сумму, накопленную Юрой за год.
Город А находится от города В на расстоянии S км. Между ними на расстоянии S1 от города А находится город С. Велосипедист выехал из А в В. За какое время он доедет до города В, если до города С он ехал со скоростью V км/ч, от С до В со скоростью V1 км/ч, а в городе С он сделал остановку на 30 мин.
Написать программу вычисления стоимости путевки, складывающейся из цен на билет (в оба направления), стоимости проживания за один день, стоимости питания за один день, количества дней и стоимости экскурсий.
Задание 2. Написать программу на языке СИ для решения задачи согласно варианту:
Вычислить периметр и площадь прямоугольного треугольника по заданным длинам двух катетов а и b.
Заданы координаты трех вершин треугольника (х1, у1), (х2, у2), (х3, у3). Найти его периметр и площадь.
Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.
Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.
Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.
Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоты, радиусы вписанной и описанной окружностей.
Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.
Найти площадь кольца, внутренний радиус которого равен г, а внешний — заданному числу R(R> г).
Найти площадь равнобедренной трапеции с основаниями а и b и углом X при большем основании а.
Найти площадь треугольника, две стороны которого равны а и b, а угол между этими сторонами равен g.
Составить программу для вычисления пути, пройденного лодкой, если ее скорость в стоячей воде V1 км/ч, скорость течения реки V2 км/ч, время движения по озеру t1 ч, а против течения реки — t2 ч.
Дана величина А, выражающая объем информации в байтах. Перевести А в более крупные единицы измерения информации.
Смешано V1 литров воды температуры T1 с V2 литрами воды температуры T2. Найти объем и температуру образовавшейся смеси.
Заданы координаты четырех вершин прямоугольника. Найти его площадь.
Заданы координаты четырех вершин прямоугольника. Найти его периметр.
Дана величина А, выражающая объем информации в Гигабайтах. Перевести А в меньшие единицы измерения информации.
Найти площадь прямоугольника, две стороны которого равны а и b, а угол между этими сторонами равен g.
По введенным значением радиусов установить, на сколько площадь первого круга больше площади второго.
Задание 3. Составить программу на языке С++ для вычисления значений формулы по введенным неизвестным согласно варианту:
*Задания повышенной сложности:
Дано действительное число a. Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить:
a4 за две операции;
a13 за пять операций;
a6 за три операции;
a15 за пять операций;
a3 и а10 за четыре операции;
a4 и a20 за пять операций.