Записи в виде массивов полей. - 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
Листинг программы
  1. const
  2.     N = 8;
  3.     CURRENTYEAR = 2016;
  4. var
  5.     v: Array[1..N] Of 1899..2016;
  6.     p: Array[1..N] Of Boolean;
  7.     s: Array[1..N] Of Boolean;
  8.     i: 1..N;
  9.     k55, kAll: 0..N;
  10.     c: Char;
  11. begin
  12.     k55 := 0;
  13.     kAll := 0;
  14.     for i := 1 to N do
  15.     begin
  16.         Write(i, '-й сотрудник:');
  17.         Write('Год рождения: '); ReadLn(v[i]);
  18.         repeat
  19.             Write('Пол сотрудника (0 - женский | 1 - мужской): ');
  20.             Read(c);
  21.         until (c in ['0', '1']);
  22.         p[i] := (c = '1');
  23.         repeat
  24.             Write('Семейное положение сотрудника (0 - не в браке | 1 - в браке): ');
  25.             Read(c);
  26.         until (c in ['0', '1']);
  27.         s[i] := (c = '1');
  28.         if (Not p[i])
  29.         then
  30.         begin
  31.             Inc(kAll);
  32.             if (CURRENTYEAR - v[i] < 55)
  33.             then
  34.                 Inc(k55);
  35.         end;
  36.     end;
  37.     WriteLn;
  38.     if (kAll <> 0)
  39.     then
  40.         WriteLn('k=', (100*k55/kAll):0:2)
  41.     else
  42.         WriteLn('Ни одной женщины в списке!');
  43. end.

Объяснение кода листинга программы

  1. В начале кода объявляются переменные N, CURRENTYEAR, v, p, s, i, k55, kAll, c.
  2. Затем происходит инициализация переменных: k55 и kAll устанавливаются равными 0, а в v[i] записывается год рождения сотрудника.
  3. Далее идет цикл for, который выполняется для каждого сотрудника от 1 до N. Внутри цикла выводятся данные о сотруднике: его номер, пол и семейное положение. Переменная p[i] устанавливается равной 1, если сотрудник женат, и считывается значение переменной c. Переменная s[i] также устанавливается равной 1, если сотрудник женат.
  4. После этого проверяется, не состоит ли сотрудник в браке (проверка выполняется через значение переменной p[i]). Если сотрудник не женат, то увеличивается значение переменной kAll. Если текущий год меньше возраста сотрудника, то увеличивается значение переменной k55.
  5. По окончании цикла for выводится сообщение о количестве женщин в списке. Если kAll равно 0, то выводится сообщение Ни одной женщины в списке!.
  6. Код завершается вызовом функции WriteLn.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы