1. Алгоритм- предназначенное для конкретного использования описание последовательности действий, приводящих от исходных данных к требуемому результату. Св-ва: дискретность( путь решения задачи разделён на отдельные шаги); понятность( алгоритм состоит из команд, входящих в СКИ(система команд исполнителя)); определённость ( обеспечивается получение ожидаемого результата); массовость ( обеспечивается решение задач с различными исходными данными). Существует три изображения (записи) алгоритмов.
Во-первых, алгоритм можно записать на естественном (человеческом) языке. Достоинства этого простота описания (не требуются специальные знания), понятность алгоритма "в общем" в случаях не длинных описаний.
Недостатки – неточность в деталях из-за многозначности человеческих языков, плохая обозримость подробных алгоритмов. Обычно этим описания
пользуются для укрупненных (обобщенных) алгоритмов, особенно на функциональном уровне описания.
Во-вторых, его можно записать на формальном (искусственном) однозначном языке (алгоритмическом языке). Достоинствами этого являются однозначность и строгость описания, простота последующего создания программы (если для используемого алгоритмического языка есть транслятор - текст алгоритма уже является программой, в противном случае требуется простой перевод на другой алгоритмический язык). Описание алгоритма обычно короче, чем на естественном языке.
Недостатками этого являются плохая обозримость больших алгоритмов, сложность описания с требуемой детализацией (подробностью). В процессе построения алгоритма, в нем сложно делать исправления.
Обычно этот используют для описания подпрограмм или функций в сборниках алгоритмов.
В-третьих, алгоритм можно записать в условных обозначениях графическим Достоинствами являются возможность описать алгоритм с любой степенью подробности, хорошая наглядность, удобства внесения изменений. В качестве недостатка можно назвать необходимость знать специальные правила графического изображения и иметь средства аккуратного выполнения рисунков алгоритма (желательно - автоматизированные средства – графический редактор).
2. Символы блок-схемы: ромб - условие; прямоугольник - действие; овал - начало/конец( ЭТО самые основные, если надо ещё напиши в комментариях); 3. Основные правила составления блок-схемы
Можно выделить такие особенности, которые должны быть у любой блок-схемы:
Обязательно должно присутствовать два блока – «Начало» и «Конец». Причем в единичном экземпляре.
От начального блока до конечного должны быть проведены линии связи.
Из всех блоков, кроме конечного, должны выходить линии потока.
Обязательно должна присутствовать нумерация всех блоков: сверху вниз, слева направо. Порядковый номер нужно проставлять в левом верхнем углу, делая разрыв начертания.
Все блоки должны быть связаны друг с другом линиями. Именно они должны определять последовательность, с которой выполняются действия. Если поток движется снизу вверх или справа налево (другими словами, в обратном порядке), то обязательно рисуются стрелки.
Линии делятся на выходящие и входящие. При этом нужно отметить, что одна линия является для одного блока выходящей, а для другого входящей.
От начального блока в схеме линия потока только выходит, так как он является самым первым.
А вот у конечного блока имеется только вход. Это наглядно показано на примерах блок-схем, которые имеются в статье.
Чтобы проще было читать блок-схемы, входящие линии изображаются сверху, а исходящие снизу.
Допускается наличие разрывов в линиях потока. Обязательно они помечаются специальными соединителями.
Для облегчения блок-схемы разрешается всю информацию прописывать в комментариях.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int y;
char buffer[80];
cout << "Year = ";
cin >> y;
tm time_in;
time_in.tm_sec = 0; // second
time_in.tm_min = 0; // minute
time_in.tm_hour = 0; // hour
time_in.tm_mday = 1; // 1-based day
time_in.tm_mon = 9; // 0-based month
time_in.tm_year = y - 1900; // year since 1900
time_t time_temp = mktime (&time_in); // Convert the local time to a calendar value.
tm* time_out = localtime (&time_temp); // Converts a time_t time value to a tm structure
if (time_out->tm_wday > 0) // if it is not Sunday, go to the next Sunday
time_out->tm_mday += 7 - time_out->tm_wday;
strftime(buffer, 80, "%d.%m.%Y", time_out); // date formatting for output
cout << "\nTeachers day is " << buffer << "\n";
}
Объяснение: explanations in the comments to the program
Существует три изображения (записи) алгоритмов.
Во-первых, алгоритм можно записать на естественном (человеческом) языке. Достоинства этого простота описания (не требуются специальные знания), понятность алгоритма "в общем" в случаях не длинных описаний.
Недостатки – неточность в деталях из-за многозначности человеческих языков, плохая обозримость подробных алгоритмов. Обычно этим описания
пользуются для укрупненных (обобщенных) алгоритмов, особенно на функциональном уровне описания.
Во-вторых, его можно записать на формальном (искусственном) однозначном языке (алгоритмическом языке). Достоинствами этого являются однозначность и строгость описания, простота последующего создания программы (если для используемого алгоритмического языка есть транслятор - текст алгоритма уже является программой, в противном случае требуется простой перевод на другой алгоритмический язык). Описание алгоритма обычно короче, чем на естественном языке.
Недостатками этого являются плохая обозримость больших алгоритмов, сложность описания с требуемой детализацией (подробностью). В процессе построения алгоритма, в нем сложно делать исправления.
Обычно этот используют для описания подпрограмм или функций в сборниках алгоритмов.
В-третьих, алгоритм можно записать в условных обозначениях графическим Достоинствами являются возможность описать алгоритм с любой степенью подробности, хорошая наглядность, удобства внесения изменений. В качестве недостатка можно назвать необходимость знать специальные правила графического изображения и иметь средства аккуратного выполнения рисунков алгоритма (желательно - автоматизированные средства – графический редактор).
2. Символы блок-схемы: ромб - условие; прямоугольник - действие; овал - начало/конец( ЭТО самые основные, если надо ещё напиши в комментариях);
3. Основные правила составления блок-схемы
Можно выделить такие особенности, которые должны быть у любой блок-схемы:
Обязательно должно присутствовать два блока – «Начало» и «Конец». Причем в единичном экземпляре.
От начального блока до конечного должны быть проведены линии связи.
Из всех блоков, кроме конечного, должны выходить линии потока.
Обязательно должна присутствовать нумерация всех блоков: сверху вниз, слева направо. Порядковый номер нужно проставлять в левом верхнем углу, делая разрыв начертания.
Все блоки должны быть связаны друг с другом линиями. Именно они должны определять последовательность, с которой выполняются действия. Если поток движется снизу вверх или справа налево (другими словами, в обратном порядке), то обязательно рисуются стрелки.
Линии делятся на выходящие и входящие. При этом нужно отметить, что одна линия является для одного блока выходящей, а для другого входящей.
От начального блока в схеме линия потока только выходит, так как он является самым первым.
А вот у конечного блока имеется только вход. Это наглядно показано на примерах блок-схем, которые имеются в статье.
Чтобы проще было читать блок-схемы, входящие линии изображаются сверху, а исходящие снизу.
Допускается наличие разрывов в линиях потока. Обязательно они помечаются специальными соединителями.
Для облегчения блок-схемы разрешается всю информацию прописывать в комментариях.