Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 лабораторная работа ОП

.pdf
Скачиваний:
9
Добавлен:
01.12.2023
Размер:
983.12 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

Томский государственный университет систем управления и радиоэлектроники (ТУСУР)

Кафедра безопасности информационных систем (БИС)

Циклические программы

Отчет по практической работе

по дисциплине «Основы программирования»

Студент гр. 711-2

____________ Е. П. Толстолес

___________

11.02.2022

Принял:

Инженер кафедры БИС

_______ Д.Р. Уразаев

11.02.2022

Томск 2022

2

Оглавление

Введение ...........................................................................

.....................................3

2 Словесное и графическое описание алгоритмов .............................................

4

2.1

Словесный способ записи ...............................................................................

4

2.2

Графический способ записи алгоритмов .......................................................

5

2.3Листинг исходного кода программ ………………………………………....7

2.4Процесс выполнения программы и вывод данных ………………………..10

3 Заключение .........................................................................................................

12

3

Введение

Цель работы: овладеть навыками разработки алгоритмов с циклами с параметром и с условием, разработки циклических программ на языке высокого уровня.

Задание: составить консольное приложение для решения нижеприведенных задач согласно варианту, согласованному с преподавателем, вводя данные в ходе выполнения программы. Для выполнения предварительно ознакомьтесь с соответствующими разделами данного пособия. Для задания 1 использовать цикл с параметром, для задания 2 цикл с предусловием либо цикл с постусловием.

Условия задач:

1.Для заданных 10 вещественных чисел определить, сколько из них принимает значение, меньше заданного числа b;

2.Дано целое положительное число N. Найти наименьшее целое положительное число K, которое удовлетворяет условию N: 2 + 1 > 2 + 3 . Если такое К найти невозможно необходимо вывести об этом сообщение на экран.

Цикл – разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.

Виды циклов:

Безусловные циклы;

Циклы с предусловием;

Циклы с постусловием;

Циклы с выходом из середины;

Цикл со счётчиком;

Совместный цикл;

Досрочный выход из цикла;

Пропуск итерации.

4

2Словесное и графическое описание алгоритмов

2.1Словесный способ записи

Согласно условию задания, словесное описание алгоритма А будет иметь вид:

Алгоритм А:

А0 начало;

A1 ввод b;

A2 заполнение рандомными числами массив а и переход к А3; A3 для j от 1 до 10 c шагом 1 выполнять A4;

A4 если a[j]<b, то переход к А5, иначе возврат к А4;

А5 с+=1 и возврат к А3;

А6 вывод с;

А7 остановка.

Согласно условию задания, словесное описание алгоритма В будет иметь вид:

Алгоритм В:

В0 начало;

В1 ввод N, К=1;

В2 пока N: ^2 + 1 <= ^2 + ^3 и К<N выполнять В3;

В3 K+=1;

В4 если К=N, вывод – «такого не существует», иначе вывод К;

В5 остановка.

5

2.2 Графический способ записи алгоритмов

Графический способ записи алгоритма линейной программы А представлен на рисунке 2.1.

Рисунок 2.1 – Блок схема алгоритма А

Графический способ записи алгоритма линейной программы В представлен на рисунке 2.2.

6

Рисунок 2.2 – Блок схема алгоритма В

7

2.3 Листинг исходного кода программ

Листинг программы А представлен ниже. using System;

namespace _1000_7

{

class Program

{

static void Main(string[] args)

{

int[] x = new int[10];

Random rnd = new Random();

int b = Convert.ToInt32(Console.ReadLine()); int k = 0;

for (int i = 0; i < 10; i++)

{

x[i] = rnd.Next(0,10);

}

for (int i = 0; i < 10; i++)

{

if (b > x[i])

{

k = k + 1;

}

}

for (int i = 0; i < 10; i++)

8

{

Console.WriteLine(x[i]);

}

Console.WriteLine(b);

Console.WriteLine(k);

}

}

}

Листинг программы B представлен ниже. using System;

namespace _1000_7

{

class Program

{

static void Main(string[] args)

{

int n = Convert.ToInt32(Console.ReadLine()); int k = 1;

while ((((n / (k * k)) + 1) <= ((n * n) + (n * n * n))) & (k<n))

{

k++;

}

if (k == n)

Console.WriteLine("такого не существует"); else

Console.WriteLine(k);

}

9

}

}

10

2.4 Процесс выполнения программы и вывод данных

Процесс выполнения программы А и вывод программы представлен на рисунке 2.3.

Рисунок 2.5 – Процесс выполнения программы А

Процесс выполнения программы В и вывод программы представлен на рисунке 2.4.

Рисунок 2.4 – Процесс выполнения программы В