Нужно решить на языке c++(то есть используя cin,cout,int)
много !
завтра у пети доклад на уроке . для доклада петя подготовил велико-
лепный текст, а также взял несколько иллюстраций в библиотеке.
но вот : текст у пети находится в электронном виде, а значит, его нуж-
но распечатать. к несчастью, в его принтере кончаются чернила, и на доклад их
может не хватить. в таком случае ему придется посылать папу в магазин за но-
вым картриджем (впрочем, может оказаться, что не петя пошлет папу в магазин,
а наоборот). чтобы не гонять папу (а, может быть, и не папу) зря, петя решил
подсчитать, хватит ли оставшихся чернил на его доклад.
чтобы это сделать, петя для каждой буквы оценил количество чернил, требуе-
мое для того, чтобы ее напечатать. более того, некоторые понятия в тексте пети
выделены с заглавных букв, и это тоже надо учитывать.
пете подсчитать суммарное количество чернил, необходимое для того,
чтобы распе- чатать текст его доклада.
формат входных данных
в первой строке входного файла содержится число n (1 ≤ n ≤ 26) — количество
используемых в тексте букв латинского алфавита.
в каждой из последующих строк содержится символ si и два целых числа ai и
bi
. si — это строчная буква латинского алфавита, ai — количество чернил, требу-
емое для печати строчной буквы, bi — количество чернил, требуемое для печати
соответствующей заглавной буквы. все si различны. для чисел ai и bi верны нера-
венства 1 ≤ ai
, bi ≤ 100.
в следующей строке находится текст доклада пети. его длина не превосходит
100 символов. текст состоит из строчных и заглавных букв латинского алфавита,
причем в тексте присутствуют только те буквы, для которых во входом файле
задано требуемое для их печати количество чернил
формат выходных данных
в выходной файл выведите суммарное количество чернил, требуемое для вывода
текста на печать.
Для второго отрезка (х3,у3) и (х4,у4), прямая у=у3+(у4-у3)(х-х3)/(х4-х3).
Абсцисса точки пересечения (х,у) этих прямых находится из равенства
у1+(у2-у1)(х-х1)/(х2-х1)=у3+(у4-у3)(х-х3)/(х4-х3). Это х надо выразить в виде формулы до написания программы, чтобы х вычислялось в программе по этой формуле.
Схема программы:
1) проверка параллельности отрезков. Если "да", то выход и ответ "не существует".
2) проверка выполнения двух двойных неравенств: x1 <= x <= x2, x2 <= x <= x4.
Если оба неравенства "истина", то ответ "существует", иначе "не существует"
Обратите внимание, что х1 должно быть меньше чем х2, и х3 меньше чем х4.
Interface Ключевое слово Interface начинает определение внешнего интерфейса модуля.
Uses Ключевое слово Uses определяет список одного или более модулей, которые используются текущим модулем, программой или библиотекой.
Type Ключевое слово Type является фундаментальной частью Delphi оно позволяет создать новые категории (типы) переменной и процесса.
TForm1 = class(TForm) Ключевое слово Class это центральная часть Объектно-ориентированного кода. Объявление класса имеет следующее типичное описание :
Private Определения данных/методов локальные для этого модуля
Protected Определения данных/методов, локальных для этого класса + потомки
Public Определения данных/методов пригодных для использования всеми объектами этого класса
Published Внешне общественные определения
Edit1: TEdit; Компонент Delphi представляет собой однострочное текстовое поле, служащее для ввода данных пользователем
Label1: TLabel; компонент который позволяет отображать текст
Button1: TButton; Кнопка
procedure Button1Click(Sender: TObject); Процедура которая сработает если кликнуть на кнопке
var
Ключевое слово Var используется, чтобы начать раздел определения переменных.
Form1: TForm1; Определяем переменную типа TForm1 смотри выше
Implementation Ключевое слово Implementation начинает активный раздел кода модуля - где объявления интерфейса реализовываются.
{$R *.dfm}//Подключение .dfm файла (файл с данными о визуальных объектах)
procedure TForm1.Button1Click(Sender: TObject); Не посредственно сама процедура обработки события нажатия кнопки
varx,y,z,p:real; Объявляем переменные вещественного типа real
Begin Начало кода процедуры
x:=StrToFloat(Edit1.Text);y:=StrToFloat(Edit2.Text);z:=StrToFloat(Edit3.Text); Считываем текст из однострочное текстовое поле, StrToFloat – пытаемся преобразовать в вещественное значение
p:=(3*x*(exp(3*ln(y)))+(sqrt(y+sqr(x)*z))+ln(Z));
p:=p/(Abs(x-y+sqr(z))+(sin(x)*sin(x)));
Производим расчеты
Label5.Font.color:=clBlue;
Label5.Caption:='Результат:'+#13+'p='+ FloatToStr(5);
Делаем цвет текста голубой, и отображаем значение цифры 5, скорее всего наверное имелось введу «p», #13 это начать с новой строчки – как будто нажали клавишу Enter
end;
Конец процедуры кнопки
end.
конец модуля