Задание 5.2A

Лабораторная №5 — задание 5.2A #

Нужно написать несколько примеров программ на своём языке программирования, используя ограниченное подмножество языка. Эти примеры будут использованы разработчиком для тестов.

Порядок выполнения #

Проверять работоспособность программ не требуется — это сделает разработчик в своём задании.

  1. Выберите три программы из списка ниже
  2. Напишите эти программы на своём языке программирования согласно требованиям ниже
  3. Проверьте, что примеры демонстрируют основные возможности текущей версии языка
    • например, если язык поддерживает два типа циклов, то каждый из них присутствует хотя бы в одном варианте
    • при этом допустима ситуация, когда некоторые особенности есть в спецификации, но отсутствуют в примерах: например, в спецификации описана возможность объявлять функции без параметров, а в примерах все функции имеют параметры

Список программ #

Вы можете заменить одну из трёх программ на свой пример, если он подходит хорошо подходит для демонстрации возможностей языка.

Список программ, из которых нужно выбрать три:

  1. Factorial — читает число N и считает его факториал N!, используя цикл либо рекурсию
  2. Fibonacci — читает число N и считает N-е число Фибоначчи, используя цикл либо рекурсию
  3. IsPrime — читает число N и печатает 1 или 0 в зависимости от того, является ли число простым
    • Подсказка: для проверки простоты N достаточно проверить, что оно не делится нацело ни на одно из чисел от 1 до квадратного корня из N
  4. GCD — читает два числа и вычисляет их НОД (наибольший общий делитель) алгоритмом Эвклида
  5. SumDigits — вычисляет сумму цифр числа в десятичном представлении
    • Подсказка: для реализации достаточно выделять следующую цифру путём деления с остатком и прибавлять её к сумме, пока число не обратится в ноль
  6. MultiplicationTable — читает число N выводит таблицу умножения от 1×1 до N×N. Каждая i-я строка вывода — это результаты умножения числа i на числа от 1 до N.
  7. Pow — читает два числа A и B и возводит число A в целочисленную степень B с помощью умножений в цикле
    • Реализация должна использовать именно цикл, а не встроенный оператор или функцию возведения в степень
  8. Sqrt — вычисление квадратного корня методом Ньютона
    • Реализация должна использовать именно цикл с методом Ньютона, а не встроенный оператор или функцию
  9. QuadraticEquation — решение квадратного уравнения с определением нуля, одного или двух корней
    • Программа должна читать три числа: коэффициенты квадратного уравнения
    • Программа должна правильно определять количество корней уравнения и выводить сначала количество корней (0, 1 или 2), а затем вычисленные корни

Требования к программам #

  • Все примеры программ должны использовать ввод-вывод.
  • Программы не должны использовать массивы, структуры и другие составные типы данных.