СДАВАТЬ ЧЕРЕЗ 10 МИРУТ Задание 3. Площадь части фигуры. a/2 Дан треугольник с основанием а, которое одновременно является стороной описанного возле треугольника квадрата. Вычислите площадь фиолетовой части квадрата. 1. Какой алгоритм называют линейным? Какие операторы применяют для запроса значений переменных? 3. Какой оператор применяют для вывода ответа на экран? 4. Приведи примеры задач, решаемых с линейных алгоритм НЕ
procedure hase(var k,n,max:integer); //сама последовательность begin if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность writeln(n); //вывод нового члена последовательности inc(k); //увеличение значения счётчика шагов if max<n then max:=n; //поиск вершины end;
procedure start(var k,n,max:integer); //название процедуры намекает begin readln(n); k:=0; writeln('Seq:'); max:=integer.MinValue; while n<>1 do hase(k,n,max); writeln('Шаги:',k); writeln('Вершина:',max); end; begin start(k,n,max); end. Пример ввода: 6 Пример вывода: Seq: 3 10 5 16 8 4 2 1 Шаги:8 Вершина:16
Var dat:DateTime; myForm:Form; myButton:Button; myTextBox:TextBox;
procedure MyButtonClick(sender:Object;e:EventArgs); begin {при каждом нажатии на кнопку значение dat обновляется и выводится в текстовое поле} dat:=datetime.Now; myTextBox.Text:=dat.ToString; end; begin myForm:=new Form; //создание объекта - формы myform.Left:=500; myform.top:=500; myform.AutoSize:=true; myform.Width:=300; myform.Height:=100; myTextBox:=new TextBox; //создание объекта - текстового поля myTextBox.Left:=80; myTextBox.Top:=40; myTextBox.Enabled:=true; myTextBox.Width:=105; myTextBox.Height:=100; myTextBox.MaxLength:=16; myTextBox.ReadOnly:=false; myTextBox.Visible:=true; myButton:=new Button; //создание объекта - кнопки myButton.Text:='Now'; myButton.Left:=80; myButton.top:=80; myButton.AutoSize:=true; myForm.Controls.Add(myButton); //вешаем на форму кнопку и поле myForm.Controls.Add(myTextBox); myButton.click+=MyButtonClick; //присваиваем событие при нажатии на кнопку Application.Run(myForm); end.
Var
k,n,max:integer;
procedure hase(var k,n,max:integer); //сама последовательность
begin
if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность
writeln(n); //вывод нового члена последовательности
inc(k); //увеличение значения счётчика шагов
if max<n then max:=n; //поиск вершины
end;
procedure start(var k,n,max:integer); //название процедуры намекает
begin
readln(n);
k:=0;
writeln('Seq:');
max:=integer.MinValue;
while n<>1 do
hase(k,n,max);
writeln('Шаги:',k);
writeln('Вершина:',max);
end;
begin
start(k,n,max);
end.
Пример ввода:
6
Пример вывода:
Seq:
3
10
5
16
8
4
2
1
Шаги:8
Вершина:16
uses
system,system.Windows.Forms;
Var
dat:DateTime;
myForm:Form;
myButton:Button;
myTextBox:TextBox;
procedure MyButtonClick(sender:Object;e:EventArgs);
begin {при каждом нажатии на кнопку значение dat обновляется и выводится в текстовое поле}
dat:=datetime.Now;
myTextBox.Text:=dat.ToString;
end;
begin
myForm:=new Form; //создание объекта - формы
myform.Left:=500;
myform.top:=500;
myform.AutoSize:=true;
myform.Width:=300;
myform.Height:=100;
myTextBox:=new TextBox; //создание объекта - текстового поля
myTextBox.Left:=80;
myTextBox.Top:=40;
myTextBox.Enabled:=true;
myTextBox.Width:=105;
myTextBox.Height:=100;
myTextBox.MaxLength:=16;
myTextBox.ReadOnly:=false;
myTextBox.Visible:=true;
myButton:=new Button; //создание объекта - кнопки
myButton.Text:='Now';
myButton.Left:=80;
myButton.top:=80;
myButton.AutoSize:=true;
myForm.Controls.Add(myButton); //вешаем на форму кнопку и поле
myForm.Controls.Add(myTextBox);
myButton.click+=MyButtonClick; //присваиваем событие при нажатии на кнопку
Application.Run(myForm);
end.