Главная страница
Навигация по странице:

  • Часть 1 Задание 2.1

  • Решение

  • Результат

  • Отчет 3. Лабораторная работа 3 Циклы Работу Лукин Егор Максимович Группа иэс16617 Часть 1 Задание 1


    Скачать 110.47 Kb.
    НазваниеЛабораторная работа 3 Циклы Работу Лукин Егор Максимович Группа иэс16617 Часть 1 Задание 1
    Дата26.12.2018
    Размер110.47 Kb.
    Формат файлаdocx
    Имя файлаОтчет 3.docx
    ТипЛабораторная работа
    #61958

    НИУ «МЭИ»
    Инженерно-Экономический Институт
    Лабораторная работа №3

    Циклы

    Работу выполнил:

    Лукин Егор Максимович

    Группа: ИЭС-166-17
    Часть 1

    Задание 2.1

    Разработать блок схему и программу для решения задач «Задания 1, 2», стр. 59.

    Даны целые числа K и N (N > 0). Вывести N раз число K

    Решение:

    K, N = input("Введите K, N через пробел: ").split(' ')

    for i in range(int(K)):

    print(N)

    Результат:




    Задание 2.2

    Разработать блок схему и программу для решения задач «Задания 1, 2», стр. 59.

    Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.
    Решение:

    A, B = input('A, B: ').split(' ')

    A, B = int(A), int(B)

    count = 0

    for i in range(A, B + 1):

    count += 1

    print(i)

    print("Всего: ",count - 1)

    Результат:



    Задание 3

    Разработать блок схему и программу для решения задачи «Задание 7», стр. 60.

    Вычислить суммы



    Решение:

    S = 0

    for i in range(1, 100):

    S += 1/(3*i +2)

    print("S1 = ", S)

    S = 0

    for i in range(1, 100):

    S = 1/(i ** 2)

    print("S2 = ", S)

    Результат:



    Задание 4

    Разработать блок схему и программу для решения одной задачи из таблицы «Задание 1», стр. 62. Задачу решить с использованием оператора цикла for.

    2) Sin(1/x), a = pi/8, b = 2/pi, m = 15

    Решение:

    import math

    a = math.pi/8

    b = math.pi/8

    m = 15

    h = (b-a)/m

    print(a, b)

    for x in range(a, b, h):

    print(math.sin(1/x))

    Результат:

    Часть 2

    Задание 5

    Разработать блок схему и программу для задания 6 из раздела «Задания», стр. 60 с использованием двух вариантов организации цикла.

    Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N

    Решение:

    N = int(input("N -> "))

    summ, i = 0, 0

    while(i < N):

    if(i == 0):

    summ += 1

    else:

    summ += 1/i

    i += 1

    print(summ)

    Результат:



    Задание 6

    Разработать блок схему и программу для задания 7 из раздела «Задания», стр. 60 с использованием трех вариантов организации цикла.

    Решение 1:

    S = 0

    for i in range(1, 100):

    S += 1/(3*i +2)

    print("S1 = ", S)

    S = 0

    for i in range(1, 100):

    S = 1/(i ** 2)

    print("S2 = ", S)

    Решение 2:

    i, S1, S2 = 1, 0, 0

    while(i < 100):

    S1 += 1/(3*i + 2)

    S2 += 1/(i**2)

    i += 1

    print("S1 = ", S1)

    print("S2 = ", S2)

    Результат:


    Часть 3

    Задание 1

    Разработать блок схему и программу для одного из вариантов задания 1, стр. 62.

    2) Sin(1/x), a = pi/8, b = 2/pi, m = 15

    Решение:

    import math

    a = math.pi/8

    b = math.pi/8

    m = 15

    h = (b-a)/m

    print(a, b)

    for x in range(a, b, h):

    print(math.sin(1/x))

    Результат:

    Задание 2

    Разработать блок схему и программу для одного из вариантов задания 2, стр. 62.

    Используя операторы цикла с предусловием и постусловием, найти сумму ряда с точностью e= 10-3 и e = 10-4, общий член которого an. Определить, сколько членов ряда просуммировано.

    1. (2n-1)/2n


    Решение:

    n = int(input("n = "))

    print(n**2/3**n)

    Результат:


    Задание 3

    Решить задачу 1 из файла «Доп материал по теме Алгоритм организации счетчика в теле цикла». Сначала в варианте, представленном в файле, затем добавить фрагмент программы.

    Вычислить значения функции z(i), которая определена таким образом:

    http://pers.narod.ru/study/pascal/11.files/image003.gif

    для 100 значений i=1,2,...,100.

    Решение:

    import math

    z, i, k = 0, 1, 0

    for i in range(100):

    if i % 2 == 0:

    z = math.sqrt(i) * math.cos(i)

    else:

    z = math.sin(i/2)

    if z > 0.5: k += 1

    print("Количество = ", k)

    Результат:


    Задание 4

    Решить задачу 2 из файла «Доп материал по теме Алгоритм организации счетчика в теле цикла». Сначала в варианте, представленном в файле. Затем доработать текст программы таким образом, чтобы выполнялась проверка корректности введенных данных.

    Известны оценки за экзамен по информатике для группы из n студентов, 2≤n≤25.

    Оценить количественную (Yкол) и качественную (Yкач) успеваемость группы по формулам:

    http://pers.narod.ru/study/pascal/11.files/image004.gif, http://pers.narod.ru/study/pascal/11.files/image005.gif,

    где

    k1 - количество "троек", "четверок" и "пятерок",

    k2 - количество только "четверок" и "пятерок".
    Решение:

    n = int(input("кол-во учеников: "))

    if ((2 >= n) or (n >= 25)):

    print("неверное число!!!")

    else:

    Ykach, Ycol = 0, 0

    k1, k2 = 0, 0

    for i in range(0, n):

    a = int(input("Введите оценку студента: "))

    if (a > 2):

    k1 += 1

    if a > 3: k2 += 1

    Ycol = k1/n*100

    Ykach = k2/n*100

    print('Количественная: ',Ycol)

    print('Качественная: ', Ykach)
    Результат:



    Задание 5

    Решить задачу построение таблицы значений функции от двух переменных.

    Вывести на экран таблицу значений функции f от двух переменных: z и x.
    zпринимает значения: от 2 до 4.5 с шагом 0.5.

    X принимает значения: 0.1; 0.3; 0.5; 0.7; 0.9



    Решение:

    import math

    z, x, f = 2, 0.1, 0

    print("z | ", " x | ", " f(x) ")

    while(z < 4.5 or x <= 0.9):

    f = math.tan(x) + z

    z += 0.5

    x += 0.2

    print("%g" % z,"| ", "%g" % x, "| ", "%g" % f)

    Результат:


    Часть 4

    Задача 1

    В институте максимальный номер группы первого курса дневного отделения равен 17 (номер группы лежит в диапазоне от 1 до 17).

    Разработать программу, которая дает возможность ввести номер группы только из диапазона:

    номер группы> = 1 И номер группы <= 17.

    Если номер группы принадлежит указанному диапазону, то на экран вывести сообщение:

    Группа ИМ-хх-17

    Где хх – номер группы, введенный с клавиатуры.

    Решение:

    n = 0

    while(n < 1 or n > 17):

    n = int(input("Введите номер группы из диапозона от 1 до 17: "))

    print("Группа ИМ-" + str(n) + "-17")

    Результат:



    Задача 2

    Вычислить значение функции у(х) для десяти значений x (вводятся с клавиатуры).

    Функция определена таким образом:



    Вычисления прекратить, если введено значение x, для которого функция не определена.
    Решение:

    import math

    for i in range(10):

    x = 0

    x = int(input('введите -10 < х > 10: '))

    a = int(input('a -> '))

    if x < 0 and x > -10:

    b = a**2 * math.fabs(x)

    print(b)

    elif x > 0 and x > 10:

    print(math.cos(x**2))

    else:

    print("Введено неверное число!")

    i = 0

    Результат:



    Задача 3

    Основное условие – условие задачи 2.

    Рассмотреть два варианта выполнения программы (реализовать сначала вариант 1, затем – вариант 2):
    Вариант 1.

    Если введено значение х, для которого функция не определена, то вывести сообщение об этом и вычисление функции прекратить.

    Вариант 2.

    Если введено значение х, для которого функция не определена, то вывести сообщение об этом и продолжить вычисление функции.

    Решение:

    import math

    num = int(input('Номер варианта: '))

    for i in range(10):

    x = 0

    x = int(input('введите -10 < х > 10: '))

    if x == 0 and num == 1:

    print("Функция не определена.")

    break

    elif num == 2:

    a = int(input('a -> '))

    if x < 0 and x > -10:

    b = a**2 * math.fabs(x)

    print(b)

    elif x > 0 and x > 10:

    print(math.cos(x**2))
    Результат:



    Задача 4

    Разложение функции ex в ряд:




    1. Ввести с клавиатуры значение аргумента.

    2. Вычислить значение функции для аргумента, значение которого введено с клавиатуры (п.1), воспользовавшись формулой разложения функции в ряд.

    3. Вычислить значение функции для значения аргумента, введеного с клавиатуры, с помощью соответствующей функции Паскаль (exp(x)).

    4. Сравнить вычисленные значения.


    Решение:

    import math

    x = int(input('x -> '))

    e = 0

    for i in range(0, x):

    if i == 0: e += 1

    else:

    e += x**i/math.factorial(i)

    print("С помощью формулы: ", e)

    print("С помощью exp:", math.exp(x))

    if e == math.exp(x): print("Одинаковы")

    else: print("Неодинаковы")
    Результат:



    написать администратору сайта