Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 114, средняя оценка - 4.61
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
#1

Определение количества абитуриентов, проживающих в городе Минске - Pascal ABC

30.10.2009, 23:03. Просмотров 14405. Ответов 123

Всем доброго времени суток. Есть задание:
Используя динамические списки, написать программу формирования ведомости абитуриентов, сдавших вступительные экзамены в институт.

В программе должны присутствовать следующие процедуры:

1. Формирование динамического списка с элементами, содержащими следующие поля:
Ф.И.О. абитуриента, постоянное место жительства, оценки по физике, математике и русскому языку.
2. Вывод списка на экран;
3. Добавление элемента в список;
4. Удаление элемента из списка;
5. Поиск элемента списка по соответствующему полю;
6. Определение количества абитуриентов, проживающих в городе Минске и сдавших экзамены со средним баллом не ниже 4. Вывести их фамилии в алфавитном порядке.
7. Запись в файл и загрузка из файла.

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

Как другие писать не буду напишите мне программу и тому подобное, сам всегда программирование делал и делать буду... Вопрос вот в чем: с чего тут начинать, список этот к клавиатуры вводить или если разу фаил сделать то сразу из файла данные брать... Плиз подскажите....
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2009, 23:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение количества абитуриентов, проживающих в городе Минске (Pascal ABC):

Определить количество абитуриентов, проживающих в г Минске - Pascal ABC
Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес, оценки. Определить количество абитуриентов,...

Считая фамилии абитуриентов и их оценки после первого экзамена исходными данными, составить список абитуриентов, допущенных ко второму экзамену - Pascal ABC
Задача 3. При поступлении в университет лица, получившие оценку "неудовлетворительно" на первом экзамене, ко второму экзамену не...

Определение количества цифр в числе - Pascal
Помогите, пожалуйста, с алгоритмом для определения количества цифр в числе.

Определение минимального количества элементов последовательности - Pascal
Навести фрагмент кода программы для определения минимального количества элементов последовательности 1/N=1.0.5,0.3333,0.25..... какие в...

Определение количества положительных элементов квадратной матрицы - Pascal ABC
Опишите на русском языке или на одном из языков программирования алгоритм определения количества положительных элементов квадратной...

Определение количества положительных и отрицательных элементов массива - Pascal ABC
Составить программу определения количества положительных и отрицательных элементов массива вещественных чисел М={mi}, i=1...t, t- число...

123
Inadequate
Retired
7707 / 2540 / 184
Регистрация: 17.10.2009
Сообщений: 5,100
30.10.2009, 23:16 #2
Цитата Сообщение от and1 Посмотреть сообщение
Как другие писать не буду напишите мне программу и тому подобное, сам всегда программирование делал и делать буду...
похвально...
Цитата Сообщение от and1 Посмотреть сообщение
Вопрос вот в чем: с чего тут начинать, список этот к клавиатуры вводить или если разу фаил сделать то сразу из файла данные брать... Плиз подскажите....
а что тут непонятного? вам нужно сделать программу которая будет представлять из себя некую БД(базу данных). вы должны предоставить пользователя возможности по работе с ней, т.е вывод, добавление и т.д... файл не создается вручную, программа должна проверить есть ли он? если есть предоставить к нему доступ, а если нет тогда создать новый... чтобы в бд что то было, туда надо что то ввести, поэтому понятно что редактирование будет производится в процессе выполнения программы... ну и конечно оформить чтобы все не было КАШЕЙ потому как писать немало...

Добавлено через 3 минуты
ах да забыл написать, сортировка (т.е. пункт 6)... не знаю как у вас будут требовать, но у нас требовали сортировку через массивы... а это не очень приятно.... но я не знаю как у вас...
0
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
31.10.2009, 00:00  [ТС] #3
спс за разъяснение, а то сижу про эти списки 3-й день читаю, так и думал что это БЗ будет. Если будут вопросы напишу
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,531
31.10.2009, 01:46 #4
У Вас главная задача стоит научиться работать со списками, поэтому создание и загрузка файла стоит у Вас в последнем пункте, самое главное для Вас - это работа со списками, указателями, вот над этим сначало и думайте. Пишите программу для работы с однонаправленным списком, имеющим нужные для вас поля и поле указатель (не забывайте его обнулять) ну и выполняйте Ваше задание пошагово...
0
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
01.11.2009, 14:06  [ТС] #5
А от списков к бс можно перейти или же мне на списках и стоит оставаться?
0
Puporev
Модератор
52830 / 40641 / 13888
Регистрация: 18.05.2008
Сообщений: 94,274
01.11.2009, 14:46 #6
Раз в задании
7
. Запись в файл и загрузка из файла.
Значит нужно будет Элементы списка загрузить в типизированный файл и дальше уже работать с ним, т.е. БД.
0
Inadequate
Retired
7707 / 2540 / 184
Регистрация: 17.10.2009
Сообщений: 5,100
01.11.2009, 14:46 #7
Цитата Сообщение от and1 Посмотреть сообщение
бс
непонятно что это такое, возможно вы имели ввиду бд. вам нужно сделать нечто подобное как в этой теме Программа для работы с динамическими массивами. Там конечно не все вам нужно но думаю что полезные участки кода для вашей программы вы найдете.

