Записи в виде массивов полей. - Turbo Pascal
Формулировка задачи:
Помогите написать программку
Условия задачи:
В Автоматизированной информационной системе содержатся анкетные данные сотрудников учреждения.
В Массиве V(8) содержаться года рождения сотрудников,
В Массиве P(8) - Сведения о поле,
В Массиве S(8) - Сведения о семейном положении.
Элемент массива V с номером N- год рождения сотрудника N,
Элемент массива P с номером N - Сведения о поле сотрудника N,
Элемент S с номером N - сведения о семейном положении сотрудника N/
P(N) = 0, сотрудник N женского пола
P(N) = 1, Сотрудник N мужского пола
S(N) = 0, сотрудник N холост(не замужем)
S(N) = 1, сотрудник N Женат (Замужем)
определить процентное соотношение
k = количество женщин в возрасте до 55/общее количество женщин х 100
Решение задачи: «Записи в виде массивов полей.»
textual
Листинг программы
const N = 8; CURRENTYEAR = 2016; var v: Array[1..N] Of 1899..2016; p: Array[1..N] Of Boolean; s: Array[1..N] Of Boolean; i: 1..N; k55, kAll: 0..N; c: Char; begin k55 := 0; kAll := 0; for i := 1 to N do begin Write(i, '-й сотрудник:'); Write('Год рождения: '); ReadLn(v[i]); repeat Write('Пол сотрудника (0 - женский | 1 - мужской): '); Read(c); until (c in ['0', '1']); p[i] := (c = '1'); repeat Write('Семейное положение сотрудника (0 - не в браке | 1 - в браке): '); Read(c); until (c in ['0', '1']); s[i] := (c = '1'); if (Not p[i]) then begin Inc(kAll); if (CURRENTYEAR - v[i] < 55) then Inc(k55); end; end; WriteLn; if (kAll <> 0) then WriteLn('k=', (100*k55/kAll):0:2) else WriteLn('Ни одной женщины в списке!'); end.
Объяснение кода листинга программы
- В начале кода объявляются переменные N, CURRENTYEAR, v, p, s, i, k55, kAll, c.
- Затем происходит инициализация переменных: k55 и kAll устанавливаются равными 0, а в v[i] записывается год рождения сотрудника.
- Далее идет цикл for, который выполняется для каждого сотрудника от 1 до N. Внутри цикла выводятся данные о сотруднике: его номер, пол и семейное положение. Переменная p[i] устанавливается равной 1, если сотрудник женат, и считывается значение переменной c. Переменная s[i] также устанавливается равной 1, если сотрудник женат.
- После этого проверяется, не состоит ли сотрудник в браке (проверка выполняется через значение переменной p[i]). Если сотрудник не женат, то увеличивается значение переменной kAll. Если текущий год меньше возраста сотрудника, то увеличивается значение переменной k55.
- По окончании цикла for выводится сообщение о количестве женщин в списке. Если kAll равно 0, то выводится сообщение
Ни одной женщины в списке!
. - Код завершается вызовом функции WriteLn.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д