Записи в виде массивов полей. - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д