Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 06.11.2011, 19:28   #1 (permalink)
Max 20
Новичок
 
Регистрация: 06.11.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль. Записи

Постановка задачи (В Паскале ):
Для студентов некоторой группы задана следующая информация: порядковый номер, ФИО, дата рождения, курс, год поступления, и оценки на последней сессии. Составить программу, которая обеспечивает вывод полученной информации, распечатку ее в виде таблицы, а также распечатку ее согласно варианту.
Вариант 7. : Которые получают стипендию.
Миниатюры
aacuiyiiue.jpg  
Max 20 вне форума   Ответить с цитированием

Старый 06.11.2011, 19:28
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Очень эффективно в решении проблемы просто пролистать похожие обсуждения

Строки и записи.
Записи
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль. Записи

Старый 06.11.2011, 21:03   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ладно, "помогаю":

Код:
uses crt;
type
 studlib = record
  FIO:string;
  Birth_Date:string;
  Course:Byte;
  Year:word;
  Marks:Array[1..3] of Byte;
  Mmark:Real;
 end;


var
 stud:Array[1..100] of studlib;
 i,N:Byte;

Procedure Out_Date(std:Studlib);
var j:byte;
begin
 with std do
  begin
   write(FIO);
   for j:=Length(FIO)+1 to 30 do write(' ');
   write(Birth_Date);
   write(Course:3);
   write(Year:5);
   for j:=1 to 3 do
    write(Marks[j]:4);
   writeln(Mmark:7:2);
  end;
end;

BEGIN
 clrscr;
 N:=0;
 writeln('Vvodite dannie o studentax');
 repeat
  Inc(N);
  with stud[N] do
   begin
    write('FIO: ');
    readln(FIO);
    write('Birth Date (dd.mm.yyyy): ');
    readln(Birth_Date);
    write('Course: ');
    readln(Course);
    write('Year of entry: ');
    readln(Year);
    Mmark:=0;
    for i:=1 to 3 do
     begin
      write('Mark ',i,' = ');
      readln(Marks[i]);
      Mmark:=Mmark+Marks[i]/3;
     end;
   end;
  clrscr;
  writeln ('ENTER-continue, ESC-quit');
 until (readkey=#27) or (N=100);

 clrscr;

 writeln('Student list:');
 for i:=1 to N do
  Out_Date(stud[i]);
 writeln;

 writeln('Press "Enter" to continue');
 readln;
 clrscr;

 writeln('Granted students:');
 for i:=1 to N do
  if stud[i].Mmark>=7.0 then
   Out_Date(stud[i]);

 readkey;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 06.11.2011, 21:42   #3 (permalink)
Max 20
Новичок
 
Регистрация: 06.11.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question

почему-то пишет, ошибку:формат вывода:n не пременим к данным типа word
Max 20 вне форума   Ответить с цитированием
Старый 06.11.2011, 22:16   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Max 20 Посмотреть сообщение
почему-то пишет, ошибку:формат вывода:n не пременим к данным типа word
Ну это какие-то очередные задвиги версий. Совет: замените все форматы Word и Byte на Integer - скорее всего, проглотит.
P.S. Естественно, перед выкладыванием программа была оттестирована и у меня не выдала никаких ошибок.
Vladimir_S вне форума   Ответить с цитированием
Старый 06.11.2011, 22:39   #5 (permalink)
Max 20
Новичок
 
Регистрация: 06.11.2011
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

не хочет! Версия программы: PASCAL ABC
Max 20 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 07.11.2011, 09:59   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Max 20 Посмотреть сообщение
не хочет! Версия программы: PASCAL ABC
Тогда ничем помочь не могу. Разбираться с этим сборником глюков, именуемым АВС, нет ни малейшего желания.
Мною выложена абсолютно правильная программа, которая безупречно транслируется и выполняется в любом НОРМАЛЬНОМ Паскале.
Больше ничем помочь не могу.
Впрочем, если Вы предоставите ПОЛНУЮ информацию - где именно и на чем "спотыкается" Ваш АВС, куда при этом указывает маркер, какие сообщения возникают и т.п., то можно попробовать наладить и в этом... ну, в общем, в АВС.
Vladimir_S вне форума   Ответить с цитированием
Старый 07.11.2011, 15:54   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Всё-таки полез в это изделие №2 - Паскаль АВС - и не увидел никаких причин для возникновения ошибки. Что касается целых типов, так вся разница в том, что авторы этого дебильного пакета сделали Integer четырехбайтовым, то есть это тот же формат, что в обычном Паскале именуется LongInt. А word и byte - такие же. И форматы вывода целых чисел ничем не отличаются, что в Turbo, что в ABC. И с какого бы это перепугу "формат вывода :n не пременим к данным типа word", уж извините, но понять не могу. По-моему, очень даже применим. Склоняюсь к тому, что это глюки конкретной реализации АВС.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:10.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.