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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2012, 21:41   #1
dimonn1003
 
Регистрация: 25.12.2012
Сообщений: 5
По умолчанию Программа выдает следующую дату по указанной. Переделать на использование type (Паскаль) // на вас вся надежда

есть программа, которая выдает следующую дату по указанной.
Нужно ее переделать используя неопознаный тип (type=()).
Код:
Uses Crt;
Const
   WeekDay: Array[1..7] of String[11]=('monday',
                                       'tuesday    ',
                                       'wednesday      ',
                                       'thursday    ',
                                       'friday    ',
                                       'saturday    ',
                                       'sunday');
   DayPerMonth: Array[1..12] of byte =
                  (31,       {1 }
                   28,       {2 }
                   31,       {3 }
                   30,       {4 }
                   31,       {5 }
                   30,       {6 }
                   31,       {7 }
                   31,       {8 }
                   30,       {9 }
                   31,       {10}
                   30,       {11}
                   31);      {12}
   NameMonth: Array[1..12] of string[8] =
                  ('january  ',       {1 }
                   'February ',       {2 }
                   'march    ',       {3 }
                   'April  ',       {4 }
                   'May     ',       {5 }
                   'June    ',       {6 }
                   'July    ',       {7 }
                   'August  ',       {8 }
                   'September',       {9 }
                   'October ',       {10}
                   'November  ',       {11}
                   'December ');      {12}
Var nMonth, nDay, nWeekDay : byte;
    xMonth, xDay, xWeekDay : byte;
    kvartal, nKvartal:byte;

Begin
  ClrScr;
  Write('Vvedite nomer mesyaca  ');
  repeat
    ReadLn(nMonth);
  until nMonth in[1..12];

  Write('Vvedite den   ');
  repeat
    ReadLn(nDay);
  until nDay in[1..DayPerMonth[nMonth]];

  Write('Vvedite nomer dnya nedeli  ');
  repeat
    ReadLn(nWeekDay);
  until nWeekDay in[1..7];


  WriteLn('----------------');
  xWeekDay:=nWeekDay+1;
  If xWeekDay>7 then xWeekDay:=1;
  xDay:=nDay+1;
  xMonth:=nMonth;
  If xDay>DayPerMonth[xMonth] then
    begin
      Inc(xMonth);
      If xMonth>12 then xMonth:=1;
      xDay:=1;
    end;
  WriteLn('   Vasha data');
  WriteLn(nDay,' ',NameMonth[nMonth],' ',WeekDay[nWeekDay]);
  WriteLn('   Sleduyshaya data');
  WriteLn(xDay,' ',NameMonth[xMonth],' ',WeekDay[xWeekDay]);
  ReadLn;
End.


________
1) Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.


2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.12.2012 в 21:53.
dimonn1003 вне форума Ответить с цитированием
Старый 25.12.2012, 21:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Такое задание может только воспаленному мозгу преподавателя прийти.
На практике нетипированные переменные очень опасны, и их стараются использовать как можно меньше. И потом я лично не представляю каким макаром тут untyped помочь может.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2012, 21:59   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я в TurboPascal из untyped знаю только файловую переменную (var f : file);
Каким боком это может лежать к типу сохранения даты, я даже предположить не могу.

dimonn1003, а Вы точно ничего не напутали?!


p.s. в вашей программе нет года и, следовательно, не учитывается наличие високосных годов...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.12.2012, 22:03   #4
dimonn1003
 
Регистрация: 25.12.2012
Сообщений: 5
По умолчанию

Нет не напутал, могу погазать правильную прогу, из этой же лабораторной, но другое задание
Код:
Program a1;
type
nazva=(null,odin,dva,tri,chetiri,pyat);
const
title: array[nazva] of string = ('null','odin','dva','tri','chetiri','pyat');
var d:'0'..'5';
    n:nazva;
begin
writeln('vvedite chislo ot 0 do 5');
readln(d);
case d of
'0':n:=null;
'1':n:=odin;
'2':n:=dva;
'3':n:=tri;
'4':n:=chetiri;
'5':n:=pyat;
end;
writeln(title[n]);
readln
end.
Ну вот, почему неопознаный тип не знаю, называется лаба так

Последний раз редактировалось dimonn1003; 25.12.2012 в 22:08.
dimonn1003 вне форума Ответить с цитированием
Старый 25.12.2012, 22:07   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
могу погазать правильную прогу
Не понял. Где тут нетипированные переменные?
Цитата:
Нет не напутал
Нет напутал.
nazva=(null,odin,dva,tri,chetiri,py at); это не нетипированные переменные, а множества.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2012, 22:11   #6
dimonn1003
 
Регистрация: 25.12.2012
Сообщений: 5
По умолчанию

Так как я учусь в Украине, если дословно переводить то получается "не определенный", сори, если что то не так
dimonn1003 вне форума Ответить с цитированием
Старый 25.12.2012, 22:16   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
если дословно переводить то получается "не определенный"
Текст задания в студию так как оно звучит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2012, 22:22   #8
dimonn1003
 
Регистрация: 25.12.2012
Сообщений: 5
По умолчанию

По заданому номеру квартала, дате, которая включает в себя число и название месяца и дня недели определить,какие есть данное число, определить следующую дату, ближайшую к указаной.

Я то порылся по форумам и нашел похожую, сделал но ей не нравится, нужно примерно так как показано во второй проге которую я выложил.
dimonn1003 вне форума Ответить с цитированием
Старый 25.12.2012, 23:00   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пипетц... Я один в такую формулировку долго втыкал или нет?
Кто-нибудь что-нибудь понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2012, 23:13   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это называется Enumerated types
см., например, на вики

перечисляемый тип.

из хелпа старенького доброго TurboPascal:
Код:
 Enumerated types
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Enumerated types define ordered sets of values
by enumerating the identifiers that denote
these values. Their ordering follows the
sequence in which the identifiers are
enumerated.

 Syntax:
 type
   name = (identifier,
     identifier, ...,
     identifier );

 Remarks:
The identifiers in the type definition become
constants of the enumerated type.

The first constant has an ordinality of 0, the
second has an ordinality of 1, the third an
ordinality of 2, and so on.

Enumerated types are a subclass of the ordinal
types.

 Example:
 type
   Suit = (Club, Diamond, Heart, Spade);

Given this declaration, Heart is a constant of
type Suit.

The Ord standard function returns the
ordinality of an enumerated constant. In this
example,

   Ord(Club)     =  0
   Ord(Diamond)  =  1
   Ord(Heart)    =  2

and so on.

в данном случае, например:
Код:
type 
  DayOfWeek = (monday,tuesday, wednesday, thursday, friday, saturday, sunday);
...

var
   dw : DayOfWeek;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вся надежда на вас Азам Помощь студентам 2 10.05.2012 16:26
VBA. на вас одна надежда METADON Microsoft Office Excel 1 04.03.2011 08:28
Косяк с сессиями!!! На вас вся надежда!!! Machete PHP 2 06.12.2008 17:22