Program p1; var sr,sr1:real; p,i:integer; begin Write('Введите число учащихся: '); Readln(p); sr:=0; sr1:=0; for i:=1 to p do begin Write('Введите средний балл ученика: '); readln(sr1); sr:=sr+sr1; end; Writeln('Средний балл группы равен: ',sr/p); <span>end.</span>
<span>Для начала поясню что
значат * и ? в маске. *-это последовательность символов, то есть любое
количество символов. От 0 до бесконечности. Нам не важно что это за символы
важен сам факт их существования или не существования. ?-это только один символ.
Опять же, не важно какой, главное, чтобы он был там.
Первая маска: A?B*.*C?*</span>. Её можно интерпретировать как A[любой символ]B[последовательность
символов или ничего]. [последовательность символов или ничего]C[любой символ] [последовательность
символов или ничего].
Под такие условия подходят 5 файлов, которые переходят в каталог friends:
ABBCBD.CDDBA
ACBDC.ACBA
AABBCCDD.DDCCD
ACBCACD.AABBCCDD
ADBCCAD.CADABC
Почему не подходят остальные? ABDCC.ACBDA – нет символа в начале между A и B. BABCDA.ABCD
- нет символа A в начале. AABACADA?CDBDADCB
– нет точки.
Следующая маска: *B?C*.??*D*. На человеческий: [любой символ] B] [последовательность
символов или ничего]C[любой символ]. [любой символ] [любой символ] [последовательность
символов или ничего]D [последовательность символов или ничего]
Результат – 3 файла в папке family :
ABBCBD.CDDBA
AABBCCDD.DDCCD
ADBCCAD.CADABC
Остальные: ACBCACD.AABBCCDD – после единственной B сразу идёт C; ACBDC.ACBA
– после точки нет D<span>. Ответ:
ABBCBD.CDDBA
AABBCCDD.DDCCD</span>
ADBCCAD.CADABC