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

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

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


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

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

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

875a8375f91de049494d6073098e8a2f_28c12de4f7ed653b3e2ec6ae3557a356.png
 

Вложения

Начинающий
Статус
Оффлайн
Регистрация
9 Авг 2019
Сообщения
164
Реакции[?]
10
Поинты[?]
1K
Я не эксперт в этом плане, но возможно стоит начать учить нужный язык, а потом решать задачи?
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции[?]
86
Поинты[?]
23K
Я не эксперт в этом плане, но возможно стоит начать учить нужный язык, а потом решать задачи?
мне эту задачу нужно решить всего 1 раз. Ради этого мне учить питон?
 
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2021
Сообщения
244
Реакции[?]
23
Поинты[?]
18K
12 часов, а я пытаюсь решит задачку
короче пиздец теряю мысль на ходу завтра дорешаю
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
650
Реакции[?]
141
Поинты[?]
30K
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
забаньте этого человека:
data = [73, 13,14,133,63,0]
print(sum([i for i in data if i % 7 == 0 and str(i)[-1] == "3"]))
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
забаньте этого человека:
data = [73, 13,14,133,63,0]
print(sum([i for i in data if i % 7 == 0 and str(i)[-1] == "3"]))
ты сделал только для примера из задания. По его заданию на вход получает клиент случайные числа
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
ты сделал только для примера из задания. По его заданию на вход получает клиент случайные числа
я сделал для любого примера.
сформировать корректные данные оставлю для другого человека делающего домашнее задание есготера.
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции[?]
86
Поинты[?]
23K
вот так решил на с++
C++:
#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++?
рил хуету написал...
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,595
Реакции[?]
603
Поинты[?]
44K
а его ниче не смущает, он тупо новую задачку ебанул после решения прошлой =D
 
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
вот так решил на с++
C++:
#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:
_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().
Вот тебе твоя задачка, разбитая на несколько функций.
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции[?]
86
Поинты[?]
23K
Python:
_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().
Вот тебе твоя задачка, разбитая на несколько функций.
попроще код можно?
 
Эксперт
Статус
Оффлайн
Регистрация
13 Сен 2020
Сообщения
1,415
Реакции[?]
713
Поинты[?]
10K
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
попроще код можно?
А куда проще то? Ты сразу три функции не можешь у себя в голове обработать или как дела обстоят?
Ну на тебе попроще, две функции объединил в одну. Надеюсь с записью динамического количества машин у тебя проблем не возникнет

Python:
_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:
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()
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
1,001
Реакции[?]
86
Поинты[?]
23K
А куда проще то? Ты сразу три функции не можешь у себя в голове обработать или как дела обстоят?
Ну на тебе попроще, две функции объединил в одну. Надеюсь с записью динамического количества машин у тебя проблем не возникнет

Python:
_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:
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()
хз, просто мне все говорили, что на плюсах, что бы решить задачу, массивы юзать надо. Я без них справился. Думал на питоне тоже без них можно
 
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
хз, просто мне все говорили, что на плюсах, что бы решить задачу, массивы юзать надо. Я без них справился. Думал на питоне тоже без них можно
Это что то на уровне:
"Вот тебе фича крутая, помогает решать 99% твоих проблем, но ты не юзай ее, ибо ты че, долбоеб что ли? Решай сам, думай как я сделал эту фичу и вообще иди нахуй"
 
Сверху Снизу