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

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

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

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

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

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

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

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

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