• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Задачи №15 из ОГЭ по информатике.

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции
86
Добрый день, помогите пожалуйста решить задачу. На c++ решаю легко. Питон не учил, по этому хз че да как.

1) Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 7 и оканчивающихся на 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 3.


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

  • разность максимальной и минимальной скоростей автомобилей;
  • количество автомобилей, скорость которых не превышала 30 км/ч.

Программа получает на вход число проехаеших автомобилей М (1 < N < 30), затем указываются их скорости. Значение
скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести разность максимальной и минимальной
<коростей автомобилей, затем количество автомобилей, скорость которых не превышала 30 км/ч.

875a8375f91de049494d6073098e8a2f_28c12de4f7ed653b3e2ec6ae3557a356.png
 

Вложения

  • 2023-01-10_22-15-22.png
    2023-01-10_22-15-22.png
    18.1 KB · Просмотры: 119
Я не эксперт в этом плане, но возможно стоит начать учить нужный язык, а потом решать задачи?
 
Я не эксперт в этом плане, но возможно стоит начать учить нужный язык, а потом решать задачи?
мне эту задачу нужно решить всего 1 раз. Ради этого мне учить питон?
 
  • Мне нравится
Реакции: SQL
12 часов, а я пытаюсь решит задачку
короче пиздец теряю мысль на ходу завтра дорешаю
 
Последнее редактирование:
забаньте этого человека:
Expand Collapse Copy
data = [73, 13,14,133,63,0]
print(sum([i for i in data if i % 7 == 0 and str(i)[-1] == "3"]))
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
забаньте этого человека:
Expand Collapse Copy
data = [73, 13,14,133,63,0]
print(sum([i for i in data if i % 7 == 0 and str(i)[-1] == "3"]))
ты сделал только для примера из задания. По его заданию на вход получает клиент случайные числа
 
ты сделал только для примера из задания. По его заданию на вход получает клиент случайные числа
я сделал для любого примера.
сформировать корректные данные оставлю для другого человека делающего домашнее задание есготера.
 
вот так решил на с++
C++:
Expand Collapse Copy
#include <iostream>
using namespace std;


int main() {
    int a;
    int n;
    int imax_auto = 1;
    int imin_auto = 300;
    int speed_violators = 0;
    int difference = 0;
// 30 км в час ограничение
        cin >> n;
        for (int i = 0; i < n; i++) {
        cin >> a;
        if (a > 30) {
            speed_violators++;
        }
        if (a < imin_auto) {
            imin_auto = a;
        }
        if (a > imax_auto) {
            imax_auto = a;
        }
    }
    difference = imax_auto - imin_auto;
    cout << difference << endl;
    cout << speed_violators << endl;
    return 0;
}
Математические операции наверное отличаются в питоне и c++?
рил хуету написал...
 
Последнее редактирование:
а его ниче не смущает, он тупо новую задачку ебанул после решения прошлой =D
 
вот так решил на с++
C++:
Expand Collapse Copy
#include <iostream>
using namespace std;


int main() {
    int a;
    int n;
    int imax_auto = 1;
    int imin_auto = 300;
    int speed_violators = 0;
    int difference = 0;
// 30 км в час ограничение
        cin >> n;
        for (int i = 0; i < n; i++) {
        cin >> a;
        if (a > 30) {
            speed_violators++;
        }
        if (a < imin_auto) {
            imin_auto = a;
        }
        if (a > imax_auto) {
            imax_auto = a;
        }
    }
    difference = imax_auto - imin_auto;
    cout << difference << endl;
    cout << speed_violators << endl;
    return 0;
}

рил хуету написал...
Python:
Expand Collapse Copy
_total_cars = 4
_input = [ 74, 69, 63, 96 ]

def get_max_speed(speeds):
    _max = speeds[1]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
  
    return _max
  
def get_min_speed(speeds):
    _min = speeds[1]
    for i in range(0, len(speeds)):
        if _min > speeds[i]:
            _min = speeds[i]
          
    return _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
          
    return speeding_cars
  
def main():
    difference = get_max_speed(_input) - get_min_speed(_input)
    speeding_cars = get_speeding_cars(_input, 30)
  
    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)
  
main()
Не имея никакого опыта написания на питоне я прочитал лишь устройство массивов и функции len().
Вот тебе твоя задачка, разбитая на несколько функций.
 
