Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 18:22   #1
Caesarmoon
Новичок
Джуниор
 
Аватар для Caesarmoon
 
Регистрация: 31.01.2012
Сообщений: 2
По умолчанию Задача Pascal

Задача: Составить таблицу на 3 столбца и 10 строк ,используя код ASCII. Первый столбец заполнить порядковыми номерами,а второй - фамилиями.







P.S потратил весь день, чтобы разобраться, но так и не разобрался.

Последний раз редактировалось Caesarmoon; 31.01.2012 в 18:24. Причина: Забыл указать код ASCII
Caesarmoon вне форума Ответить с цитированием
Старый 31.01.2012, 18:36   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

а третий столбец?... и для чего конкретно использовать код ASCII?
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 31.01.2012, 18:48   #3
Caesarmoon
Новичок
Джуниор
 
Аватар для Caesarmoon
 
Регистрация: 31.01.2012
Сообщений: 2
По умолчанию Задача Pascal

Для составления таблицы, для этой таблицы нужно использовать эти символы : #218 - [┌] #192-[└] ,
#191 - [┐] , #217 - [┘] , #196 - [─] , #179-[│], #195 - [├] , #193-[┴],
#197-[┼], #194 - [┬] , #180 - [┤]
Таблица 3 столбца , 10 строк,
В первый столбец порядковые номера ( 10 номеров)
Во второй Фамилии любые (до 10 фамилий )
третий - пустой

Последний раз редактировалось Caesarmoon; 31.01.2012 в 18:49. Причина: редактирование информации
Caesarmoon вне форума Ответить с цитированием
Старый 01.02.2012, 11:51   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Caesarmoon, задание совсем несложное.
Давайте, рассказывайте, на что Вы потратили время:
Цитата:
потратил весь день, чтобы разобраться, но так и не разобрался.
давайте Ваши наработки в коде, что у Вас получилось..
или вообще нет ни одной строчки кода?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.02.2012, 13:05   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Действительно, тут делов то на рыбью ногу...
Код:
type
  str17=string[17];
  mass=array of str17;
var

  m:mass;
  i,x:byte;
  HLine:string;
begin
  HLine:='';
  for i:=1 to 17 do
    Hline:=Hline+#196;

  write('kolichestvo strok: ');
  readln(x);
  setlength(m,x);
  for i:=0 to high(m) do
    begin
      write('Familia ',i+1,': ');
      readln(m[i]);
      m[i]:=m[i]+'                ';
    end;
  writeln(#218,Hline,#194,Hline,#194,Hline,#191);
  for i:=0 to high(m) do
    begin
      if {(i<>high(m)) and} (i<>0) then
        writeln(#195,Hline,#197,hline,#197,Hline,#180);
      writeln(#179,(i+1),' ':16,#179,m[i],#179,' ':17,#179);
    end;
  writeln(#192,Hline,#193,Hline,#193,Hline,#217);
  readln;
end.
При желании можно первую ячейку сделать короче, но это уже сам.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 01.02.2012, 14:33   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

whatever, Вы явно перевыполнили план.
в задании было:
Цитата:
Составить таблицу на 3 столбца и 10 строк
и ещё, хотел бы отметить, что Ваш пример не будет работать в TurboPascal - там не было динамических массивов. Впрочем, переделать его в статический займёт менее двух минут.


Добавлено

впрочем, раз whatever сделал основную работу, то вот переделанный пример под Turbo Pascal:
Код:
const 
  MaxRowCount = 100;

type
  str17=string[17];
  mass=array[1..MaxRowCount] of str17;
var

  m:mass;
  i,x:byte;
  HLine:string;
  Hline5: string[5];
begin
  
  HLine:='';
  for i:=1 to 17 do
    Hline:=Hline+#196;

  Hline5 :='';
  for i:=1 to sizeof(HLine5)-1 do Hline5:=Hline5+#196;


  repeat
    write('Введите количество строк (от 1 до ',MaxRowCount,') : ');
    readln(x);
  until (x>=1) and (x<=MaxRowCount);

  for i:=1 to x do
    begin
      write('Familia ',i,': ');
      readln(m[i]);
      m[i]:=m[i]+'                ';
    end;

  {вывести таблицу}
  writeln(#218,Hline5,#194,Hline,#194,Hline,#191);
  for i:=1 to x do
    begin
      writeln(#179,(i):4,' ',#179,m[i],#179,' ':17,#179);
      if ( i<x ) then
        writeln(#195, Hline5, #197,hline,#197,Hline,#180);
    end;
  writeln(#192,Hline5,#193,Hline,#193,Hline,#217);

  readln;
end.

Последний раз редактировалось Serge_Bliznykov; 01.02.2012 в 14:56.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal.Задача. StudentSAFU Помощь студентам 2 18.12.2011 19:15
Задача на Pascal warca Помощь студентам 0 19.11.2011 22:58
Задача Pascal HukcoH Помощь студентам 1 17.03.2011 12:22
Задача Pascal =( keksik Паскаль, Turbo Pascal, PascalABC.NET 2 24.02.2011 11:15
Задача [Pascal] [Smarik] Помощь студентам 4 04.02.2008 15:50