Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
#1

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача) - Pascal

05.06.2013, 16:13. Просмотров 1309. Ответов 13
Метки нет (Все метки)

Доброго времени суток,форумчане.
Хотелось бы попросить помощи в решении одной задачи от умных голов.



Задача: В некотором государстве ввели компьютерный паспорт гражданина. При рождении ребенка туда заносили информацию о его половой принадлежности, то есть : (вложение 1)Задача: В некотором государстве  ввели компьютерный паспорт гражданина.(задача)


Входные данные.
По записям в паспорте укажите пол гражданина и последовательность произошедших в его жизни событий. (вложение 2)
Задача: В некотором государстве  ввели компьютерный паспорт гражданина.(задача)

Выходные данные: Паспорт выдан женщине, имеющей водительские права, образование и состоит в браке.

Заранее спасибо, я очень надеюсь на вас :3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 16:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача) (Pascal):

Задача на k-тую цифру последовательности, задача на схему Горнера.
Ну, собственно опять прошу помощи... Задача 1: Определить k-тую цифру...

Задача на файл и задача на создание очереди
1 Дан символьный файл, содержащий, по крайней мере, один символ пробела....

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За...

Первая смешанная задача для волнового уравнения на отрезке (задача о колебаниях ограниченной струны) методом Фурье
Решить первую смешанную задачу для волнового уравнения на отрезке (задача о...

Задача о размещении весов по ящикам (задача о рюкзаках)
Есть упорядоченный по невозрастанию набор весов предметов w1..wn, которые...

Задача о размене -задача динамического программирования?
Является ли задача о размене суммы задачей динамического программирования? Мне...

13
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 17:18 #2
Смотрим, 3 на диагоналях ни чем не перекрыты, это означает, что последнее событие в ее жизни- это брак, смотрим дальше, 2 на вертикали и горизантали перекрыты тольоко 3-ами , а это значит, что это событие произошло перед браком (получила образование), дальше, -1 перекрыты 4-ами снизу, а значит второе событие это получение водительских прав, а учитывая то, что тут -1ы, это девушка:
получившаяся последовательность: рождение (женщина)--> получение водительских прав--> получение образования--> брак

Добавлено через 33 секунды
это нужно написать программой?
1
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 17:24  [ТС] #3
Any0019, да, нужен код. Моих знаний на это не хватит
Если поможешь с кодом, с меня человеческое спасибо :3
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 17:52 #4
помогу
нужно, чтобы он сам тебе писал последовательность событий?

Добавлено через 5 минут
Я сейчас поем и допишу тебе програмку, самое позднее через 1,5 часа будет точно готово.
1
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 18:01  [ТС] #5
да. Мы заполняем вручную матрицу, после чего он должен будет расписать последовательность. Но так же не упускать тот вариант, что образования, прав , брака может и не быть.

Добавлено через 38 секунд
Добавлено через 5 минут
Я сейчас поем и допишу тебе програмку, самое позднее через 1,5 часа будет точно готово.
приятного аппетита :3
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 19:15 #6
Спасибо
Все, готово, чесно говоря, мне казалось, что програмка будет попроще, прости за задержку:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
program pasport;
 
uses
  GraphABC;
 
var
  a: array [1..5] of array [1..5]of integer;
  x, y: integer;
  brak, obraz, vodit: boolean;
  z: array [1..4] of string; {Массив, в котором содержится последовательность событий}
  q: array [1..3] of string;{Промежуточная последовательность}
 
begin
  for y := 1 to 5 do
  begin
    writeln();
    for x := 1 to 5 do 
    begin{Если пусто, то ставить 0}
      read(a[x, y]); {Заполнение матрицы 5 на 5}
      write(a[x, y], ' '); {Вывод на экран матрицы 5 на 5}
    end;
  end;
  writeln();
  {-----------}
  if a[1, 2] = 1 then z[1] := 'Мужчины' else if a[1, 2] = -1 then z[1] := 'Женщины';
  if a[1, 1] = 3 then brak := true else brak := false; {Проверяет есть или нет то или иное событие}
  if a[2, 3] = 2 then obraz := true else obraz := false; {На этом этапе стараемся максимально их друг с другом не "смешивать"}
  if a[2, 5] = 4 then vodit := true else vodit := false; {То есть делаем их абсолютно не зависимыми}
  {-----------}
  if (brak = true) and (obraz = true) then if a[3, 3] = 3 then q[1] := 'Брак' else q[1] := 'Образование';
  if (brak = true) and (vodit = true) then if a[2, 2] = 3 then q[2] := 'Брак' else q[2] := 'Получение прав';
  if (obraz = true) and (vodit = true) then if a[1, 3] = 2 then q[3] := 'Образование' else q[3] := 'Получение прав'; {Попарная частота}
  {>>>>>>>>>>>}
  if (q[1] <> '') and (q[2] = '') and (q[3] = '') then 
  begin
    z[3] := q[1];
    if q[1] = 'Брак' then z[2] := 'Образование' else z[2] := 'Брак';
  end;
  if (q[1] = '') and (q[2] <> '') and (q[3] = '') then 
  begin
    z[3] := q[2];
    if q[1] = 'Брак' then z[2] := 'Получение прав' else z[2] := 'Брак';
  end;
  if (q[1] = '') and (q[2] = '') and (q[3] <> '') then 
  begin
    z[3] := q[3];
    if q[1] = 'Получение прав' then z[2] := 'Образование' else z[2] := 'Получение прав';
  end;
  {>>>>>>>>>>>}
  if (q[1] = 'Брак') and (q[2] = 'Брак') then
  begin
    z[4] := 'Брак';
    if q[3] = 'Образование' then 
    begin
      z[3] := 'Образование';
      z[2] := 'Получение прав';
    end
    else 
    begin
      z[2] := 'Образование';
      z[3] := 'Получение прав';    
    end;
  end;
  {+++}
  if (q[1] = 'Образование') and (q[3] = 'Образование') then 
  begin
    z[4] := 'Образование';
    if q[3] = 'Брак' then 
    begin
      z[3] := 'Брак';
      z[2] := 'Получение прав';
    end
    else 
    begin
      z[2] := 'Брак';
      z[3] := 'Получение прав';    
    end;
  end;
  {+++}
  if (q[2] = 'Получение прав') and (q[3] = 'Получение прав') then 
  begin
    z[4] := 'Получение прав';
    if q[3] = 'Брак' then 
    begin
      z[3] := 'Брак';
      z[2] := 'Получение прав';
    end
    else 
    begin
      z[2] := 'Брак';
      z[3] := 'Получение прав';    
    end;
  end;
  {Самый частый элемент}
  {-----------}
  {Теперь если только одно событие произошло}
  if (brak = true) and (obraz <> true) and (vodit <> true) then z[2] := 'Брак';
  if (brak <> true) and (obraz = true) and (vodit <> true) then z[2] := 'Образование';
  if (brak <> true) and (obraz <> true) and (vodit = true) then z[2] := 'Получение прав';
  {Теперь выводим на экран результат}
  write('Рождение ', z[1]);
  if z[2] <> '' then write(' --> ', z[2]);
  if z[3] <> '' then write(' --> ', z[3]);
  if z[4] <> '' then write(' --> ', z[4]);
end.
Возможно ее можно сделать проще, но я сделал вот так.

Добавлено через 5 минут
И, кстати, если можно поинтересоваться, а вам сколько лет?
1
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 19:15  [ТС] #7
Спасибо за задачу, щас буду сидеть разбираться. Возраст- не вопрос. Мне 18, студент.
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 19:16 #8
ясно, мне 15, школьник)

