М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Danila1367
Danila1367
14.07.2020 20:56 •  Информатика

Нужен код программы и блок-схема на 2 задачи Питон


Нужен код программы и блок-схема на 2 задачи Питон

👇
Ответ:
Nargiza02005
Nargiza02005
14.07.2020

Задание 1: Найти произведение элементов массива с чётными номерами

def input_Mas():

 '''

 Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.

 Возвращает заполненный массив.

 '''

 while True:

   try:

     n = int(input('Введите количество элементов в массиве: '))

     if n > 0: break

     else: print('Количество элементов должно быть целым положительным числом.')

   except ValueError:

     print('Количество элементов должно быть целым положительным числом.')

 a =[0]*n

 i = 0

 while i < len(a):

   try:

     a[i] = float(input('Введите %d элемент списка ' % (i+1)))

     i+=1

   except ValueError:

     print('Вы ввели некорректное значение. Вводите целое число.')

 return a

def multi_Mas(a):

 y = 1

 for i in range(0,len(a),2):

   y *= a[i]

 return y

'''

Основной код программы

'''

print('-= Данная программа вычисляет произведение всех элементов массива с чётными индексами =-')

print()

mas = input_Mas()

print(mas)

print(f'Произведение элементов с чётными индексами: {multi_Mas(mas)}')

Задание 2: Найти сумму элементов массива, расположенных между первым и последним нулевыми элементами

def input_Mas():

 '''

 Данная функция позволяет заполнить одномерный массив длинной n с клавиатуры.

 Возвращает заполненный массив.

 '''

 while True:

   try:

     n = int(input('Введите количество элементов в массиве: '))

     if n > 0: break

     else: print('Количество элементов должно быть целым положительным числом.')

   except ValueError:

     print('Количество элементов должно быть целым положительным числом.')

 a =[0]*n

 i = 0

 while i < len(a):

   try:

     a[i] = float(input('Введите %d элемент списка ' % (i+1)))

     i+=1

   except ValueError:

     print('Вы ввели некорректное значение. Вводите целое число.')

 return a

def getIndexOfElement(a, e, first=True):

 '''

 Данная функция возвращает индекс первого (при first = True) или последнего (при first = False) элемента со значением e

 '''

 index = -1

 if first == True:

   i = 0

   while i < len(a) and index == -1:

     if a[i] == e:

       index = i

     i+=1

 if first == False:

   i = len(a)-1

   while i >= 0 and index == -1:

     if a[i] == e:

       index = i

     i+=-1

 if index >= 0:

   return index

 else: raise ValueError

'''

Основной код программы

'''

print('-= Данная программа вычисляет сумму всех элементов массива, стоящих между первым и последним элементами определённого значения =-')

print()

mas = input_Mas() # заполняем массив

print(mas)

while True:

 try:

   elem = float(input('Значение элемента, между которыми нужно посчитать сумму: '))

   break

 except ValueError:

   print('Значение элемента должно быть числом.')

try:

 print(f'Сумма между первым и последним {elem} равна: {sum(x for x in mas[getIndexOfElement(mas,elem)+1:getIndexOfElement(mas,elem,False)])}')

except:

 print(f'Элемента {elem} в массиве {mas} не существует.')

4,8(69 оценок)
Открыть все ответы
Ответ:
Lizulinka
Lizulinka
14.07.2020

Объяснение:

Метод - це невелика підпрограма, яка виконує, в ідеалі, тільки одну функцію. Методи дозволяють скоротити обсяг коду. Методи разом з полями, є основними членами класу.Раніше, ми вже розглядали методи в уроці Функції в Сі-шарп, але зараз ми розглянемо їх під іншим кутом. В тому уроці ми розглядали статичні методи, а в цьому поговоримо про прості, і про різницю між ними.

Статичний метод - це метод, який не має доступу до полів об'єкта, і для виклику такого методу не потрібно створювати екземпляр (об'єкт) класу, в якому він оголошений.

Простий метод - це метод, який має доступ до даних об'єкта, і його виклик виконується через об'єкт. Прості методи служать для обробки внутрішніх даних об'єкта.

Наведу приклад використання простого методу. Клас Телевізор, у нього є поле switchedOn, яке відображає стан включений / виключений, і два методи - включення і виключення:

class TVSet

{

private bool switchedOn;

public void SwitchOn()

{

switchedOn = true;

}

public void SwitchOff()

{

switchedOn = false;

}

}

class Program

{

static void Main(string[] args)

{

TVSet myTV = new TVSet();

myTV.SwitchOn(); // включаємо телевізор, switchedOn = true;

myTV.SwitchOff(); // виключаємо телевізор, switchedOn = false;

}

}

Щоб викликати простий метод, перед його ім'ям, вказується ім'я об'єкта. Для виклику статичного методу необхідно вказувати ім'я класу.

Статичні методи, зазвичай, виконують якусь глобальну, загальну функцію, обробляють «зовнішні дані». Наприклад, сортування масиву, обробка рядка, зведення числа в ступінь і інше.

Приклад статичного методу, який обрізає рядок до вказаної довжини, і додає крапки:

class StringHelper

{

public static string TrimIt(string s, int max)

{

if (s == null)

return string.Empty;

if (s.Length <= max)

return s;

return s.Substring(0, max) + "...";

}

}

class Program

{

static void Main(string[] args)

{

string s ="Дуже довгий рядок, який необхідно обрізати до зазначеної довжини і додати три крапки";

Console.WriteLine(StringHelper.TrimIt(s, 20)); //"Дуже довгий рядок ..."

Console.ReadLine();

}

}

Статичний метод не має доступу до нестатичних полів класу:

class SomeClass

{

private int a;

private static int b;

public static void SomeMethod()

{

a=5; // помилка

b=10; // допустимо

}

}

4,4(31 оценок)
Ответ:
ŦáêHŷùnģ
ŦáêHŷùnģ
14.07.2020

Вывод z=22.09375

Объяснение:

Вводим 47

x=47 z=1 i=0

z=(z+x/2)/2                  (1+47/2)/2      z=12.25

i=0+1       i=1

i<4       1<4 ? Да "повторяется вся операция пока i не будет совпадать с условием цикла "

z=(z+x/2)/2                  (12.25+47/2)/2        z=17.875

i=i+1                     i=1+1             i=2

i<4            2<4? Да

z=(z+x/2)/2         (17,875+47/2)/2    z=20.6875

i=i+1                     i=2+1             i=3

i<4            3<4? Да

z=(z+x/2)/2                  (20.6875+47/2)/2        z=22.09375

i=i+1                     i=3+1             i=4

i<4            4<4?  Нет

Вывод z=22.09375

"Вроде как то так если что не понятно спрашивай" Или если я ошибся где то

4,5(35 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