Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 02.09.2009
Сообщений: 20
1

Знаки зодиака

06.10.2009, 20:56. Показов 3639. Ответов 8
Метки нет (Все метки)

Добрый вечер!
Помогите, пожалуйста, с решением задачи.


Даны 2 целых числа D (день), М (месяц). Вывести знак зодиака, соответствующий данной дате: «Водолей» (20.1–18.2), «Рыбы» (19.2–20.3), «Овен» (21.3–19.4), «Телец» (20.4–20.5), «Близнецы» (21.5–21.6), «Рак» (22.6–22.7), «Лев» (23.7–22.8), «Дева» (23.8–22.9), «Весы» (23.9–22.10), «Скорпион» (23.10–22.11), «Стрелец» (23.11–21.12), «Козерог» (22.12–19.1).

Заранее благодарна!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2009, 20:56
Ответы с готовыми решениями:

Даны номерные знаки нескольких автомашин. Опредеите, есть ли среди них знаки,имеющие код города не 77,90 или 99.
Даны номерные знаки нескольких автомашин. Опредеите, есть ли среди них знаки,имеющие код города не...

Заменить в строке знаки "+" на знаки "-", а знаки "-" удалить
2. Заменить в строке знаки "+" на знаки "-", а знаки "-" удалить. я сделала,но ошибка..не...

Знак Зодиака
Срочно дорогие, нужно создать программу, которая при вводе даты рождения выдает знак зодиака и...

По дате рождения опредилить знак зодиака
По дате рождения опредилить знак зодиака!

__________________
8
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
06.10.2009, 21:19 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
begin
readln(day);
readln(month);
date:=month*100+day;
if (date>120) and (date<218) then writeln('wodoley');
//тут надо все описать знаки задиаков, к примеру рыбы: (date>219) and (date<320)
id (date....
if..
if..
readln;
end.
0
Программист 1С
859 / 647 / 187
Регистрация: 03.03.2009
Сообщений: 1,154
06.10.2009, 21:21 3
Я бы так сделал)...естественно вместо z1.z2.z3.z4 и т.д. написать соответствующие знаки зодиака!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program goroskop;
var
znak : array[1..12] of String;
 
day,month : byte;
zodiak:string;
 
procedure CreateMass;
begin
{1-й знак = 22 декабря - 21 января}
znak[1]:='z1';
znak[2]:='z2';
znak[3]:='z3';
znak[4]:='z4';
znak[5]:='z5';
znak[6]:='z6';
znak[7]:='RAK';
znak[8]:='LEV';
znak[9]:='z9';
znak[10]:='z10';
znak[11]:='z11';
znak[12]:='z12';
 
end;
 
procedure input;
begin
  Write('day of Birthday : ');  ReadLn(day);
  Write('month of Birthday : ');  ReadLn(month);
end;
 
begin
  createmass;
  input;
  if ((day>=22)and(month>=1)and(month<12)) then
      zodiak:=znak[month+1] else zodiak:=znak[month];
  if ((day<22)and(month=1)or (month=12)and (day>=22))then
      zodiak:=znak[1];
  Writeln('znak zodiaka : ',zodiak);
  Readln;
end.
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
4165 / 1272 / 229
Регистрация: 27.07.2009
Сообщений: 3,944
06.10.2009, 21:31 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var
 A, B: integer;
Const
 Z: array[1..12] of string =
    ('Водолей','Рыбы','Овен',
     'Телец','Близнецы','Рак',
     'Лев','Дева','Весы',
     'Скорпион','Стрелец','Козерог');
begin
 Repeat
  write('Введите день: ');
  Readln(A);
  write('Введите месяц: ');
  readln(B);
 Until (A<=31) and (B<=12);
 A:=(B*100)+A;
 Case A of
  101..119: B:=12;
  120..218: B:=1;
  219..320: B:=2;
  321..419: B:=3;
  420..520: B:=4;
  521..621: B:=5;
  622..722: B:=6;
  723..822: B:=7;
  823..922: B:=8;
  923..1022: B:=9;
  1023..1122: B:=10;
  1123..1221: B:=11;
  1222..1231: B:=12;
 end;
 Writeln(Z[B]);
