Дано количество студентов. ввести имена студентов и их год рождения. определить через сколько лет они получат право голоса или сделать ывод, чтоони имеют право голоса
CLS DIM n AS INTEGER INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n INPUT "Введите имя студента:", studentName(i) INPUT "Введите год рождения студента:", studentYearsOld(i) NEXT i PRINT FOR i = 1 TO n PRINT "Студент "; studentName(i) studentYrs = 2016 - studentYearsOld(i) IF studentYrs < 18 THEN PRINT "Лет до права голоса:"; 18 - studentYrs ELSEIF studentYrs >= 18 THEN PRINT "Студент уже имеет право голоса!" PRINT END IF studentYrs = 0 NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.
zazaza74
05.03.2023
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2). Сделать это можно так: while not eof(fr) and (kol=0) do begin read(fr, Marshrut); if (Marshrut.NK.N <> '11') then write(fr2,Marshrut) else begin inc(kol); y:=Marshrut; end; end; if not eof(fr) then begin read(fr, Marshrut); write(fr2,Marshrut); end; if (kol=1) then write(fr2,y); Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант: (здесь k1 и k2 - целые, а y - типа ) if (Marshrut.NK.N = '11') then begin writeln('... '); inc(kol); y:=Marshrut; k1:=FilePos(fr)-1; k2:=FilePos(fr); if not eof(fr) then begin read(fr, Marshrut); seek (fr, k1); write(fr, Marshrut); seek (fr, k2); write (fr, y); end;
end;
Ивлев1508
05.03.2023
2 бита в двоичной системе дают 4 возможных комбинации. То есть вероятность извлечения белого шара 1/4, то (исходное целое делим на количество комбинаций) . Таким образом, получаем, что всего шаров: белых - одна часть, а чёрных - три. То есть белых шаров в 3 раза меньше: 18 / 3 = 6 (штук) . А всего шаров: 18 чёрных + 6 белых = 24
или
Пусть в корзине всего x шаров, тогда среди них x-18 белых.
Вероятность того, что из корзины будет вынут белый шар равна P=(x-18)/x Количество собственной информации равно I=log2(1/P)=log2(1/(x-18)/x))=log2(x/(x-18))
Дано количество студентов. ввести имена студентов и их год рождения. определить через сколько лет они получат право голоса или сделать ывод, чтоони имеют право голоса
DIM n AS INTEGER
INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER
DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n
INPUT "Введите имя студента:", studentName(i)
INPUT "Введите год рождения студента:", studentYearsOld(i)
NEXT i
PRINT
FOR i = 1 TO n
PRINT "Студент "; studentName(i)
studentYrs = 2016 - studentYearsOld(i)
IF studentYrs < 18 THEN
PRINT "Лет до права голоса:"; 18 - studentYrs
ELSEIF studentYrs >= 18 THEN
PRINT "Студент уже имеет право голоса!"
PRINT
END IF
studentYrs = 0
NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.