Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 4

Добавить процедуры

23.06.2010, 00:00. Показов 786. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Плиз помогите сделать(
Мне по самому простому плиз вилы ваще( завтра сдавать( лижбы работало.

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

Есть пример:

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
uses 
crt;
type 
stud=record
kurs:1..4;
fam,name,numgr:string[10];
bal:array[1..4] of 61..100;
sb:real;
end;
var 
mas:array[1..20] of stud;
i,j,s,kus:integer;
pr:real;
begin
for i:=1 to 20 do with mas[i] do begin 
s:=0;
write ('vvedite familiyu, imya i nomer gruppy:');
readln (fam, name,numgr);
write ('vvedite 4 bala');
for j:=1 to 4 do begin 
readln (bal[j]);
s:=s+bal[j];
end;
sb:=s/4;
writeln ('srednij bal=',sb:3:2);
end;
kus:=0; 
for i:=1 to 20 do with mas[i] do if sb>=4 then kus:=kus+1;
writeln ('kol-vo uspevayuwih studentov=',kus);
pr:=kus/20*100;
writeln ('procent=',pr:5:2,'%'); 
readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.06.2010, 00:00
Ответы с готовыми решениями:

Процедуры и функции. Процедуры с числовыми параметрами
Описать процедуру RectPS (x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям...

Процедуры и функции: решить через процедуры S=a*x+b*y+c*z.
Пожалуста помогите решить через процедуры S=a*x+b*y+c*z.

Использование имени процедуры в качестве параметра другой процедуры
Составить программу по заданному условию.Первая часть условия является заданием на разработку процедуры для любой функции f или пары...

7
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 4
25.06.2010, 22:29  [ТС]
народ хелп
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
25.06.2010, 22:50
и что тебе просто в процедуры переделать или как?*
0
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 4
28.06.2010, 01:23  [ТС]
Вроде да) немного исправить чтоб было по условию задачи.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.06.2010, 09:17
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
uses crt;
type stud=record
          fam:string[15];
          nam:string[15];
          grp:word;
          otm:array[1..5] of 2..5;
          end;
     fail=file of stud;
{перевод русских символов из кодировки Dos в программе в Вин в текстовом файле}
function Convert(a:string):string;
var i:integer;
begin
for i:=1 to length(a) do
if ord(a[i]) in [128..175] then a[i]:=chr(ord(a[i])+64)
else if ord(a[i]) in [224..239] then a[i]:=chr(ord(a[i])+16)
else if ord(a[i])=240 then a[i]:=chr(ord(168))
else if ord(a[i])=241 then a[i]:=chr(ord(184));
Convert:=a;
end;
{создание файла записей}
procedure ZapFile(var f:fail);
var s:stud;
    c:char;
    i,j:byte;
begin
assign(f,'stud');
rewrite(f);
writeln('Введите данные о студентах, окончание ввода Esc:');
i:=0;
repeat
i:=i+1;
writeln('Студент ',i);
with s do
 begin
  write(' Фамилия: ');readln(fam);
  write(' Имя: ');readln(nam);
  write(' Группа: ');readln(grp);
  writeln(' Введите 5 оенок от 2 до 5:');
  for j:=1 to 5 do
   begin
    repeat
    write('  оценка ',j,'=');
    readln(otm[j]);
    until otm[j] in [2..5];
   end;
  write(f,s);
 end;
c:=readkey;
until c=#27;
clrscr;
writeln('Содержание исходного файла:');
reset(f);
writeln('------------------------------------------------------');
writeln('|    Фамилия     |      Имя      | Группа | Отметки  |');
writeln('------------------------------------------------------');
while not eof(f) do
 begin
  read(f,s);
  with(s) do
   begin
    gotoXY(1,whereY);write('| ',fam);
    gotoXY(18,whereY);write('| ',nam);
    gotoXY(34,whereY);write('| ',grp);
    gotoXY(43,whereY);write('|');
    for i:=1 to 5 do write(otm[i]:2);
    gotoXY(54,whereY);writeln('|');
   end;
  end;
writeln('------------------------------------------------------');
close(f);
end;
{создание текстового файла}
procedure Isprav(var f:fail;var t:text);
var s:stud;
    i,k,p:byte;
begin
assign(t,'isprav.txt');
rewrite(t);
reset(f);
p:=0;
while not eof(f) do
 begin
  read(f,s);
  k:=0;
  for i:=1 to 5 do
  if s.otm[i]=2 then k:=k+1;
  if k in [1..2] then
   begin
    p:=1;
    write(t,Convert(s.fam),' ',Convert(s.nam),' ',s.grp);
    for i:=1 to 5 do write(t,' ',s.otm[i]);
    writeln(t,'');
   end;
 end;
if p=0 then writeln(t,'Ispravitelnyj srok ni komu ne naznachen!');
close(t);
close(f);
write('Данные о получивших исправительный срок записаны в файл ISPRAV.TXT');
end;
var z:stud;
    f:fail;
    t:text;
begin
clrscr;
ZapFile(f);
Isprav(f,t);
readln
end.
1
0 / 0 / 0
Регистрация: 22.06.2010
Сообщений: 4
30.06.2010, 01:03  [ТС]
Чёто он у меня не пашет
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.06.2010, 07:07
wandersex, Если не пашет, значит или соляры не налил, или плуг забыл прицепить. Может по человечески напишешь, в чем проблемы? Программа полностью рабочая и протестирована
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.06.2010, 08:04
Ввожу данные, после каждого жму любую клавишу кроме Esc-это выход.
Получаю результат на экране и в файле, вот скрины и файл.
Кирилов Игорь 1234 2 3 3 4 4
Миниатюры
Добавить процедуры   Добавить процедуры  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2010, 08:04
Помогаю со студенческими работами здесь

Использование имени процедуры в качестве параметра другой процедуры
Для заданного массива В составить процедуру, определяющую отрезок, на который попадают заданного массива Р. Применить процедуру для k...

Оформить программу с помощью процедуры ввода массива и процедуры вывода массива на экран.
Program Primer1; uses crt; var a: array of integer; i: integer; Begin clrscr; for i:=1 to 5 do begin write('a=');...

Как добавить функции\процедуры с параметрами
Помогите, пожалуйста. Нужно добавить функции ввода и вывода, при этом используя параметры. Uses crt; const n=10; type arr=array...

Использование имени процедуры в качестве параметра другой процедуры
Предложите, пожалуйста, пример решения след. задачи с использованием вышеуказанного условия: Составить процедуру, которая для...

Использование имени процедуры в качестве параметра другой процедуры
Help! Для массива С из n элементов составить процедуру, которая находит значения m наименьших его элементов (Z1, Z2,...,Zn, а также сумму...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru