Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
27.05.2015
Размер:
60.42 Кб
Скачать

Лабораторная работа №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=

Контрольные вопросы.

  1. К какому типу относятся символы? Какие три символа нельзя записать обычным способом?

  2. Как записывается символ перехода на другую строку?

  3. Как записывается символ табуляции?

  4. Чем отличаются списки и тьюплы?

  5. Какие функции работы со списками есть в Haskell?

  6. Для чего применяются частные определения?

  7. В каких случаях применяются определения с альтернативами?

  8. Охранные выражения.

  9. что такое двумерный синтаксис? каковы его основные правила?

  10. Когда полезны рекурсивно определенные функции?

  11. что такое образцы в Haskell?

  12. В чем отличие определений функции рекурсией и индукцией?

  13. что такое <<as-образцы>>?

  14. Чем отличаются формальные и фактические параметры?

Соседние файлы в папке То что скидывала Даша