Задание 1 (макрос)

Макрос – это последовательность действий, которая может быть выполнена по требованию пользователя или автоматически при возникновение некоторого события. Макросы позволяют автоматизировать простые повторяющиеся операции. Например, при обработке документа вам приходится выравнивать рисунки по середине, задавать ширину рисунка или любого другого объекта.

Наиболее простой способ создания макроса – это его запись. для этого необходимо:

1)      Выбрать обрабатываемый объект (выделить его щелчком мыши);

2)      зайти в Главное меню->Сервис->Макрос->Начать запись;

3)      Задать имя создаваемого макроса;

4)      Выбрать спопоб доступа к нему;

5)      Выбрать место сохранения макроса (текущий документ, или шабблон для всех новых документов). Более правильно будет сохранить макрос в текущем документе;

6)      Нажать кнопку “OK”;

7)      Должна появиться новая панель ;

8)      Выполнить действия с объектом, например задать его ширину и закончить запись с помощью панели;

9)      Просмотреть текст макроса можно так:  зайти в Главное меню->Сервис->Макрос->Макросы  или нажать кнопки [Alt]+[F8], выбрать созданный ранее макрос и нажать кнопку “Изменить”, при необходимости текст макроса можно скопировать.

10)   Выполнить те же самые действия над другим объектом можно так:

a.       Выбрать объект

b.      Выполнить макрос (через панель инструментов /через список макросов ([Alt]+[F8])/ с помощью назначенных ему горячих клавишь)

 

Текст макроса:

Sub Ширина_картинки()

'

' Ширина_картинки Макрос

' Макрос записан 15.12.2009 prepod

'

    Selection.InlineShapes(1).Fill.Visible = msoFalse

    Selection.InlineShapes(1).Fill.Solid

    Selection.InlineShapes(1).Fill.Transparency = 0#

    Selection.InlineShapes(1).Line.Weight = 0.75

    Selection.InlineShapes(1).Line.Transparency = 0#

    Selection.InlineShapes(1).Line.Visible = msoFalse

    Selection.InlineShapes(1).LockAspectRatio = msoTrue

    Selection.InlineShapes(1).Height = 191.05

    Selection.InlineShapes(1).Width = 226.75

    Selection.InlineShapes(1).PictureFormat.Brightness = 0.5

    Selection.InlineShapes(1).PictureFormat.Contrast = 0.5

    Selection.InlineShapes(1).PictureFormat.ColorType = msoPictureAutomatic

    Selection.InlineShapes(1).PictureFormat.CropLeft = 0#

    Selection.InlineShapes(1).PictureFormat.CropRight = 0#

    Selection.InlineShapes(1).PictureFormat.CropTop = 0#

    Selection.InlineShapes(1).PictureFormat.CropBottom = 0#

    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

End Sub

 

Задание 2 (Excel)

Для выполнения данного задания необходимо:

·        умение создавать смешанные ссылки

·        умение форматировать содержимое ячеек

·        помнить, что функция sin в Excel считает в радианах

Смешанная ссылка для ячейки B2 будет выглядить следующим образом:

B$1+$A2

Смешанная ссылка с переводом из градусов в радинаны (т.к. sin считает в радианах, т.е. sin(90) – это синус не 90 градусов, а синус 90 радиан):

SIN((B$1+$A2)/180*ПИ())

Исользовать функцию ПИ() необязательно, можно использовать константу, но тогда количество врных цифр будет примероно соответствовать количеству верных цифр в этой константе:

SIN((B$1+$A2)/180*3,14)

Далее выделяем весь диапазон заполненных ячеек, Главное меню->Формат->Ячейки… (или [Ctrl]+[1]), на вкладке «Число» выбираем из поля «Числовые форматы» выбираем «Числовой» , в появившемся поле «Число десятичных знаков:» устанавливаем значение 4, нажимаем “OK”.

Сохраняем результат.

 

Задание 3 (Delphi)

Наиболее простой способ решить эту задачу это рисование линии между случайными точками формы. Если линия изменила цвет центральной точки, значит частица прошла через центр окна, после этого закрашиваем центр белым цветом и повторяем еще 999 раз.

Результат сохраняем, например, с помощью блокнота.

Исходный код

procedure TForm1.FormClick(Sender: TObject);

//Подсчет кол-ва проходов точки через центр

var i,hx,hy,x,y,SX,SY,cnt:integer;

begin

cnt:=0;     //Число проходов через центр

hx:=Form1.Width;    //определили ширину области перемещенний (ширина формы)

SX:=hx div 2;     //Вычислили середину по одной координате

hy:=Form1.Height; //определили высоту области перемещенний (высота формы)

SY:=hy div 2;     //Вычислили середину по другой координате

Form1.Canvas.Pen.Color:=clBlack;  //явным образом устанавливаем цвет траектории частицы

Form1.Canvas.MoveTo(0,0);   //установили начальное значение

for i:=1 to 1000 do   //совершить 1000 движений

   begin

   x:=Random(hx);     //получаем новые случайные координаты по x

   y:=Random(hy);     //получаем новые случайные координаты по y

   Form1.Canvas.LineTo(x,y);  //рисуем траекторию

   if Form1.Canvas.Pixels[SX,SY]=clBlack then   //проверяем, закрашен центр или нет

      begin       //если закрашен, то частица прошла через центр

      cnt:=cnt+1; //считаем кол-во проходов через центр

      Form1.Canvas.Pixels[SX,SY]:=clWhite;    //перекрашиваем центр

      end;

   end;

Form1.Caption:=IntToStr(cnt);   //Выводим кол-во проходов через центр

end;

 

Задание 4 (обработка растрового изображения)

Задача имеет множество решений, но они действительно должны приводить к тому результату, который приведен в задании. Один из вариантов действий (именно он применялся при создании примера) следующий:

1. Rotate Canvas -1,5

2. Select, Crop

3. Ctrl+Shift+B

4. Saturation +20, Lightness -5.

5. Ctrl+M, темные вниз, светлые вверх

6. Эллипс посередке

7. Преобразовать в Border 200 px

8. Radial Blur

9. Select -> Inverse

10. Unselect центр

11. Texture -> Craquelure, яркость уменьшить, размер увеличить

12. Gaussian Blur 5 px

 

Важно, чтобы участник заметил, что фотография немного повернута, обрезана, увеличена насыщенность, наложен художественный фильтр и т.п.

Задание 5 (выборка из таблицы)

Чтобы сделать предлагаемую выборку, надо добавить несколько столбцов (эта подсказка есть в задании). Например:

H3 =СЧЁТЕСЛИ(E3:G3;"=Зачет")

I3 =СЧЁТЕСЛИ(B3:D3;"=3")+СЧИТАТЬПУСТОТЫ(B3:D3)-ЕСЛИ(H3=3;1;0)

I20 =СЧЁТЕСЛИ(I3:I19;"<0") (ответ на 1 вопрос)

J3 =СЧЁТЕСЛИ(B3:D3;"=5")

K3 =J3*I3

K20 =СЧЁТЕСЛИ(K3:K19;"<0") (ответ на 2 вопрос).

 

Задание 6 (html-оформление текста)

В данном задание необходимо оформить данный текст в соответствие с рисунком, для этого необходимо знать:

·        Тег заголовка (H1, в частности);

·        форматирования текста ;

o       b жирный шрифт;

o       i – наклонный (курсив);

o       sup – надстрочный текст (например x2);

o       sub – подстрочный текст (например, H2O);

o       font и атрибут color – цвет текста;

По заданию, оформление текста допускается только при помощи не визуальных редакторов. Т.е. использование Microsoft Word не допустимо! Результат должен быть сохранен в виде html-страницы.

 

Исходный код

<html>

<head>

<title>Формы параллелизма</title>

</head>

<body>

<table align="center" border="2" CELLSPACING="0" width="80%" height="100%" BORDERCOLOR="#000000">

    <tr height="25">

      <td bgcolor="#6ec552" valign="top" width="20%"><br>

      </td>

      <td bgcolor="#f5cb0f" valign="top"><font face="Verdana"><h1 align="center">Формы параллелизма</h1></font>

      </td>

    </tr>

    <tr>

      <td valign="top" bgcolor="#e3e3e3" align="JUSTIFY"><font size="2">

                        <ul><li>Формы параллелизма

                        <ol type="I">

                                   <li>Межтранзакционный параллелизм

                                   <li>Внутритранзакционный параллелизм

                                   <li>Межзапросный параллелизм

                                   <li>Внутризапросный параллелизм

                                   <li>Межоперационный параллелизм

                                   <li>Кустовой параллелизм

                                   <li>Конвейерный параллелизм

                                   <li>Внутриоперационный параллелизм

                                   <li>Фрагментный параллелизм

                        </ol>

 

