kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Линейные задачи по программированию для начинающих.

Нажмите, чтобы узнать подробности

Данный материал посвящен вопросам программирования на языке программирования. Python 3.6.4. В нем подробно рассматриваются решения задач. Он адресован учащимся и всем желающим самостоятельно овладеть искусством программирования.

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Линейные задачи по программированию для начинающих.»

Линейные задачи по программированию для начинающих.

Ищенко Руслана Викторовна,

МАОУ «СОШ №102»

учитель информатики

Данный материал посвящен вопросам программирования на языке программирования. Python 3.6.4. В нем подробно рассматриваются решения задач, от простых до достаточно сложных. Он адресован учащимся и всем желающим самостоятельно овладеть искусством программирования. Содержит условия задач и одно или два варианта их решения на языке программирования. В сборнике рассматриваются различные линейные алгоритмы, решение задач и задачи для самостоятельной работы.

Данный материал может быть использован как на уроках информатики в 9классе, так и на элективных курсах.


Линейные программы

Основные математические операторы в python:

+ — сложение

- — вычитание

* — умножение

/ — деление

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

** — возведение в степень

Ряд встроенных функций в Python позволяют работать с числами. В частности, функции int() и float() позволяют привести значение к типу целое и вещественное.

Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами.

Примеры:

math.fabs(X) - модуль X.

math.factorial(X) - факториал числа X.

math.fmod(X, Y) - остаток от деления X на Y.

math.exp(X) - eX.

math.sqrt(X) - квадратный корень из X.

math.pi - pi = 3,1415926...

math.cos(X) - косинус X (X указывается в радианах).

math.sin(X) - синус X (X указывается в радианах).

math.tan(X) - тангенс X (X указывается в радианах). и т.п


Задание№1

Даны два целых числа х и у. Вычислить их сумму, разность, произведение и частное.


Программа:

# Нахождение суммы, разности и произведения двух вещественных чисел

a = float(input("Введите первое число:"))

b = float(input("Введите второе число:"))

sum = a + b

razn = a - b

proiz = a * b

cas = a / b

print('Сумма =', sum)

print('Разность =', razn)

print('Произведение =', proiz)

print('Частное =', cas)


Задание№2

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


Программа

# Вычисления длины окружности, если известен радиус.

pi=3.14159

r = float(input("Введите радиус окружности: "))

l = 2*pi*r

print('Длина окружности =', f'{l:0.3}')


Задание№3

Составить программу нахождения остатка деления целочисленного числа k на n


Программа

# Нахождения остатка от деления целочисленного числа k на n

k = float(input("Введите число k: "))

n = float(input("Введите число n: "))

ostatok = k % n

print('Остаток от деления',ostatok)


Задание№4

Найдите значения вычисления выражений z=sin(x+*(y/2))


Программа

# Значения вычисления выражений z и y

import math

pi = 3.14

x = float(input("Введите число х: "))

y = math.sqrt(x)

z = math.sin(x + pi*y / 2)

print("Значение выражения у = ",y)

print("Значение выражения z = ",f"{z:0.2}")


Представление числа

При обычном определении числовой переменной она получает значение в десятичной системе. Но кроме десятичной в Python мы можем использовать двоичную, восьмеричную и шестнадцатеричную системы.

Для определения числа в двоичной системе перед его значением ставится 0 и префикс b:

1

x = 0b101 # 101 в двоичной системе равно 5

Для определения числа в восьмеричной системе перед его значением ставится 0 и префикс o:

1

a = 0o11 # 11 в восьмеричной системе равно 9

Для определения числа в шестнадцатеричной системе перед его значением ставится 0 и префикс x:

1

y = 0x0a # a в шестнадцатеричной системе равно 10

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

1

2

3

4

x = 0b101 # 5

y = 0x0a # 10

z = x + y # 15

print("{0} in binary {0:08b}   in hex {0:02x} in octal {0:02o}".format(z))

Для вывода числа в различных системах исчисления используются функция format, которая вызывается у строки. В эту строку передаются различные форматы.

Для двоичной системы "{0:08b}", где число 8 указывает, сколько знаков должно быть в записи числа. Если знаков указано больше, чем требуется для числа, то ненужные позиции заполняются нулями.

Для шестнадцатеричной системы применяется формат "{0:02x}". И здесь все аналогично - запись числа состоит из двух знаков, если один знак не нужен, то вместо него вставляется ноль. А для записи в восьмеричной системе используется формат "{0:02o}".