Добавлено через 9 секунд
не за что)
1
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 19:17  [ТС] #9
:3 Хорош, далеко пойдешь.
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 19:18 #10
Спасибо) Меня Антон зовут)
0
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 19:21  [ТС] #11
a: array [1..5,1..5]of integer;

Добавлено через 32 секунды
Меня тоже Антоном зовут.
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
05.06.2013, 19:31 #12
Классно)) Да, можно и так задать.
1
mysql69
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 12
05.06.2013, 20:29  [ТС] #13
Антох, а варик с тобой связаться поговорить? скажем Ася, вк, стим, или же скайп да где угодно?
0
Any0019
95 / 14 / 13
Регистрация: 26.05.2012
Сообщений: 57
06.06.2013, 01:25 #14
Я могу сейчас сказать скайп, а контакт уже только в скайпе скажу -- enakin0019 или ФИ Наумов Антон
0
06.06.2013, 01:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2013, 01:25
Привет! Вот еще темы с решениями:

Задача линейного программирования, транспортная задача
Всем привет. сижу на экзамене, помогите пожалуйста решить,сроно!!! заранее...

Задача Дам или задача Восьми
помогите найти ошибку в алгоритме. не находит ответ подозреваю ошибку в k, i,...

Задача Коши и краевая задача
Помогите кто чем может))

Задача работы с массивом и задача работы с формой
Помогите пожалуйста. Никак не могу разобраться с решением 2х задач: 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru