Программирование алгоритмических структур на ЯВУ C#

Составление блок-схемы данных вычислений переменных величин. Корректировка и тестирование кода программы. Определение функций и констант при заданных условиях. Использование оператора цикла в расчётах. Изучение алгоритма обработки одномерного массива.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 19.11.2015
Размер файла 787,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru

Поволжский государственный университет телекоммуникаций и информатики

КОНТРОЛЬНАЯ РАБОТА

ПО ПРОГРАММИРОВАНИЮ НА ЯЗЫКАХ ВЫСОКОГО УРОВНЯ

Программирование алгоритмических структур на ЯВУ C#

Студент (ка) группы

Руководитель

Самара

2001 г

1. Задача 1

Условие: По заданным расчетным формулам и наборам исходных данных, указанных в таблице 1, вычислить на ПК значения соответствующих переменных. На печать вывести значения вводимых исходных данных и результаты расчетов, сопровождая их вывод именами выводимых переменных. алгоритм оператор программа

Таблица 1

M

Расчетные формулы

Данные

0

Решение: Для решения задачи опишем исходные величины a,b,x в качестве констант и составим блок-схему данных вычислений переменных y и r (рис. 1)

Рис. 1 - Блок-схема алгоритма задачи 1

Исходный код программы выглядит следующим образом:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Prog1

{

class Program

{

static void Main(string[] args)

{

double a=0.3;

double b = 0.9;

double x=0.61;

Console.WriteLine("a={0}, b={1}, x={2}",a,b,x);

double y, r;

y = (Math.Pow(a, 2 * x) + Math.Pow(b, -x)*Math.Cos((a+b)*x))/(x+1);

r = Math.Sqrt(x * x + b) - (b*b*b * Math.Sin(x + a)) / x;

Console.WriteLine("Результаты:");

Console.WriteLine("y={0} и r={1}", y,r);

Console.WriteLine("Фиксированные значения: y={0:f} и r={1:f}", y, r);

Console.ReadKey();

}

}

}

Результат: Результат выполнения задачи 1 представлен на рис. 2.

Рис. 2 - Результат выполнения задачи 1

2. Задача 2

Условие: Вычислить на ПК значения функции, заданной в таблице 2. На печать вывести значения вводимых исходных данных и полученные результаты, сопровождая их именами переменных. Значения аргумента взять из указанного диапазона так, чтобы протестировать все ветви программы.

Таблица 2

N

Функции и условия

Данные и

диапазон

9

a=0.9

x = [0 ; 3]

Решение: Для решения данной задачи, определим область существования переменной x. Переменная х больше 0, но меньше 3, причем определена она только при условии, что она больше 2 или равна 0,5. Область определения переменной x представлена на рис. 3.

Рис. 3 - Область определения переменной x

Блок-схема решения задачи, по определению функции b, при заданных условиях x представлена на рис.4.

Рис. 4 - Блок-схема алгоритма задачи 2

Исходный код программы выглядит следующим образом:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Prog2

{

class Program

{

static void Main(string[] args)

{

double x,b,a=0.9;

Console.Write("Введите x: ");

x = Convert.ToDouble(Console.ReadLine());

Console.WriteLine();

if (x>2 & x<=3) {

b = a * Math.Log(x) + Math.Sqrt(x);

Console.WriteLine("x={0,3:f},b={1,3:f}", x, b);

}

else

{

if (x == 0.5)

{

b = 2 * a * Math.Cos(x);

Console.WriteLine("x={0,3:f},b={1,3:f}", x, b);

}

else

{

Console.WriteLine("x={0,3:f} Func No", x);

}

}

Console.WriteLine();

Console.WriteLine("Нажми любую клавишу");

Console.ReadKey();

}

}

}

Результат: Результат выполнения задачи 1 представлены на рис. 5-7

Рис. 5 - Результат выполнения при x=0,5

Рис. 6 - Результат выполнения при x=2,3

Рис. 7 - Результат выполнения при x=6

3. Задача 3

Условие: Вычислить на ПК значения функции, заданной в таблице 3, используя оператор цикла fortodo с параметром

Таблица 3

M+N

a = 2.8; b = 0.7; x = 5.1

9

Решение: При вычислении произведения сначала вычисляется Р10P(n1), затем Р2 = Р1P(n2) и т.д. Здесь Р0 - начальное значение произведения и т.к. Р1 должно быть равно P(n1) , то Р0 = 1, следовательно первоначальное значение v=1.

Таким образом, для нахождения произведения используется алгоритм действий, представленный на рис. 8.

Рис. 8 - Блок-схема решения задачи 3

Исходный код программы представлен ниже:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Prog3