Задание для самостоятельной работы.

  1. Если первый ученик за 1ч может собрать М ведер яблок,2-й – К ведер, 3-й L ведер, то сколько ведер яблок они соберут за t часов?

  2. Для изготовления одного чайника нужно Р – граммов, одной тарелки –С граммов, одной чашки – К граммов сырья. Сколько сырья требуется для изготовления А штук чайников, 0.5А штук тарелок и 0.2А штук чашек?

  3. В трех сосудах содержится вода. В первом сосуде V1 л воды температуры t1, во втором – V2 л температуры t2, в третьем – V3 л температуры t3. Воду слили в один сосуд. Составить программу для определения объема V и температуры T воды в этом сосуде (расчет температуры можно вести по упрощенной формуле: T = (t1+t2+t3)/3.

  4. Определите количество теплоты необходимое для нагревания жидкости массой m, обладающей теплоемкостью c от температуры t1 до температуры t2

  5. Вычислите и выведите на экран примерное число прожитых человеком дней (без учёта високосных лет), если в году 365 дней, а год рождения и текущий год запрашиваются у пользователя вашей программы.

  6. Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения R0.

  7. Определите площадь трапеции высотой H, с основаниями a и b.

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

  9. Запрашивайте у пользователя размер наследства, которое Вы бы хотели получить (в долларах), и сумму денег, которую вы собираетесь тратить в месяц. Выведите на экран время (в годах), на которые хватит этого наследства.

  10. Вычислить радиус RB вписанной и радиус RO описанной около треугольника окружности, если заданы стороны треугольника А, В, С.

, где S – площадь, P – полупериметр треугольника.


Линейные алгоритмы (2 часть)

Задание№1.

Запишите с использованием промежуточных величин алгоритм вычисления выражения:


Программа

# Вычислить значение вычисления выражения y через промежуточные величины

import math

a = float(input("Введите число a: "))

b = a * a

z = b + 4

y = b/3+z/6+math.sqrt(z)/4+math.sqrt(z*z*z)/4

print("Значение выражения у = ",f"{y:0.3}")


Задание №2.

Вычислить значение функции

y = |3x — 45|.


Программа

# Вычислить значение вычисления выражения y

import math

x = float(input("Введите число x: "))

y = math.fabs(3*x-45)

print("Значение выражения у = ",f"{y:0.3}")


Задание №3.

Вычислить значение функции

y = cos(x) + sin(x)


Программа

# Вычислить значение вычисления выражения y

import math

x = float(input("Введите число x: "))

y = math.cos(x) + math.sin(x)

print("Значение выражения у = ",f"{y:0.4}")


Задание №4.


a)Вычислить значение вычисления выражения xy


Программа

# Вычислить значение вычисления выражения

import math

x = int(input("Введите число x: "))

y = int(input("Введите степень числа y: "))

y = math.pow(x, y)

print("Значение выражения у = ",y )



b)Вычислить значение функции y = x5+ x4+ x3+ x2+ x.

Программа

import math

x = int(input("Введите число x: "))

y = math.pow(x, 5)+ math.pow(x, 4)+ math.pow(x, 3)+ math.pow(x, 2) + x

print("Значение выражения у = ",y )


Задание для самостоятельной работы.

Составить программу для определения следующих выражений




Линейные задачи. Решение задач (часть 3)

Задание№1.

Вывести уравнение прямой, проходящей через заданные точки.

Уравнение прямой на координатной плоскости имеет следующий вид: y = kx + b. Если известны координаты двух точек, лежащих на этой прямой, то можно, решая систему уравнений, определить значения коэффициентов k и b. Таким образом выводится уравнение конкретной прямой, например, у = 3x - 1.

Решаем систему уравнений:

| y1 = kx1 + b

| y2 = kx2 + b

b = y2 - kx2

y1 = kx1 + y2 - kx2

k = (y1 - y2) / (x1 - x2)


Программа

print("Координаты точки A(x1;y1):")

x1 = float(input("\tx1 = "))

y1 = float(input("\ty1 = "))

print("Координаты точки B(x2;y2):")

x2 = float(input("\tx2 = "))

y2 = float(input("\ty2 = "))

print("Уравнение прямой, проходящей через эти точки:")

k = (y1 - y2) / (x1 - x2)

b = y2 - k*x2

print(" y = %.2f*x + %.2f" % (k, b)) или print("y =",k,"*x +",b)


Задание№2 "Заем"

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

Месячная выплата по займу вычисляется по такой загадочной формуле:

m = (s * p * (1 + p)n) / (12 * ((1 + p)n – 1)).

Достаточно знать, что в этой формуле:

m - размер месячной выплаты;

s - сумма займа (кредита);

p - процент банка, выраженный в долях единицы (т. е. если 20%, то будет 0.2).

n - количество лет, на которые берется займ.

Программа

zaem = input("Сколько хотите взять денег: ")

zaem = int(zaem)

proz = input("Под какой процент вам их дают: ")

proz = int(proz)

years = input("Насколько лет берете: ")

years = float(years)

proz = proz / 100

month_pay = (zaem * proz * (1 + proz)**years) / (12 * ((1 + proz)**years - 1))

print("Ваш месячный платеж составит: %.2f" % month_pay)

summa = month_pay * years * 12

print("За весь период вы заплатите: %.2f" % summa)

print("Это составит %.2f%% от первоначальной суммы" % ((summa/zaem ) * 100))


Задание№3 Обмен значений переменных

Обмен значений двух переменных - это "действие", в результате которого одна переменная принимает значение, равное второй переменной, а вторая - первой.

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