</ul>

      </font></td>

      <td valign="top">

 

<i>Данный раздел посвящен классификации форм параллельной обработки транзакций. Рассматриваются межтранзакционный и внутритранзакционный параллелизм, межзапросный и внутризапросный параллелизм, межоперационный и внутриоперационный параллелизм, виды межоперационного параллелизма. Ссылки на литературу даются с использованием шифров из <Библиографического каталога по программированию и базам данных> [11].</i>

<br><br>

Прежде всего можно выделить основные формы параллелизма:

<ul type="square"><font face="Arial" COLOR="Magnet">

<li>внутритранзакционную<sup>1</sup>.

            <ul>

                        <li>внутриоператорный</li>

                        <li>межоператорный</li>

            </ul>

</li>

<li>межтранзакционную<sup>2</sup>;</li>

</font>

</ul>

 

<h2>2.1 Межтранзакционный параллелизм</h2>

Межтранзакционный параллелизм подразумевает параллельное выполнение множества независимых транзакций над одной и той же базой данных. Данный вид параллелизма присутствует уже в однопроцессорных системах в виде так называемого многопользовательского режима и основан на перекрытии задержек ввода-вывода. Межтранзакционный параллелизм позволяет существенно увеличить суммарную производительность системы баз данных в режиме <i>OLTP</i>. Данный вид параллелизма также должен поддерживаться и в параллельной системе баз данных (наряду с внутритранзакционным параллелизмом), так как в противном случае мы получим очень плохое соотношение цена-производительность для режима <i>OLTP</i>. Для сокращения времени выполнения сложных транзакций необходимо использовать внутритранзакционный параллелизм.

 

<h2>2.2 Внутритранзакционный параллелизм</h2>

Внутритранзакционный параллелизм предполагает параллельное выполнение отдельной транзакции. Этот вид параллелизма может быть реализован либо в форме межзапросного параллелизма, либо в форме внутризапросного параллелизма.

 

      </td>

    </tr>

    <tr height="25">

      <td bgcolor="#6ec552" valign="top"><br>

      </td>

      <td bgcolor="#f5cb0f" valign="top"><br>

      </td>

    </tr> 

</table>

</body>

</html>

 

 

Задание 7 (Программа)

В данном задание необходимо перебрать все возможные комбинации, т.е. программа будет содержать вложенные циклы. И при выполнение заданного условия на экран будет выведен результат.

 

 

Исходный код (Pascal)

var k,b,t:integer;

begin

for b:=1 to 10 do  //кол-во быков от 1 до 200/20руб=10шт

    begin

    for k:=1 to 20 do   //кол-во коров

        begin

        for t:=1 to 200 do  //кол-во телят

            begin

            if ((k+b+t=100) and (k*10+b*20+t=200)) then //условие соответствует первому предложению задания, сумма = 200 руб, кол-во голов = 100

               begin        //Если условие выполнятетя, то

               writeln('bikov=',b,' korov=',k,' ',' telyat=',t);  /выводим подходящую комбинацию

               end;          //конец условия

            end;   //конец цикла по переменной t

        end; //конец цикла по переменной k

    end; //конец цикла по переменной b

end. ///конец программы

 

Исходный код (С)

void main () {

int b,k,t;

for (b=1;b<=10;b++)  /* перебор по кол-ву быков */

  {

  for (k=1;k<=20;k++) /* перебор по кол-ву коров */

    {

    for (t=1;t<=200;t++) /* перебор по кол-ву телят */

      {

      if ((b+k+t==100)&&(b*20+k*10+t==200)) /* условие */

       {

       printf("bikov=%d korov=%d telyat=%d\n",b,k,t);

       } /* Конец условия */

      } /* Конец цикла по t */

    } /* Конец цикла по k */

  } /* Конец цикла по b */

} /* Конец программы */