Python:
Expand Collapse Copy
_total_cars = 4
_input = [ 74, 69, 63, 96 ]

def get_max_speed(speeds):
    _max = speeds[1]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
 
    return _max
 
def get_min_speed(speeds):
    _min = speeds[1]
    for i in range(0, len(speeds)):
        if _min > speeds[i]:
            _min = speeds[i]
         
    return _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
         
    return speeding_cars
 
def main():
    difference = get_max_speed(_input) - get_min_speed(_input)
    speeding_cars = get_speeding_cars(_input, 30)
 
    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)
 
main()
Не имея никакого опыта написания на питоне я прочитал лишь устройство массивов и функции len().
Вот тебе твоя задачка, разбитая на несколько функций.
попроще код можно?
 
попроще код можно?
А куда проще то? Ты сразу три функции не можешь у себя в голове обработать или как дела обстоят?
Ну на тебе попроще, две функции объединил в одну. Надеюсь с записью динамического количества машин у тебя проблем не возникнет

Python:
Expand Collapse Copy
_total_cars = 4
_input = [ 74, 69, 63, 96 ]

def get_difference(speeds):
    _max = speeds[0]
    _min = speeds[0]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
       
        if _min > speeds[i]:
            _min = speeds[i]
           
    return _max - _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
         
    return speeding_cars

def main():
    difference = get_difference(_input)
    speeding_cars = get_speeding_cars(_input, 30)

    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)

main()
А если уж и такие проблемы возникнут, то вот тебе решение

Python:
Expand Collapse Copy
total_cars = int(input("Ввеедите количество машин: "))
speeds = []
for i in range(0, total_cars):
    speeds.append(int(input()))


def get_difference(speeds):
    _max = speeds[0]
    _min = speeds[0]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
       
        if _min > speeds[i]:
            _min = speeds[i]
           
    return _max - _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
         
    return speeding_cars

def main():
    difference = get_difference(speeds)
    speeding_cars = get_speeding_cars(speeds, 30)

    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)

main()
 
А куда проще то? Ты сразу три функции не можешь у себя в голове обработать или как дела обстоят?
Ну на тебе попроще, две функции объединил в одну. Надеюсь с записью динамического количества машин у тебя проблем не возникнет

Python:
Expand Collapse Copy
_total_cars = 4
_input = [ 74, 69, 63, 96 ]

def get_difference(speeds):
    _max = speeds[0]
    _min = speeds[0]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
      
        if _min > speeds[i]:
            _min = speeds[i]
          
    return _max - _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
        
    return speeding_cars

def main():
    difference = get_difference(_input)
    speeding_cars = get_speeding_cars(_input, 30)

    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)

main()
А если уж и такие проблемы возникнут, то вот тебе решение

Python:
Expand Collapse Copy
total_cars = int(input("Ввеедите количество машин: "))
speeds = []
for i in range(0, total_cars):
    speeds.append(int(input()))


def get_difference(speeds):
    _max = speeds[0]
    _min = speeds[0]
    for i in range(0, len(speeds)):
        if _max < speeds[i]:
            _max = speeds[i]
      
        if _min > speeds[i]:
            _min = speeds[i]
          
    return _max - _min

def get_speeding_cars(speeds, limit):
    speeding_cars = 0
    for i in range(0, len(speeds)):
        if speeds[i] > limit:
            speeding_cars = speeding_cars + 1
        
    return speeding_cars

def main():
    difference = get_difference(speeds)
    speeding_cars = get_speeding_cars(speeds, 30)

    print("Difference between max and min speed: ", difference)
    print("Total cars that speeded more 30 than kmph: ", speeding_cars)

main()
хз, просто мне все говорили, что на плюсах, что бы решить задачу, массивы юзать надо. Я без них справился. Думал на питоне тоже без них можно
 
хз, просто мне все говорили, что на плюсах, что бы решить задачу, массивы юзать надо. Я без них справился. Думал на питоне тоже без них можно
Это что то на уровне:
"Вот тебе фича крутая, помогает решать 99% твоих проблем, но ты не юзай ее, ибо ты че, долбоеб что ли? Решай сам, думай как я сделал эту фичу и вообще иди нахуй"
 
Назад
Сверху Снизу