Не по теме:

и конечно не забываем нажимать кнопочку спасибо Страдальцу за его большой труд

1
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
01.11.2009, 16:28  [ТС] #8
Цитата Сообщение от Inadequate Посмотреть сообщение
непонятно что это такое, возможно вы имели ввиду бд. вам нужно сделать нечто подобное как в этой теме Программа для работы с динамическими массивами. Там конечно не все вам нужно но думаю что полезные участки кода для вашей программы вы найдете.

Не по теме:

и конечно не забываем нажимать кнопочку спасибо Страдальцу за его большой труд

спс за тему, не люблю конечно всякие процедуры и функции но что-нибудь да позаимствую, хотя там еще разобраться нужно
0
Puporev
Модератор
52830 / 40641 / 13888
Регистрация: 18.05.2008
Сообщений: 94,274
01.11.2009, 16:34 #9
Цитата Сообщение от and1 Посмотреть сообщение
не люблю конечно всякие процедуры и функции
А без них Вы программу не составите нормально. Обязательно должны они быть и вызываться из меню.
0
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
02.11.2009, 20:00  [ТС] #10
Оказалось самым веселым это делать интерфейс, вот вот уже закончу выложу на суд....
0
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
04.11.2009, 15:58  [ТС] #11
Народ хелп не могу ввести список с клавиатуры, может кто помочь кусочком кода?
0
Inadequate
Retired
7707 / 2540 / 184
Регистрация: 17.10.2009
Сообщений: 5,100
04.11.2009, 16:03 #12
вот тут прога моего одногруппника там есть некая процедура add она добавляет новый элемент в список, я думаю чуть переделаешь и пойдет:
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
type
   link = ^kom;
   kom  = record
         ini  : integer;
         next : link;
      end;
var
   pn        : link;
   arg, j, m : integer;
 
procedure add(var n : link; x, num:integer);
var
   neo, ind : link;
   i        : integer;
begin
   new(neo);
   neo^.ini:=x;
   if n=nil then begin
      n:= neo;
      neo^.next:=nil;
   end
   else if num=1 then begin
      neo^.next:=n;
      n:= neo;
   end
   else begin
      i:=0;
      ind:= n;
      while (i<>num-2) and (ind^.next<>nil) do begin
     i:= i+1;
     ind:= ind^.next;
      end;
      neo^.next:=ind^.next;
      ind^.next:= neo;
   end;
end; { add }
 
procedure del(var n : link; num:integer);
var
   neo, ind : link;
   i        : integer;
begin
   if n<>nil then begin
   if num=1 then begin
      neo:=n;
      n:=n^.next;
      dispose(neo);
   end
   else begin
      i:=0;
      ind:=n;
      while (i<>num-2) and (ind^.next<>nil) do begin
     i:=i+1;
     ind:=ind^.next;
      end;
      if ind^.next<>nil then begin
     neo:=ind^.next;
     ind^.next:=neo^.next;
     dispose(neo);
      end;
   end;
   end;
end; { del }
 
procedure veiw(n : link);
var
   ind : link;
   i   : integer;
begin
   ind:=n;
   i:=0;
   if ind=nil then writeln ('List is empty')
   else begin
      writeln; writeln('The list is');
      while ind<>nil do begin
     i:=i+1;
     writeln(i,')  ',ind^.ini);
     ind:=ind^.next;
      end;
   end;
end; { veiw }
 
procedure spec(var n : link; num:integer);
var
   ind : link;
   i   : integer;
begin
   i:=0;
   ind:=n;
   while ind<>nil do begin
      i:=i+1;
      ind:=ind^.next;
   end;
   if i<num then writeln ('The list consists of only ',i,' elements')
   else begin
      i:=0;
   while i<>num do begin
      i:= i+1;
      ind:=n;
      n:=n^.next;
      dispose(ind);
   end;
   end;
end; { spec }
 
begin
   pn:=nil;
   m:=1;
   while m<>0 do begin
      writeln; writeln;
      writeln('Type "1" to ADD new element to the list');
      writeln('Type "2" to DELETE element from the list');
      writeln('Type "3" to VEIW the list');
      writeln('Type "4" to DELETE first k-elements');
      writeln('Type "0" to exit program');
      writeln;
      readln(m);
      case m of
    1 : begin
        write('Enter new element : ');
        readln(arg);
        write('Enter place : ');
        readln(j);
        add(pn,arg,j);
         end;
    2 : begin
           write('Enter number of the element : ');
           readln(j);
           del(pn,j);
        end;
    3 : begin
           veiw(pn);
        end;
    4 : begin
           writeln('Enter number of elements : ');
           readln(j);
           spec(pn,j);
        end;
      end; { case }
   end;