End.
0
Модератор
63356 / 47058 / 32437
Регистрация: 18.05.2008
Сообщений: 114,065
06.10.2009, 21:32 5
Давид, Так не пойдет, знак может меняться 20, 21, 22 и 23 числа, поэтому здесь не упростишь. Кроме того нужно проверять ввод, иначе введет юзер 35.15 и что?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
program zodiac;
Uses crt;
var d,m,k:byte;
begin
clrscr;
repeat
write('месяц: ');
readln(m);
until m in [1..12];
repeat
k:=0;
write('день: ');
readln(d);
if ((m=2)and(d>29))or((m in [1,3,5,7,8,10,12])and(d>31))
or((m in [4,6,9,11])and(d>30))or(d<1)then k:=1;
until k=0;
case m of
1:case d of
  1..19:write('Козерог');
  20..31:write('Водолей');
  end;
2:case d of
  1..18:write('Водолей');
  19..29:write('Рыбы');
  end;
3:case d of
  1..20:write('Рыбы');
  21..31:write('Овен');
  end;
4:case d of
   1..21:write('Овен');
   22..30:write('Телец');
   end;
5:case d of
   1..2:write('Телец');
   21..31:write('Близнецы');
   end;
6:case d of
   1..21:write('Близнецы');
   22..30:write('Рак');
   end;
7:case d of
   1..22:write('Рак');
   23..31:write('Лев');
   end;
8:case d of
   1..22:write('Лев');
   23..31:write('Дева');
   end;
9:case d of
   1..22:write('Дева');
   23..30:write('Весы');
   end;
10:case d of
   1..22:write('Весы');
   23..31:write('Скорпион');
   end;
11:case d of
   1..22:write('Скорпион');
   23..30:write('Стрелец');
   end;
12:case d of
   1..21:write('Стрелец');
   22..31:write('Козерог');
   end;
end;
readln
end.
1
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
06.10.2009, 22:20 6
Puporev, да не требуют в школах проверку ввода, хоть убей)

Добавлено через 40 секунд
TAVulator, хоть кто-то думает как я)
0
0 / 0 / 0
Регистрация: 02.09.2009
Сообщений: 20
07.10.2009, 07:18  [ТС] 7
YeLLoW DucK
Ну это первый курс, а не школа. И, к сожалению, требуют много...

Всем большое спасибо за помощь!!!!

Добавлено через 9 минут
А можно еще задачку?

Дано целое положительное число N. Найти наименьшее целое положительное число К, квадрат которого превосходит N.
0
(Yellow_Duck)
1261 / 130 / 15
Регистрация: 16.10.2008
Сообщений: 733
07.10.2009, 11:37 8
Pascal
1
2
3
4
5
6
7
8
var n,k:integer;
begin
readln(n);
k:=trunc(sqrt(n))+1;
writeln('Квадрат числа k=',k,' больше n');
writeln('k^2=',sqr(k),' < n=',n);
readln;
end.
Цитата Сообщение от Наталья_87 Посмотреть сообщение
И, к сожалению, требуют много...
Или тоже проверять как бе не ввели не целое или не положительное или не число?
0
0 / 0 / 0
Регистрация: 02.09.2009
Сообщений: 20
07.10.2009, 16:02  [ТС] 9
Да кто ж их знает, этих преподавателей.

Спасибо за помощь!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2009, 16:02

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Определение знака зодиака по дате рождения
Вопщем то я написал прогу, но препод говорит что она не эффективная... :( Снизу прикрепил то, что...

Вывести знак Зодиака, соответствующий введенной дате
21. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака,...

Составить программу, которая по дате выводит знак Зодиака
Составить программу, которая по дате выводит знак Зодиака

По введенной дате (число, месяц) определить знак зодиака. (Pascal)
помогите, завтра нужно сдать.. вроде делается через case как-то, но я хз как(


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.