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

  • Тема «

  • Программное обеспечение

  • Постановка задачи: Выполнить задания по вариантам

  • Краткие теоретические сведения Арифметические выражения

  • Задания для самостоятельного решения: Задание 1.

  • Задание 1.

  • Задание 3

  • Линейная программа, арифиетические выражения на PYthon. Л_Р_1_ Линейная программа, арифиетические выражения. Разработка, отладка и испытание линейных программ и математических функций


    Скачать 55.55 Kb.
    НазваниеРазработка, отладка и испытание линейных программ и математических функций
    Анкор Линейная программа, арифиетические выражения на PYthon
    Дата29.03.2021
    Размер55.55 Kb.
    Формат файлаdocx
    Имя файлаЛ_Р_1_ Линейная программа, арифиетические выражения.docx
    ТипЛабораторная работа
    #189287

    Подборка по базе: Синтез линейных САУ.docx, Лекция - Определители 2 и 3-го порядков. Решение систем линейных, Безопасность жизнидеятельности. Доп. испытание. Группа 699зу Ли , ТК поверка и испытание скоростемеров 3СЛ2М-1.docx, Переходные процессы в линейных цепях. Подключение элементов к се, Геодезические работы при трассировании линейных объектов.docx, Тестирование и отладка.pdf, ПРОВЕРКА, испытание счталлажей, лестниц, подмостей .pdf, Устройства автоматического контроля линейных размеров.pptx, акт пневматическое испытание.docx

    УО “Могилевский государственный экономический

    профессионально технический колледж”

    Лабораторная работа № 1

    Тема «Разработка, отладка и испытание линейных программ и математических функций.»

    Цель: Повторение и отработка навыков в программирования линейных программ

    Программное обеспечение: Операционная система Window, Система программирования Python.

    Методическое обеспечение: Зед А.Шоу «Легкий способ выучить Python».

    Постановка задачи: Выполнить задания по вариантам Входные данные должны вводиться с клавиатуры по запросу. Выходные данные (сообщения) должны выводиться на экран в развернутой форме.

    Содержание отчета

    1. Тема и цель работы.

    2. Постановка задачи. (Условие)

    3. Блок-схема алгоритма решения задач.

    4. Тексты программ.

    5. Результаты выполнения программ (скрины)

    6. Ответы на контрольные вопросы

    7. В колонтитул записать фамилию и инициалы и номер группы

    8. В имени файла указать номер практики и свою фамилию

    Краткие теоретические сведения

    Арифметические выражения

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

    Для основных арифметических операций в языке Python используются те же обозначения, что и в других языках программирования:

    + — сложение; - — вычитание;

    * — умножение; / — деление.

    Кроме того, есть ещё операция возведения в степень, которая обозначается как **. Например, х3 записывается как х**3.

    Сначала рассмотрим операции с одной переменной. Оператор присваивания

    i = i + 1

    заменяет значение i на i + 1, т. е. увеличивает значение переменной i на 1. Эта операция часто используется для увеличения специальных переменных-счётчиков, с помощью которых считается количество каких-то событий (например, щелчков мышью) или объектов (например, количество собранных призов в игре).

    Более сложное присваивание



    запишется в программе так:

    а = (с + b - l)/2*d

    Это линейная запись арифметического выражения (запись в одну строку). Длинное выражение можно перенести на следующую строку с помощью символа \:



    При переносе внутри скобок символ \ вставлять не обязательно:



    Эти правила переноса справедливы и для других операторов языка Python.

    Порядок выполнения действий определяется приоритетом (старшинством) операций:

    • сначала выполняются действия в скобках;

    • затем — возведение в степень, справа налево, т. е. 2**3**2 — это то же самое, что и 2** (3**2);

    • потом — умножение и деление, слева направо;

    • в конце — сложение и вычитание, слева направо.

    Таким образом, умножение и деление имеют одинаковый приоритет, более высокий, чем сложение и вычитание.

    Например, в выражении

    а = (с+b - l)/2*d

    сначала выполняются действия в скобках: сложение и затем вычитание; потом — деление на 2 и напоследок — умножение на d.

    В языке Python разрешено множественное присваивание. Запись

    a, b = 1, 2

    равносильна паре операторов присваивания:

    а = 1

    b = 2

    При этом считается, что эти два действия происходят параллельно, т. е. одновременно. Если двум переменным присваивается одно и то же значение, можно применить множественное присваивание «по цепочке»:

    а = b = 0

    Это равносильно паре операторов присваивания

    b = 0
    а = b

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

    Полная запись

    Сокращённая запись

    а = а + b

    а += b

    а = а - b

    а -= b

    а = а * b

    а *= b

    а = а / b

    а /= b

    Если в выражение входят переменные разных типов, в некоторых случаях происходит автоматическое приведение типа к более «широкому». Например, результат умножения целого числа на вещественное — это вещественное число. Переход к более «узкому» типу автоматически не выполняется. Нужно помнить, что результат деления (операция «/») — это вещественное число, даже если делимое и делитель — целые и делятся друг на друга нацело.

    Деление нацело

    Результат деления (операция «/») может быть нецелым числом, такие числа называются вещественными. Часто нужно получить целый результат деления целых чисел и остаток от деления. Например, известен интервал времени в секундах (скажем, 289 секунд) и нужно определить, сколько в нём целых минут и оставшихся секунд (289 с = 4 мин 49 с). Здесь число минут 4 — это целая часть от деления 289 на 60, а 49 секунд — это остаток от этого деления.

    В таких случаях используют специальные операторы:

    // — деление нацело (с отбрасыванием остатка);

    % — взятие остатка от деления.

    Вот как выглядит программа, которая выделяет целые минуты и секунды (от 0 до 59) из интервала времени в секундах:

    timeSec = 289

    minutes = timeSec //60 # = 4

    seconds = timeSec % 60 # = 49

    С помощью этих операций удобно работать с отдельными цифрами числа. Остаток от деления числа на 10 — это последняя цифра его десятичной записи:

    N = 123

    lastDigit = N % 10 # = 3

    Если разделить число на 10 и взять только целую часть, мы «отбросим» последнюю цифру числа: значение 123 // 10 равно 12:

    N = 123

    digits2 = N // 10 # = 12

    Интересен результат выполнения операций // и % для отрицательных чисел. Программа

    print ( -7 // 2 )

    print ( -7 % 2 )

    выводит на экран числа -4 и 1. Дело в том, что с точки зрения теории чисел остаток — это неотрицательное число, поэтому

    -7 = (-4) -2 + 1,

    т. е. частное от деления -7 на 2 равно -4, а остаток равен 1. В языке Python (в отличие от многих других языков, например Паскаля и C++) эти операции выполняются математически правильно.

    Вывод данных на экран

    Вы уже знаете, что функция print вставляет по одному пробелу между элементами списка вывода:

    а = 12

    b = 5

    с = 155

    print(a, b, с) # 12 5 155

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

    12 5 155

    211 315 8

    Предположим, что мы работаем с натуральными числами, которые меньше 1000. Тогда на каждое число можно выделить 4 позиции на экране: три на запись числа и ещё один пробел слева, разделяющий числа. Записывается это так:

    print( "{:4}{:4}{:4}".format(а, b, с) )

    Это форматный вывод: строка для вывода строится с помощью встроенной функции format. Аргументы этой функции — а, b и с в скобках — это те данные, которые выводятся. Символьная строка слева от точки — это форматная строка, которая определяет, как именно данные будут представлены на экране.

    Фигурные скобки обозначают место для вывода очередного элемента: на первом месте выводится значение а, на втором — значение b и на третьем — с.

    Число после двоеточия — это количество позиций, которые отводятся на число. В пределах этого поля число прижимается к правой границе. Например, числа 12, 5 и 155 будут выведены так:



    Здесь о обозначает пробел.

    Количество позиций можно не указывать:

    print( "{}{}{}".format(а, b, с) )

    Тогда данные выводятся вплотную друг к другу:

    125155

    Между данными из списка можно выводить и другие символы Например, программа

    numl = 12; num2 = 13

    print( "{}+{}*{}".format(numl, num2, numl+num2) ) #выведет 12+13=25

    Как видно из первой строки программы, в одной строке можно за писывать несколько операторов, разделяя их точками с запятой.

    Задания для самостоятельного решения:
    Задание 1. (по вариантам )

    1. Напишите программу, которая вычисляет стоимость нескольких пирожков. Программа должна ввести три числа: цену пирожка (два числа: рубли, потом — копейки) и количество пирожков. Требуется вывести сумму, которую нужно заплатить (рубли и копейки).

    2. Напишите программу которая меняет местами значения двух переменных в памяти.

    3. Напишите программу, которая находит сумму, произведение и среднее арифметическое трёх целых чисел, введённых с клавиатуры. Например, при вводе чисел 4, 5 и 7 мы должны получить ответ: 4+5+7=16, 4*5*7=140, (4+5+7)/3=5.333333

    4. Напишите программу, которая возводит введённое число в степень 10, используя только четыре операции умножения.(не используя циклы)

    5. Напишите программу, которая вводит четырехзначное число и разбивает его на цифры. Например, при вводе числа 6543 программа должна вывести: 6, 5, 4, 3


    Задание 1. (по вариантам )

    1.Напишите программу, которая вводит трёхзначное число и разбивает его на цифры. Например, при вводе числа 123 программа должна вывести: 1, 2, 3

    2. Напишите программу, которая вводит с клавиатуры количество секунд и выводит то же самое время в часах, минутах и секундах.

    3. Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками — 10 минут. Напишите программу, которая вводит с клавиатуры номер урока и выводит время его окончания.

    4. Напишите программу, которая вводит с клавиатуры вес в тоннах и выводит тот же вес в килограммах и граммах

    5. Напишите программу, которая вводит с клавиатуры расстояние в сантиметрах и выводит то же самое расстояние в километрах, метрах.

    Задание 3 (по вариантам )Вычислите значение выражения для заданных А, В, С (вводятся с клавиатуры)

    1. Х= 7А - 2В - 100 + С2

    2. Х= - А / 2 + 4 (В + 1) + 3С

    3. Х= 5 (А – В2) - 2С + 5

    4. Х= (А/ 2 + В) / 4 + С - 1

    5. Х= - (С2 + 2А + 4В2)

    Задание 4*

    1. Напишите программу, которая вводит с клавиатуры четырёхзначное натуральное число и переставляет его первую и последнюю цифры, например, из числа 1234 должно получиться число 4231.

    2. Напишите программу, которая вводит с клавиатуры четырёхзначное число и «вырезает» из него вторую цифру с начала, например из числа 1234 должно получиться число 134.

    3. Напишите программу, которая вводит с клавиатуры четырёхзначное число и удаляет из него первую и последнюю цифры, например из числа 1234 должно получиться число 23.

    4. Напишите программу, которая моделирует работу следующего автомата. Автомат получает на вход четырёхзначное число. Затем вычисляются три суммы: сумма первых двух цифр, сумма средних цифр и сумма последних двух цифр. Результат работы автомата — произведение этих сумм.

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

    1. Чему будет равно значение переменной i после выполнения оператора

    i = i + 1, если до этого оно было равно 17?

    2. Определите порядок действий компьютера при вычислении выражения:

    а = с + b — 1/2*5

    3. Запишите присваивание

    используя линейную запись на языке Python.

    4. Как быстро определить, чему равен остаток от деления числа N на 100?

    5. Как с помощью операций // и % числа выделить вторую с конца цифру программы?

    6. Что будет выведено в результате работы следующей

    1)

    2)

    8. Запишите оператор для вывода значений целых переменных а= 5 и b = 3 в формате:



    9. Пусть а = 26 и b = 6. Для каждого из следующих фрагментов про граммы вычислите вручную значение целочисленной переменной с Затем поверьте результат с помощью программы.



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