Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 30.09.2012, 22:43   #1 (permalink)
Vera_Akimova
Новичок
 
Регистрация: 30.09.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача на Pascal

Недавно начала изучать самостоятельно паскаль.
И попалась такая задачка, вроде знаю все, что для нее нужно,
а вот сообразить никак не могу, как правильно "построить" ее.
Нужно,вот что : я ввожу в запрос какой-либо месяц , и после этого ввода, программа выводил время года.
Буду благодарна за помощь.
Vera_Akimova вне форума   Ответить с цитированием

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

В аналогичных обсуждениях можно найти много полезного

Pascal. Задача. Помогите
Задача в Pascal

Старый 01.10.2012, 00:20   #2 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

И какой именно паскаль???

Тут вам в помощь инструкция case.

пример:
case Ch of
'A' .. 'Z', 'a' .. 'z' : WriteLn('Буква');
'0' .. '9' : WriteLn('Цифра');
'+', '-', '*', '/' : WriteLn('Оператор');
else WriteLn('Специальный символ')
end;
Gruvi вне форума   Ответить с цитированием
Старый 01.10.2012, 19:29   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Например, так:
Код:
var mount:string;
writeln('Введите название месяца');
readln(mount);
case mount of
'январь', 'февраль', 'декабрь':writeln('зима');
'июнь', 'июль', 'август':writeln('лето');
'март', 'апрель', 'май':writeln('весна');
'сентябрь', 'октябрь', 'ноябрь':writeln('осень');
else writeln('нет такого месяца');
end;
readln
end.
AlexZir вне форума   Ответить с цитированием
Старый 01.10.2012, 20:40   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Например, так:
Не, Лёш, так не пойдет: этот сволочной Case не принимает строкового формата индекса, ему подай Ordinal Type. Потому предлагаю такой вариант (НЕ для АВС):
Код:
Const
 Month:Array[1..13] of String=('January','February','March','April',
                               'May','June','July','August','September',
                               'October','November','December','');
Var
 k:Byte;
 S:String;
Begin
 Repeat
  Write('Month (any letters to quit): ');
  Readln(S);
  k:=1;
  While (k<13) and (Month[k]<>S) do Inc(k);
  Case k of
    12,1,2: Writeln('Winter');
     3,4,5: Writeln('Spring');
     6,7,8: Writeln('Summer');
   9,10,11: Writeln('Autumn');
  End;
 Until k=13;
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 02.10.2012, 16:36   #5 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Владимир, переделать нетрудно, главное, принцип. Кстати, мой компилятор сожрал и не подавился, но я использовал линуксовую Geany, может поэтому.
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

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

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Кстати, мой компилятор сожрал и не подавился, но я использовал линуксовую Geany, может поэтому.
Да, скорее всего. А обычный Паскаль плюется. Уж на что Free демократичный, а туда же.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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