Ознакомительная практика / Итоговое задание по ОП
.pdf21
Процесс выполнения программы альтернативного варианта задачи 1.1
и вывод программы представлен на рисунке 2.8.
Рисунок 2.8 – Процесс выполнения альтернативного варианта задачи 1.1
Ниже представлено словесное описание для альтернативного варианта задачи 1.2:
H0 начало;
H1 ввод a, b, c, max = -100000;
H2 если a>max, то max =a; иначе переход к В3;
H3 если b>max, то max=b, иначе переход к В4;
H4 если с>max, то max=c, иначе переход к В5;
H5 вывод max;
H6 остановка.
22
На рисунке 2.9 изображена схема для алгоритма альтернативного варианта задачи 1.2.
Рисунок 2.9 – Алгоритм альтернативного варианта задачи 1.2
На основании представленных описаний алгоритмов, была составлена программа, листинг которой приведен ниже:
namespace _1000_7
{
class Program
{
static void Main(string[] args)
23
{
int a = Convert.ToInt32(Console.ReadLine()); int b = Convert.ToInt32(Console.ReadLine()); int c = Convert.ToInt32(Console.ReadLine()); int max = -100000;
if (a>max) max=a; if (b>max) max=b; if (c>max) max=c;
Console.WriteLine(max);
}
}
}
24
Процесс выполнения программы альтернативного варианта задачи 1.2 и
вывод программы представлен на рисунке 2.10.
Рисунок 2.10 – Процесс выполнение альтернативного варианта задачи 1.2
Ниже представлено словесное описание для альтернативного варианта задачи 1.3:
I0 начало;
I1 ввод k=0, c=0,
I2 заполнение рандомными числами массив x и переход к C3; I3 для i от 0 до 9, выполнять С4;
I4 если x[i]%x[0]==0, то k+=1, иначе переход к С3;
I5 для для i от 0 до 9, выполнять С6;
I6 если x[i]%x[9]==0, то с+=1, иначе переход к С5;
I7 если c>k, вывод «Которые делятся на последний», иначе вывод ; I8 остановка.
25
На рисунке 2.11 изображена схема для алгоритма альтернативного варианта задачи 1.3.
Рисунок 2.11 – Алгоритм альтернативного варианта задачи 1.3
26
На основании представленных описаний алгоритмов, была составлена программа, листинг которой приведен ниже:
using System; namespace _1000_7
{
class Program
{
static void Main(string[] args)
{
int[] x = new int[10];
Random rnd = new Random(); int k = 0;
int c = 0;
for (int i = 0; i < 10; i++)
{
x[i] = rnd.Next(0,10);
}
for (int i = 0; i < 10; i++)
{
if (x[i]%x[0]==0)
{
k+=1;
27
}
}
for (int i = 0; i < 10; i++)
{
if (x[i]%x[9]==0)
{
c+=1;
}
}
if (c>k)
Console.WriteLine("Которые делятся на последний"); else
Console.WriteLine("Которые делятся на первый");
}
}
}
28
Процесс выполнения программы альтернативного варианта задачи 1.3
и вывод программы представлен на рисунке 2.12.
Рисунок 2.12 – Процесс выполнение альтернативного варианта задачи 1.3
Ниже представлено словесное описание для альтернативного варианта задачи 1.4:
J0 начало;
J1 ввод a, b=a, c=0, d=0, e=0;
J2 пока а>0, выполнять D3;
J3 e = a%10, a = a/10, c+=1;
J4 пока b>0 выполнять D5;
J5 d+= (b%10)*((c-1)*10), b=b/10;
J6 d+=e;
J7 вывод d;
29
J8 остановка.
На рисунке 2.13 изображена схема для алгоритма альтернативного варианта задачи 1.4.
Рисунок 2.11 – Алгоритм альтернативного варианта задачи 1.4
30
На основании представленных описаний алгоритмов, была составлена программа, листинг которой приведен ниже:
using System; namespace _1000_7
{
class Program
{
static void Main(string[] args)
{
int a = Convert.ToInt32(Console.ReadLine()); int b = a;
int c = 0; int d =0; int e =0; while (a>0)
{
e = a%10; a = a/10; c+=1;
}
while (b>0)
{
d+= (b%10)*((c-1)*10); b=b/10;
}
d+=e;
Console.WriteLine(d);