То что скидывала Даша / Lab3
.docЛабораторная работа №3. Символы. Списки. Тьюплы. Частные определения. Определения с альтернативами. Охранные выражения.
Задания.
Применяя теорию лекции №2, выполните задания, соответствующие вашему варианту.
Пример выполнения задания:
Задача 1. В трехзначном числе x зачеркнули первую цифру. Когда полученное число умножили на 10, а произведение сложили с первой цифрой числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n [1, 999]).
делим с остатоком на 10, получая нужные цифры, и умножая на 10 в другой последовательности получаем нужное число
> f1 :: Int -> Int
> f1 (n) = (n `rem` 10) * 100 + ((n `div` 100) `rem` 10) * 10 + ((n `div` 10) `rem` 10)
Задача 2. Даны четыре целых числа. Определить, сколько из них четных.
функция проверяет числа на четность
> isEven :: Int -> Int
> isEven x | (even(x)) = 1
> | otherwise = 0
функция возвращает количество четных чисел из четырех заданных
> f2 :: (Int, Int, Int, Int) -> Int
> f2 (a, b, c, d) = isEven (a) + isEven (b) + isEven (c) + isEven (d)
Вариант 1.
-
Из трехзначного числа x вычли его последнюю цифру. Когда результат разделили на 10, а к частному слева приписали последнюю цифру числа x, то получилось число n. Найти число n. По заданному n найти число x (значение n вводится с клавиатуры, n[10, 999] и при этом число десятков в n не равно нулю).
-
Составить программу, которая уменьшает первое введенное число в два раза, если оно больше введенного второго числа по абсолютной величине.
Вариант 2.
-
В трехзначном числе x зачеркнули первую цифру. Когда полученное число умножили на 10, а произведение сложили с первой цифрой числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[1, 999]).
-
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увеличить второе число в пять раз.
Вариант 3.
-
В трехзначном числе x зачеркнули вторую цифру. Когда к полученному двузначному числу слева приписали вторую цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[10, 999] и при этом число десятков в n не равно нулю).
-
Даны три целых числа. Вывести на экран те из них, которые являются четными.
Вариант 4.
-
В трехзначном числе x зачеркнули вторую цифру. Когда к полученному двузначному числу справа приписали вторую цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[100, 999]).
-
Даны три вещественных числа. Возвести в квадрат те из них, значения которых неотрицательны.
Вариант 5.
-
В трехзначном числе x зачеркнули последнюю цифру. Когда в оставшемся двузначном числе переставили цифры, а затем приписали к ним слева последнюю цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[1, 999] и при этом число единиц в n не равно нулю).
-
Даны четыре вещественных числа. Определить сколько из них отрицательных.
Вариант 6.
-
В трехзначном числе x зачеркнули первую цифру. Когда полученное число умножили на 10, а произведение сложили со второй цифрой числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[1, 999]).
-
Даны четыре целых числа. Определить, сколько из них нечетных.
Вариант 7.
-
В трехзначном числе x зачеркнули вторую цифру. Когда к полученному двузначному числу справа приписали вторую цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[100, 999]).
-
Даны четыре вещественных числа. Найти сумму тех чисел, которые больше пяти.
Вариант 8.
-
В трехзначном числе x зачеркнули последнюю цифру. Когда в оставшемся двузначном числе переставили цифры, а затем приписали к ним слева последнюю цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[1, 999] и при этом число единиц в n не равно нулю).
-
Даны четыре целых числа. Определить сумму тех из них, которые кратны трем.
Вариант 9.
-
Из трехзначного числа x вычли его последнюю цифру. Когда результат разделили на 10, а к частному слева приписали последнюю цифру числа x, то получилось число n. Найти число n. По заданному n найти число x (значение n вводится с клавиатуры, n[10, 999] и при этом число десятков в n не равно нулю).
-
Составить программу для вычисления функции y(x):
y=
Вариант 10.
-
В трехзначном числе x зачеркнули вторую цифру. Когда к полученному двузначному числу слева приписали вторую цифру числа x, то получилось число n. По заданному n найти число x (значение n вводится с клавиатуры, n[10, 999] и при этом число десятков в n не равно нулю).
-
Составить программу для вычисления функции y(x):
y=
Контрольные вопросы.
-
К какому типу относятся символы? Какие три символа нельзя записать обычным способом?
-
Как записывается символ перехода на другую строку?
-
Как записывается символ табуляции?
-
Чем отличаются списки и тьюплы?
-
Какие функции работы со списками есть в Haskell?
-
Для чего применяются частные определения?
-
В каких случаях применяются определения с альтернативами?
-
Охранные выражения.
-
что такое двумерный синтаксис? каковы его основные правила?
-
Когда полезны рекурсивно определенные функции?
-
что такое образцы в Haskell?
-
В чем отличие определений функции рекурсией и индукцией?
-
что такое <<as-образцы>>?
-
Чем отличаются формальные и фактические параметры?