Объяснение:
Начнём мы с самых простых алгоритмов – линейных. Их составление, обычно, не вызывает особого труда. Однако, навыки составления таких алгоритмов чрезвычайно важны.
Пример 1. Составить алгоритм запуска программы Paint в ОС Windows 7.
Вспомним из курса информатики 5 класса порядок действий для запуска программы Paint.
Войти в меню «Пуск».
Войти в пункт «Все программы».
Войти в пункт «Стандартные».
Выбрать программу «Paint».
Данный алгоритм в виде блок-схемы имеет следующий вид:
Рис. 1. Блок-схема к примеру 1.
Составление алгоритмов с ветвлениями
Рассмотрим пример на составление алгоритмов с ветвлениями.
Пример 2. Составьте алгоритм для перехода дороги на светофоре.
Рис. 2. Светофор (Источник).
Возможны следующие ситуации: в тот момент, когда мы подошли к дороге горел красный или зелёный свет. Если горел зелёный свет, то можно переходить дорогу. Если же горел красный свет, то необходимо дождаться зелёного – и уже тогда переходить дорогу.
Таким образом, алгоритм имеет следующий вид:
Подойти к светофору.
Посмотреть на его свет.
Если горит зелёный, то перейти дорогу.
Если горит красный, то подождать, пока загорится зелёный, и уже тогда перейти дорогу.
Блок-схема данного алгоритма имеет вид:
Рис. 3. Блок-схема к примеру 2.
Составление циклических алгоритмов
Рассмотрим пример на составление циклического алгоритма. Мы уже несколько раз обсуждали перевод чисел из десятичной системы в двоичную. Теперь пришло время чётко сформулировать этот алгоритм.
Напомним, что его принцип состоит в делении числа на 2 и записей остатков, получающихся при делении.
Пример 3. Составить алгоритм перевода чисел из десятичной системы в двоичную.
То есть, алгоритм будет выглядеть так:
Если число равно 0 или 1, то это и будет его двоичное представление.
Если число больше 1, то мы делим его на 2.
Полученный остаток от деления записываем в последний разряд двоичного представления числа.
Если полученное частное равно 1, то его дописываем в первый разряд двоичного представления числа и прекращаем вычисления.
Если же полученное частное больше 1, то мы заменяем исходное число на него и возвращаемся в пункт 2).
Блок-схема этого алгоритма выглядит следующим образом:
Рис. 4. Блок-схема к примеру 3.
Примечание: подумайте, можно ли как-то упростить приведенную блок-схему.
«Чтение» алгоритмов
Пример 4. По заданной блок-схеме выполнить действия алгоритма для числа 23.
Рис. 5. Блок-схема к примеру 4.
a=23
23+5=28
28<35
28+5=33
33<35
33+5=38
38>35
76 – двузначное число
76-50=26.
ответ: 26.
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
srand(time(0));
int n,m;
cin>>n;
cin>>m;
int **a=new int *[m];
for(int i=0;i<m;i++)
a[i]=new int[n];
cout<<"Matrix A:";
for(int i=0;i<m;i++){
cout<<"\n";
for(int j=0;j<n;j++){
a[i][j]=rand()%17-7;
cout<<a[i][j]<<" ";
}
}
int *b = new int[m];
cout<<"\n Array B:";
for(int j=0;j<n;j++){
b[j]=0;
for(int i=0;i<m;i++){
b[j]=b[j]+a[i][j];
}cout<<b[j]<<" ";
}
cin.get();
cin.get();
return 0;
}