Блок схема программы
Определение входных данных
строка для обработки
Определение выходных данных
строка для обработки,измене<wbr />нная строка или сообщение "Нет символов для замены"
код программы:
void main()
{
char mystr[256],z='*';
int i;
printf("Введите строку\n");
scanf("%s",mystr);
printf("Исходная строка:%s\n",mystr);
if(strchr(mystr,z)==<wbr />NULL){printf("Нет символов для замены\n");}
else{
for(i=strlen(mystr);<wbr />i>0;i--){
mystr[i]=(mystr[i]==<wbr />'*'?'7':mystr[i]);
}
printf("Измененная строка:%s",mystr);
}
}
пример выдачи:
**йцукен*гшщзх*фыва*<wbr />*
Исходная строка:йцукен*гшщзх*<wbr />фыва
Измененная строка:йцукен7гшщзх7<wbr />фыва
Предположим, что все студенты получают только одну оценку, например, 3.
Тогда сообщение "Студент получил 3" несет 0 бит информации, потому что и без этого сообщения ясно, что он может получить только 3, и ничего больше.
Допустим, студент может получить одну из двух оценок, например, 3 или 4.
Тогда сообщение "Студент получил 3" несет 1 бит информации, их можно условно обозначить "0", если оценка 3 и "1", если 4.
Если 4 разных оценки, 4 = 2^2, то сообщение несет 2 бита информации. Если бы разных оценок было 8, то было бы 3 бита.
на самом деле даже если не знать что такое шифр цезаря, то можно догадаться что в задаче на тему фиксиков и ответ будет на тему фиксиков.
так что в принципе единственный логичный ответ это а) фиксик.
ну и проверить можно узнав что такое шифр цезаря. В общем это такой метод кодирования, когда каждую букву исходного слова сдвигают в алфавите на определенное количество позиций и вместо нее записывают ту букву которая получилась. так что для проверки надо лишь проверить все варианты и посмотреть можно ли из них получить то что дано в условии задачи при смещении на одно и тоже количество позиций.
итак фиксик. от буквы ф до ё 18 символов, от и до ъ 18, от к до ь тоже... и т.д. в общем подходит.
ответ а) фиксик
Допустим, 1 игрок загадал 1
2 игрок называет 128, получает ответ "меньше". Это первый бит.
Он называет 64 (это второй бит), потом 32, потом 16, потом 8, потом 4, потом 2, потом 1.
Всего он получает 8 бит информации.
Насколько я помню, линейные алгоритмы состоят из достаточно простых, но в то же время базовых операторов. Такими операторами являются оператор присваивания значения переменным, создание этих переменных, резервирование под них места и команды ввода - вывода данных, внесенных в программу пользователем.
Если смотреть с точки зрения пользователя, то оператора два: ввод-вывод и присваивание значения.