{

class Program

{

static void Main(string[] args)

{

double a = 2.8, b = 0.7, x = 5.1,n,v=1;

for (n = 1; n <= 12; n++)

v = v * Math.Cos(n * a * a * b * b);

Console.WriteLine("Произведение членов ряда = {0}", v);

Console.ReadKey();

}

}

}

Результат: Результат выполнения программы представлен на рис. 9.

Рис. 9 - Результат выполнения программы задачи 3

4. Задача 4

Условие: Вычислить на ПК значения функции, заданной в таблице 4, используя операторы while…do и repeat…until.

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

Таблица 4

Функции и условия

Данные

Диапазон

аргумента

a=2.5

b=2.6

x = [2 ; 5]

шаг=0.5

Решение: При решении данной задачи можно использовать алгоритмы циклической структуры "до" и "пока". Параметром данного цикла является х, причем при каждом повторном вычислении его значение следует увеличивать на величину шага.

Объявим переменную х в разделе объявлений вещественного типа и зададим в программе ей начальное значение равное 0. В процессе вычислений значение переменной будет изменяться с заданным шагом 0,5.

Для вычисления y при х>1 будем использовать алгоритмическую структуру "цикл-до", а при вычислении функции в диапазоне 2<x4 - "цикл-пока".

Блок-схема одного из вариантов алгоритма решения задачи приведена на рис.10.

Рис. 10 - Блок-схема решения задачи 4

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Prog4

{

class Program

{

static void Main(string[] args)

{

double a = 2.5, b = 2.6, x = 2,y;

Console.WriteLine("_____________________");

do

{

y = a * Math.Log(x) + Math.Sqrt(x);

Console.WriteLine(" x = {0,2:f} | y = {1,3:f}", x, y);

Console.WriteLine("_____________________");

x = x + 0.5;

}

while (x > 4);

while (x <= 5)

{

y = b * Math.Cos(x) * Math.Cos(x);

Console.WriteLine(" x = {0,2:f} | y = {1,3:f}", x, y);

Console.WriteLine("_____________________");

x = x + 0.5;

}

Console.ReadKey();

}

}

}

Результат: Результат выполнения программы представлен на рис.11

Рис. 11 - Результат выполнения задачи4

5. Задача 5

Условие: С помощью ПК произвести обработку одномерного массива, заданного в таблице 5. Элементы одномерного массива задать числами в диапазоне -20 . . . +20. Необходимо:

– описать массив;

– ввести элементы массива из заданного диапазона;

– выполнить с элементами массива действия, заданные в табл. 5;

– вывести результаты на экран;

Таблица 5

M

Имя массива

Задание 1

0

P(12)

Переписать в массив Q подряд отрицательные элементы массива P.

Решение: Для решения данной задачи необходимо перебрать все значения массива от первого до последнего и проверить каждое значение соответствует ли оно условию, является ли оно отрицательным. При выполнении данного условия текущее значение попадает в массив Q, в противном случае необходимо перейти к следующему элементу. Алгоритм выполнения данной операции представлен на рис.12.

Рис. 12 - Блок-схема решения задачи 5

Код программы для решения данной задачи

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Prog5

{

class Program

{

static void Main(string[] args)

{

int n;

Console.Write("Введите количество элементов n: ");

n = Convert.ToInt32(Console.ReadLine());

if (n <= 10)

{

//инициализация массивов

int[] P = new int[10];

int[] Q = new int[10];

//ввод элементов массива

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

{

int t;

do {

Console.Write("P[{0}] = ", i);

t=Convert.ToInt32(Console.ReadLine());

}

while (t>20 || t<-20);

P[i] = t;

}

int j = 0;

//формирование отрицательных элементов массива

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

{

if (P[i]<0) {

Q[j] = P[i];

j++;

}

}

if (j > 0)

{

//вывод массива

Console.WriteLine("Вывод массива Q:");

for (int k = 0; k <= j - 1; k++)

{

Console.WriteLine("Q[{0}] = {1}", k, Q[k]);

}

}

else Console.WriteLine("Нет таких элементов");

}

else Console.WriteLine("Ошибка ввода значения n");

Console.ReadKey();

}

}

}

Результаты выполнения программы представлены на рис. 13-14.

Рис. 13 - Вывод элементов Q[i]

Рис. 14 - Нет элементов, соответствующих условию

Выводы по работе

Курс программирования на языке высокого уровня C# позволил освоить знания для решения разнообразных задач по математическим вычислениям, работой с циклами и массивами. Среда разработки Visual Studio позволяет устранить ошибки на стадии написания кода, либо отладки благодаря интуитивной системе подсветки синтаксиса. Интерфейс среды разработки имеет дружественный интерфейс.

Также, на языке C#, помимо консольного приложения возможно добавлять и графические представления и формы, добавление компонентов на которую происходит при помощи выбора соответствующего компонента на дополнительной панели.

