{/*Написать логическое выражение для определения стоимости переговоров, если стоимость переговоров с 22 часов до 8 часов на 20% ниже, а в субботу и в воскресенье дополнительно предоставляется скидка 10%. */}
t = +prompt('время разговоров от 0 до 24 часов')
dt = +prompt('продолжительность разговора в минутах')
s = +prompt('стоимость минуты разговора')
d = +prompt('день недели от 1 до 7')
console.log('t=',t,'dt=', dt, 's=', s, 'd=', d)
function Price (t, dt, d, s) {
let startTalk = t*60
let price = 0
console.log('day = ', d)
for (let i =1; i<=dt; i++){
let night = false
let holiday = false
let p = s
if( (startTalk+i)%1440 === 0 ){
if (d<7){
d=d+1
console.log('day = ', d)
} else {
d=1
console.log('day = ', d)
}
}
if ( (startTalk+i)%1440>=1320 || (startTalk+i)%1440<480){
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
Код
С++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}
Відповідь:
Дивись фото
Пояснення:
<!DOCTYPE html>
<html>
<head>
<title>Price</title>
<meta charset="utf-8">
</head>
<body>
<p>стоимости переговоров</p>
</body>
<script>
{/*Написать логическое выражение для определения стоимости переговоров, если стоимость переговоров с 22 часов до 8 часов на 20% ниже, а в субботу и в воскресенье дополнительно предоставляется скидка 10%. */}
t = +prompt('время разговоров от 0 до 24 часов')
dt = +prompt('продолжительность разговора в минутах')
s = +prompt('стоимость минуты разговора')
d = +prompt('день недели от 1 до 7')
console.log('t=',t,'dt=', dt, 's=', s, 'd=', d)
function Price (t, dt, d, s) {
let startTalk = t*60
let price = 0
console.log('day = ', d)
for (let i =1; i<=dt; i++){
let night = false
let holiday = false
let p = s
if( (startTalk+i)%1440 === 0 ){
if (d<7){
d=d+1
console.log('day = ', d)
} else {
d=1
console.log('day = ', d)
}
}
if ( (startTalk+i)%1440>=1320 || (startTalk+i)%1440<480){
night = true
}
if ( d === 6 || d===7){
holiday = true
}
if (night){
p = p - s*0.2
}
if (holiday){
p = p-s*0.1
}
price = price+p
console.log('стоимости '+ i+'мин. = '+ p.toFixed(2)+'$')
}
console.log('fin.price', price.toFixed(2), '$')
return price.toFixed(2)
}
{/*Price(t, dt, d, s)*/}
alert('стоимости переговоров ' + '$' + Price(t, dt, d, s))
</script>
</html>
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
КодС++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}