Ознакомительная практика / Итоговое задание по ОП
.pdf51
}
for (int i = 0; i < m1.Length; i++)
{
Console.WriteLine($"{i+1}-{m1[i]}");
}
}
}
}
Процесс выполнения программы С и вывод программы представлен на рисунке 3.6.
Рисунок 3.6 – Работа программы С
52
Согласно условию задания, словесное описание программы D будет иметь вид:
D0 начало;
D1 ввод s;
D2 count = 0;
D3 для а от 0 до а<s выполнять D4, иначе переход к D10;
D4 для b от 0 до b<s выполнять D5, иначе переход к D3;
D5 для c от 0 до c<s выполнять D6, иначе переход к D4;
D6 a2 = Math.Pow(a, 2), b2 = Math.Pow(b, 2), c2 = Math.Pow(c, 2); D7 если a2 + b2 == c2, выполнять D8, иначе переход к D3;
D8 если (((a2 + 2 * a * b + b2 - c2) / 4) == s), выполнять D9, иначе переход к D3; D9 вывод a, b, c, переход к D3;
D10 если (count == 0), выполнять D11;
D11 вывод «Таких треугольников не существует»;
D12 остановка.
Графический способ записи программы D представлен на рисунке 3.7.
53
Рисунок 3.7 – Блок схема алгоритма D
Листинг программы D представлен ниже.
using System; namespace _1000_7
{
class Program
{
54 static void Main(string[] args)
{
Console.Write("Введите s: ");
double s = Convert.ToDouble(Console.ReadLine()); int count = 0;
for(int a = 0; a < s; a++)
{
for (int b = 0; b < s; b++)
{
for (int c = 0; c < s; c++)
{
double a2 = Math.Pow(a, 2); double b2 = Math.Pow(b, 2); double c2 = Math.Pow(c, 2);
if (a2 + b2 == c2)
{
if (((a2 + 2 * a * b + b2 - c2) / 4) == s)
{
Console.WriteLine($"a = {a}, b = {b}, c = {c} - {s}"); count += 1;
}
}
}
}
}
if (count == 0)
{
55
Console.WriteLine("Таких треугольников не существует");
}
}
}
}
Процесс выполнения программы D и вывод программы представлен на рисунке 3.8.
Рисунок 3.8 – Работа программы D
Согласно условию задания, словесное описание программы E будет иметь вид:
E0 начало;
E1 создание функции для генерации чисел;
E2 ввод a, b;
56
Е3 для i от 0 до 100 выполнять Е4;
Е4 вывод ($"{i} - {Rch(a, b)};"): E5 остановка.
Словесное описание функции создание случайных чисел:
DX0 RCH;
DX1 Random rand = new Random();
DX2 return rand.Next(a+1,b-1).
Графический способ записи программы E представлен на рисунке 3.9.
Рисунок 3.9 – Блок схема алгоритма Е
Листинг программы E представлен ниже.
using System;
57
namespace _1000_7
{
class Program
{
static float Rch(int a, int b)
{
Random rand = new Random();
return rand.Next(a+1,b-1);
}
static void Main(string[] args)
{
Console.Write("Введите a: ");
int a = int.Parse(Console.ReadLine()); Console.Write("Введите b: ");
int b = int.Parse(Console.ReadLine());
for(int i = 1; i <= 100; i++)
{
Console.WriteLine($"{i} - {Rch(a, b)};");
}
}
58
}
}
Процесс выполнения программы E и вывод программы представлен на рисунке 3.10.
Рисунок 2.10 – Работа программы Е
59
4 GitHub
Все листинги программ были загружены на сайте GitHub. Ссылка для доступа к листингам программ:
https://github.com/sl00t/praktika.
Скриншот всех загруженных листингов программ представлен на рисунке 4.1.
Рисунок 4.1 – Загруженные листинги программ на сайте GitHub
60
5Заключение
Входе выполнения работы были изучены словесный и графический способ записи алгоритма, получены навыки написания программ с циклами,
алгоритмами, функциями и обычных линейных программ на языке С#.
Были выполнены задания 1.1-1.6. Для них были разработаны словесные описания и графические способы записи алгоритмов.
Были написаны кода для линейной программы, для программы с ветвлением, для программы с одномерным массивом, для программы с циклом
спараметром, для программы с циклом с условием, для программы с циклом
спараметром и условием. Программы были написаны по предоставленным словесным описаниями и алгоритмам напарника. Словесные описания и алгоритмы составлены корректно, замечаний нет.
По результатам работы были разработаны словесные описания,
графические способы записи алгоритмов и написаны программы для заданий
2.1-2.5.
Было составлено техническое задание на курсовую работу на 12 листах.
Отчет был составлен согласно ОС ТУСУР 01-2013.