Задание 1 ( ).
Подготовьте доклад средствами текстового редактора Microsoft Word. Придерживайтесь правил оформления деловой документации. Предусмотрите наличие титульной страницы, содержания, основного текста доклада с иллюстрациями, списка использованной литературы. Объем доклада – минимум 10 страниц.
Подготовить доклад на тему: «Рост информационной культуры».
Оформление реферата по ГОСТу подразумевает:
Печатную форму. Документ должен быть создан на компьютере, в идеале – в программе Microsoft Word.
Распечатку на одной стороне листа. Формат стандартный – А4. Вторую сторону каждого листа оставляем чистой, бумагу не экономим.
Поля страницы: левое – 30 мм, другие – по 20 мм.
Выравнивание текста – по ширине. Красная строка оформляется на одном уровне на всех страницах реферата. Отступ красной строки равен 1,25 см.
Шрифт основного текста – Times New Roman. Размер – 14 п. Цвет – черный. Интервал между строками – полуторный.
Оформление заголовков. Названия глав прописываются полужирным (размер – 16 п.), подзаголовки также выделяют жирным (размер – 14 п.). Если заголовок расположен по центру страницы, точка в конце не ставится. Подчеркивать заголовок не нужно! Названия разделов и подразделов прописывают заглавными буквами (ВВЕДЕНИЕ, ЗАКЛЮЧЕНИЕ).
Интервалы после названий и подзаголовков. Между названием главы и основным текстом необходим интервал в 2,5 пункта. Интервал между подзаголовком и текстом – 2 п. Между названиями разделов и подразделов оставляют двойной интервал.
Нумерацию страниц. Отсчет ведется с титульного листа, но сам лист не нумеруют. Используются арабские цифры.
Правила оформления примечаний. Примечания располагают на той же странице, где сделана сноска.
Оформление цитат. Они заключаются в скобки. Авторская пунктуация и грамматика сохраняется.
Нумерацию глав, параграфов. Главы нумеруются римскими цифрами (Глава I, Глава II), параграфы – арабскими (1.1, 1.2).
Заголовки, названия разделов, подзаголовки лучше оформлять с инструмента «Стили и форматирование» (Меню – Формат). В этом случае вы сможете оформить оглавление автоматически.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand((int)time(0));
int M, N;
cout << "M="; cin >> M;
do
{
cout << "N="; cin >> N;
if (N%2!=0) cout << "N - even. Repeat please...\n";
}
while (N%2!=0);
double **a = new double*[M];
for (int i = 0; i < M; i++)
a[i]=new double[N];
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
a[i][j]=rand()%9 + 1;
cout << a[i][j] << " ";
}
cout << "\n";
}
cout << "\n";
for (int i = 0; i < M; i++)
for (int j = 0; j < N/2; j++)
swap (a[i][j],a[i][j+N/2]);
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
cout << a[i][j] << " ";
cout <<"\n";
}
for (int i = 0; i < M; i++)
delete[]a[i];
delete[]a;
system("pause");
return 0;
}
Объяснение:
program AB;
var
a: Integer;
b: Integer;
b2: Real;
begin
writeln('a, b = '); readln(a,b);
a := a * 2;
b2 := b / 2;
writeln('a*2 = ', a, ' b : 2 = ', b2);
end.
Объяснение:
Программа имеет 3 переменные: a, b (для входных данных), b2 (для результата деления, который потенциально может быть не целым числом, а потому требует типа Real).
Программа выводит приглашение на ввод, считывает два целых числа (считывает их именно как целые числа Integer, что от нас и требуется по задаче), затем умножает число a на 2, а для b "просто разделить на 2" нельзя, т.к. надо учесть возможность деление может дать и вовсе не целое число (как в примере), поэтому результат мы записываем в переменную вещественного типа Real с именем b2.
Дальше вывод.
БОНУС. В принципе, данная задача имеет альтернативное решение через конструкцию если...то (if...then), которая использует только целые значения, но, наверное, данное решение неуместно.
Тем не менее, я всё же приведу его. Если Вы пока не проходили if.. then, то можете вернуться, когда пройдёте.
Суть решения сводится к тому, что существует всего один возможный ненулевой остаток от деления числа на 2, который в десятичном виде всегда записывается точно как ".5").
Поэтому
program AB_alt;
var
a: Integer;
b: Integer;
bmod: Integer;
begin
writeln('a, b');
a := a * 2;
bmod := b mod 2;
b := b div 2;
writeln('a*2 = ', a, 'b : 2 = ', b);
if (bmod <> 0) then write('.5');
end.
Вычисляется остаток от деления, затем выводится целая часть от деления b на 2, и затем, если имеется ненулевой остаток (для положительных чисел он равен 1, для отрицательных -1), но в целом это всегда добавляет просто добавляет к целой части запись ".5".
Данный метод иногда бывает уместен (дело в том, что поведение real'ов не всегда предсказуемо для человека, не всегда оптимально по ресурсозатратам и т.п.), но точно не в учебных программах.