Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.) Определите длину кратчайшего пути между пунктами A и F (при условии, что передвигаться можно только по построенным дорогам). (Желательно с объяснением)
1) Program lapy; var lapy:integer; Begin Writeln('Сколько лап?'); Readln(lapy); If lapy=0 then Writeln('Это рыба'); if lapy=2 hten Writeln('Это птица'); if lapy=4 then Writeln('Это лось'); if lapy=6 then Writeln('Это жук'); if lapy=8 then Writeln('Это паук'); end. 2) Program kinotheatr; var mesto:integer; Begin Writel('Укажите Ваше место:'); Readln(mesto); if (mesto>=1) and (mesto<=10) then Writeln('Цена 150р.'); if (mesto>=11) and (mesto<=15) then Writeln('Цена 100р.'); if (mesto>=16) and (mesto<=20) then Writeln('Цена 75р.'); End.
Поясню, как выполнять сложение в восьмеричной системе счисления (8 с/с). Основание 8 с/с - число 8 - на 2 меньше основания привычной нам десятичной системы. Вследствие этого, в 8 с/с мы переходим к следующему разряду (от единиц к десяткам, от десятков к сотням и т.д.) НА ДВА РАНЬШЕ (потому что, как написано выше, 10-8=2), чем в десятичной.
Что это означает практически? Это означает, что любое число, большее или равное 8, в 8 с/с должно быть УВЕЛИЧЕНО НА 2. Т.е. 2+7 равно не 9, а 9+2=11, 3+9 равно не 12, а 14 и т.п.
Вернемся к исходному примеру. Начинаем с единиц. 2+1=3. Ничего не меняем, пишем 3. 3+7=10, больше 8, поэтому прибавляем 2 и получаем 12. Пишем двойку, а единицу, как обычно при сложении "в столбик", переносим в следующий разряд. 6+5=11, больше 8, прибавляем 2 и получаем 13. Плюс единица, пришедшая из предыдущего разряда, итого 14. 4 пишем, единицу - в следующий разряд. 5+1=6, плюс единица от переноса, итого 7. Меньше 8, поэтому так и пишем. И последнее, 4+2=6, меньше 8, записываем 6. Пример решен.
Program lapy;
var lapy:integer;
Begin
Writeln('Сколько лап?');
Readln(lapy);
If lapy=0 then Writeln('Это рыба');
if lapy=2 hten Writeln('Это птица');
if lapy=4 then Writeln('Это лось');
if lapy=6 then Writeln('Это жук');
if lapy=8 then Writeln('Это паук');
end.
2)
Program kinotheatr;
var mesto:integer;
Begin
Writel('Укажите Ваше место:');
Readln(mesto);
if (mesto>=1) and (mesto<=10) then Writeln('Цена 150р.');
if (mesto>=11) and (mesto<=15) then Writeln('Цена 100р.');
if (mesto>=16) and (mesto<=20) then Writeln('Цена 75р.');
End.
+ 255.71
674.23
Поясню, как выполнять сложение в восьмеричной системе счисления (8 с/с). Основание 8 с/с - число 8 - на 2 меньше основания привычной нам десятичной системы. Вследствие этого, в 8 с/с мы переходим к следующему разряду (от единиц к десяткам, от десятков к сотням и т.д.) НА ДВА РАНЬШЕ (потому что, как написано выше, 10-8=2), чем в десятичной.
Что это означает практически? Это означает, что любое число, большее или равное 8, в 8 с/с должно быть УВЕЛИЧЕНО НА 2. Т.е. 2+7 равно не 9, а 9+2=11, 3+9 равно не 12, а 14 и т.п.
Вернемся к исходному примеру. Начинаем с единиц. 2+1=3. Ничего не меняем, пишем 3. 3+7=10, больше 8, поэтому прибавляем 2 и получаем 12. Пишем двойку, а единицу, как обычно при сложении "в столбик", переносим в следующий разряд. 6+5=11, больше 8, прибавляем 2 и получаем 13. Плюс единица, пришедшая из предыдущего разряда, итого 14. 4 пишем, единицу - в следующий разряд. 5+1=6, плюс единица от переноса, итого 7. Меньше 8, поэтому так и пишем. И последнее, 4+2=6, меньше 8, записываем 6. Пример решен.