Текст приведенной ниже программы организует ввод данных и запись их в типизированный файл. Для завершения ввода в качестве названия надо ввести символ "звездочка" ( * ).
type song=record name,style:string[20]; duration:real end; var f:file of song; r:song; begin Assign(f,'MySongs.dat'); Rewrite(f); Writeln('Вводите данные в порядке "наименование, стиль, длительность'); Writeln('Для окончания ввода укажите символ * вместо наименования'); repeat Readln(r.name); if r.name<>'*' then begin Readln(r.style); Readln(r.duration); Write(f,r) end until r.name='*'; Close(f) end.
d43irina
28.05.2021
Переведем 57 в двоичное: 57 / 2 = 28 (в остатке 1) 28 / 2 = 14 (в остатке 0) 14 / 2 = 7 (в остатке 0) 7 / 2 = 3 (в остатке 1) 3 / 2 = 1 (в остатке 1) 1 / 2 = 0 (в остатке 1) 57(10) = 111001(2) Переведем 48 в двоичное: 48 / 2 = 24 (в остатке 0) 24 / 2 = 12 (в остатке 0) 12 / 2 = 6 (в остатке 0) 6 / 2 = 3 (в остатке 0) 3 / 2 = 1 (в остатке 1) 1 / 2 = 0 (в остатке 1) 48(10) = 110000(2)
111001
110000
Первый бит в обоих случаях равен 1, значит, первый бит маски тоже равен 1. Второй бит в обоих случаях равен 1, значит, второй бит маски тоже равен 1. Третий бит в IP-адресе равен 1, а в адресе сети равен 0, значит, третий бит маски равен 0. Если третий бит маски равен нулю, то все остальные биты маски тоже равны нулю. Но при переводе десятичных чисел в двоичные мы получили 6-битовое двоичное число, а нам нужно 8-битовое. Значит, слева добавляем два нуля.
00111001
00110000
Свойство маски гласит, что в ней сначала до некоторого разряда записаны только единицы, а затем только нули. Значит, первый и второй бит в новом представлении маски равны 1. Искомая маска: 11110000(2). Переведем 11110000 в десятичное число. (1*2^7)+(1*2^6)+(1*2^5)+(1*2^4)+(0*2^3)+(0*2^2)+(0*2^1)+(0*2^0)=128+64+32+16=240 ответ: 240(10)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Яка подія форми закриває вікно під час завершення виконання проектає
type
song=record
name,style:string[20];
duration:real
end;
var
f:file of song;
r:song;
begin
Assign(f,'MySongs.dat');
Rewrite(f);
Writeln('Вводите данные в порядке "наименование, стиль, длительность');
Writeln('Для окончания ввода укажите символ * вместо наименования');
repeat
Readln(r.name);
if r.name<>'*' then begin
Readln(r.style);
Readln(r.duration);
Write(f,r)
end
until r.name='*';
Close(f)
end.