Последовательное представление очереди
Очередь – это линейная структура данных переменного размера. Удаление элементом происходит с начала очереди, добавление нового элемента – в конец очереди. Т.е. очередь обрабатывается в порядке поступления элементов по принципу FIFO (First Input First Oitput).
Блок-схема добавления нового элемента в очередь представлена на рисунке 1.
.......
Упорядоченная последовательность B создается в свободной области памяти в результате сортировки исходной последовательности А. Метод основан на том, что (k+1) - й элемент упорядоченной последовательности превышает ровно k элементов и, следовательно, занимает (k+1)-ю позицию. В процессе сортировки на каждом i-м проходе i-й элемент исходной последовательности попарно сравнивается со всеми остальными элементами. Если в результате сравнения установлено, что Аi > Аj , то значение числа k увеличивается на единицу. ..........
3. Листинг программы
Программа содержит 4 функций и главную функцию Main.
В главной функции реализована возможность записи массива в ручную и считывания его из файла используя функцию FileRead(). После получения массива для поиска и ввода ключа, который требуется найти, последовательно вызываются функции: ConsistentSearch(), ConsistentFastSearch(), BinarySearch().
Описание всех функций:
1. Функция FileRead() считывает массив чисел из файла;
2. Функция ConsistentSearch() реализует последовательный поиск заданного ключа;
3. Функция ConsistentFastSearch() реализует быстрый последовательный поиск заданного ключа;
4. Функция BinarySearch() реализует бинарный поиск заданного ключа.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Diagnostics;
using System.IO;
namespace L1
{
class Program
{
static void Main()
{
Console.Write("Введите размер массива. При N < 0, произойдет считывания из файла:\n -1 = 1000;\n -2 = 10000;\n -3 = 30000;\n -4 = и т.д....
Весь код, скрины и блок-схемы.
Выводы.
В ходе выполнения данной лабораторной работы были получены основные навыки
численного решения обыкновенных дифференциальных уравнений с помощью метода
Эйлера и метода Рюнге-Кутты. Программа была разработана с использованием навыков
модульного программирования. Результаты работы алгоритмов были записаны в файл,
где и производился их анализ.
По данным, видно , что метод Эйлера менее точный, чем метод Рунге-Кутты. ...
В лабе весь код и скрины. Проверьте значения, в лэти редко что меняют :)
В ходе выполнения данной лабораторной работы была написана
программа для численного решения нелинейного алгебраического уравнения
вида y = ax3 + bx2 +cx +d методом половинного деления и методом ложного
положения. Оба метода, используемых в работе, являются шаговыми методами.
Сравнивая эти два метода, видно, что они имеют разное время
выполнения. Так, решая уравнение методом половинного деления, корень был
найден за 11 шагов, в то время, как в методе ложного положенния, корень был
найден за 5 шагов. Также видно, что для данной задачи, метод ложного
положения оказался немного точнее, чем метод половинного деления.
...
Внутри код программы и графики.
Вывод: В ходе работы мы написали программу для расчета двух функций и
построения графиков, а также обеспечили вывод графиков функций в разных
графических иконах, подписав оси.
ИСХОДНЫЕ ДАННЫЕ:
f(x)=3/5*ln( |sin^2(x)| + 1)*tan(x^3).
Ф(w)=Ф((s^2 +12s +1) / (s^4 - s^3 + 2s^2 +6)) s=jw
...