این برنامه برای ارائه عملکردهای خاص مربوط به شاخه ریاضیات جدا شده به عنوان ریاضیات گسسته طراحی شده است. این نرم افزار شامل برخی از الگوریتم ها، بخش هایی از نظریه اعداد و رمزگذاری، استقراء و بازگشت، پیاده سازی روش های محاسبه پیشرفته انتخاب شده است. مباحث ریاضیات گسسته و کاربردهای آن (آموزش مک گراو هیل - کنت اچ روزن) در یک برنامه غیرممکن است و این برنامه چنین وظیفه ای را برای خود تعیین نمی کند.
الگوریتمهای موجود در برنامه عبارتند از ( فعالیت الگوریتمها): الگوریتم جستجوی خطی و باینری، مرتبسازی با روش حباب و روش معکوس، تعیین جفتهای متصل و جفتهای غیر همپوشانی (به عنوان مثال، رویدادهایی با شروع و پایان مانند سخنرانیها).
مرتبسازی حبابی یکی از سادهترین الگوریتمهای مرتبسازی است، اما یکی از کارآمدترین نیست. با مقایسه متوالی عناصر مجاور، لیستی را به ترتیب فزاینده ای قرار می دهد، اگر ترتیب نامناسبی داشته باشند، آنها را تعویض می کند. برای انجام مرتبسازی حبابی، عملیات پایه را انجام میدهد، یعنی یک عنصر بزرگتر را با عنصر کوچکتری که از ابتدای فهرست شروع میشود، برای یک پاس کامل تعویض میکند. این رویه را تا زمانی که مرتب سازی کامل شود تکرار می کند.
مرتبسازی درج عنصر دوم را با عنصر اول مقایسه میکند و اگر از عنصر اول بیشتر نباشد قبل از عنصر اول و اگر از عنصر اول بیشتر باشد بعد از عنصر اول درج میکند. در این مرحله، دو عنصر اول به ترتیب صحیح هستند. سپس عنصر سوم با عنصر اول مقایسه می شود و اگر بزرگتر از عنصر اول باشد با عنصر دوم مقایسه می شود. در موقعیت صحیح در بین سه عنصر اول قرار می گیرد. روال به همین ترتیب با عناصر زیر تا انتهای لیست ادامه می یابد.
الگوریتم هایی که در هر مرحله بهترین انتخاب را انجام می دهند، الگوریتم های حریص نامیده می شوند - این دو الگوریتم برای جفت های متصل و جفت های غیر همپوشانی هستند.
از جفت های غیر همپوشانی می توان برای یافتن مسیر بین دو سایت استفاده کرد.
تبدیل اعداد و فعالیت رمزنگاری شامل: - تبدیل اعداد از یک سیستم عددی به سیستم دیگر. و دیگر
این برنامه می تواند در عمل هنگام تبدیل اعداد از یک سیستم اعداد به سیستم دیگر (فعالیت تبدیل اعداد)، در عملیات حسابی (عملیات حسابی) با اعداد صحیح در سیستم های اعداد مختلف استفاده شود (آنها در پایه 2،3،4،5،6،7،8،9،16 قرار دارند). عملیات حسابی و تبدیل به سیستم های اعداد مختلف بر روی اعداد صحیح بدون محدودیت طول عملوندها انجام می شود که به اصطلاح BigInteger نامیده می شود.
فاکتورسازی (فعالیت فاکتورسازی) شامل تعیین ضرایب اول یک عدد، تعیین بزرگترین مقسوم علیه مشترک دو عدد و غیره است.
تولید اعداد شبه تصادفی از نوع BigInteger (اعداد تصادفی شبه)، که با طول در بیت تعیین می شود.
رمزگذاری متن (فعالیت رمزنگاری) از الفبای لاتین (26)، رمزگذاری متون با الفبای سیریلیک (30 حرف) و رمزگذاری به روش RSA و روش AES. با تمام روش های رمزگذاری، امکان ذخیره فایل های رمزگذاری شده در دایرکتوری دانلود دستگاه که متنی AppDiscret در نام آن وجود دارد، وجود دارد.
در رمزنگاری مهم است که بتوانید باقیمانده b را در توان n تقسیم بر m بدون استفاده از مقدار بیش از حد حافظه به طور موثر پیدا کنید. این برنامه همچنین دارای عملکردی برای نمایی سریع مدولار (فعالیت نمایی مدولار سریع) است.
استقرای ریاضی در کاربرد شامل (فعالیت استقرایی ریاضی): جمع اولین N اعداد صحیح و موارد دیگر است.
توابع محاسبه پیشرفته (فعالیت شمارش) عبارتند از: - محاسبه تعداد باکتری هایی که پس از یک زمان معین ضرب می شوند. - اعداد فیبوناچی؛ - تعداد حرکت دیسک در بازی Towers of Hanoi. و دیگر
تقریباً در تمام فعالیت ها، کمکی وجود دارد که ویژگی های محاسبه شده را نشان می دهد.
تاریخ بهروزرسانی
۱۰ تیر ۱۴۰۴