buf = a

a = b

b = buf

В Python обмен значений переменных можно выполнить вообще в одну строчку:

a = 10

b = 20

a,b = b,a

При выполнении a,b = b,a интерпретатор Python сначала получает значения связанные с переменными b и a (правая часть) и помещает их в кортеж, в данном случае получится (10, 20). После этого он связывает каждый элемент кортежа в определенной позиции с переменной в той же позиции, но в кортеже слева (a,b).

a = 14

b = 18

c = 16

a,b,c = c,a,b

a,b,c

(16, 14, 18)

Программа

a = input("Введите число первое ")

b = input("Введите число второе ")

a,b = b,a

print (a,b)


Задание№4.

Вычислить продолжительность года на планетах.

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

Продолжительность года вычисляется по формуле:

2 * радиус_орбиты * пи / орбитальная_скорость.

Программа

import math

planet1 = input("Планета №1: ")

r1 = float(input("Радиус ее орбиты (млн. км): "))

v1 = float(input("Ее орбитальная скорость (км/с): "))

r1 = r1 * 1000000 # переводим миллионы км в просто км

year1 = 2 * math.pi * r1 / v1

year1 = year1 / (60 * 60 * 24) # переводим секунды в дни

planet2 = input("Планета №2: ")

r2 = float(input("Радиус ее орбиты (млн. км): "))

v2 = float(input("Ее орбитальная скорость (км/с): "))

r2 = r2 * 1000000

year2 = 2 * math.pi * r2 / v2

year2 = year2 / (60 * 60 * 24)

print("Длина года в днях на планете %s: %2.f" % (planet1, year1))

print("Длина года в днях на планете %s: %2.f" % (planet2, year2))

print("Длина года на %s больше, чем на %s? %s" % (planet1, planet2, year1 year2))


Пример входных данных:

Планета №1: Земля

Радиус ее орбиты (млн. км): 150

Ее орбитальная скорость (км/с): 30

Планета №2: Венера

Радиус ее орбиты (млн. км): 108

Ее орбитальная скорость (км/с): 35

Длина года в днях на планете Земля: 364

Длина года в днях на планете Венера: 224

Длина года на Земля больше, чем на Венера? True


Самостоятельная работа. Линейные. (часть 4)

Задача №1.

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

Задача №2.

Имеется садовый участок, имеющий форму прямоугольника со сторонами А метров и В метров. Составьте алгоритм и программу, которая определит сколько досок надо купить, чтобы поставить сплошной забор. Ширина одной доски 10 см.

Задача №3.

В магазине продается костюмная ткань. Ее цена В руб. за квадратный метр. Составьте алгоритм и программу, которая подсчитает и выведет на экран стоимость куска этой ткани длиной Х метров и шириной 80 см.

Задача №4.

Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна А метров, а высота - В метров. Рулон обоев имеет длину 12 метров и ширину K см. Составьте алгоритм и программу, которая определит стоимость обоев для всей стены, если цена одного рулона К руб.

Задача №5.

Фруктовый магазин продает яблоки по А руб. за кг., груши по В руб. за кг., апельсины по С руб. за кг. В первые два дня недели продано: понедельник – Х кг. яблок, Y кг. груш, Z кг. апельсинов; вторник – X кг. яблок, Y кг. груш, Z кг. Апельсинов (X, Y, Z — принимают разные значения в понедельник и во вторник). Напишите программу, которая будет вычислять, на какую сумму продал магазин фруктов в каждый из этих дней и за оба дня вместе.

Задача №6.

Написать программу нахождения площади прямоугольного треугольника. Значения катетов вводятся с клавиатуры.

Задача №7

Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.

Задача №8

Вычислить расстояние между двумя точками с данными координатами на плоскости (х1, у1) и (х2, у2).

Задача №9

Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

Задача №10

Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление всей цепи.

Задача №11

Найти сумму членов арифметической прогрессии, если известны ее первый член, разность и число членов прогрессии.

Задача №12

Найти площадь равнобедренной трапеции с основаниями, а и b и углом α при большем основании а.

Задача №13

Вычислить площадь и периметр правильного N-угольника, описанного около окружности радиуса R (рассмотреть N — целого типа, R — вещественного типа).

Задача №14

Дано натуральное число Т — длительность прошедшего времени в секундах. Вывести данное значение длительности в часах (НН), минутах (ММ) и секундах (SS) в следующей форме: НН ч ММ мин SS с.


Литература

  1. Решение задач по программированию http://taskcode.ru/linear

  2. Лаборатория линуксоида https://younglinux.info/

  3. Уроки по языку программирования Python https://devpractice.ru/python-lessons/



Получите в подарок сайт учителя

Предмет: Информатика

Категория: Уроки

Целевая аудитория: 9 класс.
Урок соответствует ФГОС

Скачать
Линейные задачи по программированию для начинающих.

Автор: Ищенко Руслана Викторовна

Дата: 08.01.2019

Номер свидетельства: 494185


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства