Информатика пәнінен № 4416 тапсырма: Алгоритмдер және программалау (Функция, Рекурсия, жолдармен жұмыс, файлдармен жұмыс, сұрыптау, граф)

Алгоритмдер және программалау (Функция, Рекурсия, жолдармен жұмыс, файлдармен жұмыс, сұрыптау, граф)Мәтін бойынша · орташа

Бағдарламалау үйірмесі мектеп турнирі үшін бағдарлама әзірлеп жатыр. Қатысушылардың нәтижелері results.txt мәтіндік файлында сақталады, әр қатысушыға бір жол, пішімі «Тегі;сынып;ұпай», мысалы «Ахметов;9;72». Жол «;» таңбасы бойынша бөліктерге бөлінеді. len функциясы жолдағы барлық таңбалардың, соның ішінде «;» таңбасының да санын қайтарады. Файлда алты жазба бар: «Ахметов;9;72», «Беков;10;85», «Ким;9;85», «Сулейменова;11;64», «Дюсенов;10;90», «Омарова;9;58». Қатысушыларды ретке келтіру үшін ұпайлары бойынша кему ретімен көпіршікті сұрыптау қолданылады: өту тізімнің басынан соңына дейін бір рет орындалады, көрші элементтер кезекпен салыстырылады және солдағысы оңдағысынан кіші болса, олардың орындары ауыстырылады. Нәтиженің бақылау санын табу үшін sum_digits(n) рекурсивті функциясы қолданылады: егер n < 10 болса, нәтиже n-ге тең; әйтпесе нәтиже (n mod 10) + sum_digits(n div 10), мұндағы mod — бөлгендегі қалдық, ал div — бөлгендегі бүтін бөлік. Файлды әртүрлі режимде ашуға болады: «r» — тек оқу, «w» — жазу, бұл кезде файлдың бұрынғы мазмұны өшіріледі, «a» — файлдың соңына жазу. Турнирден кейін қатысушылар A пунктінен E пунктіне барады. A, B, C, D, E пункттері екі жақты жолдармен жалғасқан: A–B 4 км, A–C 2 км, B–C 1 км, B–D 5 км, C–D 8 км, D–E 3 км. Бағдарлама бұл жол желісін граф ретінде сақтайды: пункттер — төбелер, жолдар — ұзындығы бар қабырғалар.

Файлдағы қатысушылардың ұпайлары мынадай ретпен тұр: 72, 85, 85, 64, 90, 58. Кему ретімен көпіршікті сұрыптаудың бірінші өтуінен кейін ұпайлар қандай ретпен тұрады?

  1. A85, 85, 72, 90, 64, 58
  2. B85, 72, 85, 64, 90, 58
  3. C85, 85, 72, 64, 90, 58
  4. D90, 85, 85, 72, 64, 58
Жауап пен талдауды көрсетуЖауап пен талдауды жасыру

Дұрыс жауап

  • A85, 85, 72, 90, 64, 58

Талдау

Солдан оңға қарай жүреміз. 72 < 85, ауыстырамыз: 85, 72, 85, 64, 90, 58. 72 < 85, ауыстырамыз: 85, 85, 72, 64, 90, 58. 72 > 64, ауыстырмаймыз. 64 < 90, ауыстырамыз: 85, 85, 72, 90, 64, 58. 64 > 58, ауыстырмаймыз. Бірінші өтуден кейін «85, 85, 72, 90, 64, 58» шығады. Толық сұрыпталған тізім бірнеше өтуден кейін ғана шығады.

Тапсырмадағы қате

Шартындағы, нұсқаларындағы немесе талдауындағы қатені сипаттаңыз. 1000 таңбадан аспасын.

Осы тақырып бойынша ұқсас тапсырмалар

Тақырыптағы барлық 16 тапсырма

«Информатика» пәні бойынша репетиторлар

Тренажер

Осы тақырыпты жаттықтырыңыз

16 тапсырма бір-бірден, жауабы мен талдауы бірден көрсетіледі. Уақыт шектеуі жоқ.

Өз сынағыңыз

Таймері бар сынақ жинаңыз

ҰБТ сияқты: тапсырмаға 2 минут.

Қай тапсырмалардан
Неше тапсырма