Результирующим решением компиляции исходного кода - является exe-исполняющий файл, который является аппаратно- и программно-независимым при наличии .NET Framework.

Список используемой литературы

Акчурин Э.А. Программирование на языке C# в MS Visual Studio.Net или SharpDevelop. Учебное пособие для студентов. Самара: ПГУТИ, 2011, 152 с.

Акчурин Э.А., Ильин А. М. Программирование на языке C#. ЛР в ИСР Visual C# Express. Лабораторный комплекс для студентов. Самара: ПГУТИ, 2011, 152 с

Культин Н. Основы программирования в MS Visual C# 2010 - СпБ: БХВ-Питербург, 2011, 368 с.

Биллинг В. А. Основы объектного программирования на C#. - М.: БИНОМ, 2010. - 582 с.

Размещено на Allbest.ru

...

Подобные документы

  • Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.

    курсовая работа [391,1 K], добавлен 30.09.2013

  • Изучение определения, описания и вызова функций, указателей и ссылок на них. Написание функции умножения произвольного столбца двумерного массива на const. Умножение 2 столбцов массива на константы. Составление блок-схемы алгоритма и текста программы.

    лабораторная работа [182,3 K], добавлен 09.01.2012

  • История развития программы Паскаль. Типы переменных. Значение переменной для прекращения вычислений. Использование операторов цикла, процедур и функций. Ввод значений М-конца цикла и произведение вычислений по расчётной формуле. Форматированный вывод.

    контрольная работа [45,9 K], добавлен 13.07.2013

  • Построение ветвящихся процессов на примере табулирования функции на заданном промежутке. Построение блок-схемы, применение операторов цикла и условного перехода, математических функций и констант. Создание алгоритма и листинг программы на языке Pascal.

    лабораторная работа [154,1 K], добавлен 07.02.2012

  • Работа с одномерными и двухмерными массивами: составление функций нахождения заданных элементов, их количества и суммы под и над главной диагональю, поиск среднего арифметического. Составление блок-схемы, написание текста программы, его тестирование.

    контрольная работа [52,0 K], добавлен 27.12.2010

  • Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

    контрольная работа [360,4 K], добавлен 13.06.2012

  • Разработка программы совместной обработки данных о проданных билетах на одну дату отправления авиарейсов и общее количество для формирования выходного документа; исходные данные и особенности алгоритма; ограничения. Тестирование функций программы.

    курсовая работа [4,1 M], добавлен 07.04.2012

  • Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.

    курсовая работа [1,8 M], добавлен 05.03.2013

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

  • Основные аналитические соотношения. Блок схемы и алгоритм решения задачи. Проверка работоспособности алгоритма вручную. Таблица идентификации переменных. Формы входной и выходной печати. Разработка и отладка программы. Инструкция для работы с программой.

    курсовая работа [69,8 K], добавлен 13.02.2012

  • Анализ различных способов хранения информации: одномерный массив, типизированный файл и динамический список. Сортировка только положительных чисел. Словесное описание алгоритма. Блок-схема процедуры обработки данных с помощью одномерного массива.

    контрольная работа [319,7 K], добавлен 29.05.2014

  • Разработка на языке ассемблера алгоритма контроля, на циклический CRC-код, массива данных хранящегося в некоторой области памяти. Сохранение кода для последующей периодической проверки массива данных. Сообщение об искажении данных. Описание алгоритма.

    курсовая работа [453,0 K], добавлен 27.02.2009

  • Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.

    курсовая работа [261,1 K], добавлен 25.03.2015

  • Символьные типы данных, работа со строками, составление блок-схемы алгоритма и программы для работы с массивами. Организация программы с использованием процедур и функций. Процедуры и функции, использующиеся при обработке файлов; компонентные файлы.

    контрольная работа [52,9 K], добавлен 03.10.2010

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.

    курсовая работа [336,2 K], добавлен 27.06.2015

  • Использование нестандартных функций и подпрограмм (процедур) для составления алгоритмов вычислений. Программы для вычисления значение корней нелинейного уравнения по методу половинного деления. Составление алгоритма операций над матрицами и интегралами.

    курсовая работа [580,0 K], добавлен 23.08.2015

  • Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.

    курсовая работа [67,6 K], добавлен 20.11.2012

  • Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран заданную информацию. Типы блок-схем и их использование при написании программы. Описание входных данных и результат вычислений, листинг программы.

    курсовая работа [680,3 K], добавлен 03.08.2009

  • Особенности разработки программ на языке Turbo Pascal на примере программы обработки массива данных с построением диаграммы. Функции программы и основные требования к ней. Состав входных и выходных данных. Использование предметной области "Садовод".

    курсовая работа [789,1 K], добавлен 13.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.