30.09.2012, 22:43 | #1 (permalink) |
Новичок
Регистрация: 30.09.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Задача на Pascal
И попалась такая задачка, вроде знаю все, что для нее нужно, а вот сообразить никак не могу, как правильно "построить" ее. Нужно,вот что : я ввожу в запрос какой-либо месяц , и после этого ввода, программа выводил время года. Буду благодарна за помощь. |
30.09.2012, 22:43 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В аналогичных обсуждениях можно найти много полезного Pascal. Задача. Помогите Задача в Pascal |
01.10.2012, 00:20 | #2 (permalink) |
VIP user
Регистрация: 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; |
01.10.2012, 19:29 | #3 (permalink) |
support
Регистрация: 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. |
01.10.2012, 20:40 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не, Лёш, так не пойдет: этот сволочной 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. |
02.10.2012, 16:36 | #5 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Владимир, переделать нетрудно, главное, принцип. Кстати, мой компилятор сожрал и не подавился, но я использовал линуксовую Geany, может поэтому.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
02.10.2012, 16:58 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|