end.
1
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
04.11.2009, 17:36  [ТС] #13
еще возник вопрос: как можно сделать вывод красивым списка уже сформированного, чтобы смотрелось как по столбикам?
0
Inadequate
Retired
7707 / 2540 / 184
Регистрация: 17.10.2009
Сообщений: 5,100
04.11.2009, 18:18 #14
Цитата Сообщение от and1 Посмотреть сообщение
смотрелось как по столбикам?
это как?

Добавлено через 26 минут
в любом если хочешь сделать программу "в цвете" использую модуль crt;
или можешь попробывать сделать просто аккуратно через строчки ----------- запусти в паскале, если понравится сделай тоже самое при выводе списка, только с указание номера элемента списка, ну вообщем используй фантазию...
Pascal
1
2
3
4
5
6
7
8
uses
  crt;
begin
  clrscr;
  writeln('-------------------------------------------------------------------------------');
  writeln('                       ГђГЂГЃГЋГ’ГЂ ГЏГЋ Г’Г…ГЊГ… ËÈÍÈÉÍÛÅ ÑÏÈÑÊÈ                        ');
  writeln('-------------------------------------------------------------------------------');
end.
0
and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
04.11.2009, 18:22  [ТС] #15
Цитата Сообщение от Inadequate Посмотреть сообщение
это как?
ну ФИО один столбец Адрес столбец 2 оценки 3 столбец чтобы красиво было тоесть фамилии под фамилиями адреса под адресами оценки под оценками....

Добавлено через 3 минуты
От чего при печатании списка не выводит на экран первую строку списка а печатает со 2???
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
program lr1;
uses crt;
type
  link=^elem;
  elem=record
    inf:string;
    next:link
  end;
var
  i,j,menu:integer;
  pn,arg,n:link;
  st:string;
  {Ввод списка с клавиатуры}
  procedure create(var pn,arg:link; var st:string);
  begin
    new(pn);
    pn^.next:=nil;
    pn^.inf:=st;
    arg:=pn;
  end;
  {печать списка}
  procedure print(n : link);
  var
   ind : link;
   i   : integer;
  begin
   ind:=n;
   i:=0;
   if ind=nil then writeln ('Список пуст')
              else
              begin
                 writeln;
                 writeln('В списке следующие записи:');
                while ind<>nil do
                begin
                  i:=i+1;
                  writeln(i,')  ',ind^.inf);
                  ind:=ind^.next;
                end;
              end;
  end; { print }
 
begin
  clrscr;
  pn:=nil;
  menu:=1;
  while menu<>0 do
  begin
    writeln;
    writeln('1 - Формирование списка.');
    writeln('2 - Вывод списка на экран.');
    writeln('3 - Добавление элемента в список.');
    writeln('4 - Удаление элемента из списка.');
    writeln('5 - Поиск элемента списка по соответствующему полю.');
    writeln('6 - Определение количества абитуриентов, проживающих в городе Минске и сдавших экзамены со средним баллом не ниже 4. Вывести их фамилии в алфавитном порядке.');
    writeln('7 - Запись в файл и загрузка из файла.');
    writeln('0 - Выход');
    writeln('Введите пунк меню');
    readln(menu);
    case menu of
      1 : begin
          writeln('Введите количество студентов в списке:');
          readln(j);
          writeln('Введите ФИО студента, адрес проживания, оценки по экзаменам математика, физика, русский язык');
          readln(st);
          create(pn,arg,st);
          writeln;
          for i:=2 to j do
          begin
            readln(st);
            create(pn,arg,st);
          end;
        end;
      2:begin
          print(pn);
        end;
      {3:add;
      4:del;}
    end;{case}
  end;{while}
end.
0
04.11.2009, 18:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2009, 18:22
Привет! Вот еще темы с ответами:

Определение количества и адресов положительных элементов массива - Pascal ABC
Составить схему алгоритма и программу определения количества и адресов положительных элементов массива вещественных чисел К={kj}, j=1,m, m...

Определение количества цифр в записи произвольного натурального числа - Pascal
Попросили создать. Нужно решение следующих заданий 1) Составьте программу для определения количества цифр в записи произвольного...

Определение количества исполнителей, рейтинг популярности которых стал ниже предыдущего - Pascal
Подскажите пожалуйста решение для этой задачи. В ней нужно работать с одним массивом или с двумя. За даними, в таблицы популярности,...

Ввод массива, определение количества элементов больших K, меньших K, равных K, кратных K - Pascal
дан одномерный массив A , для данного массива создать следующие функции: ваод массива, определение колличества элементов больших K, меньших...


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

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

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