Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Вопрос по паскаль (https://forum.antichat.xyz/showthread.php?t=120873)

toross 16.05.2009 13:06

Вопрос по паскаль
 
Помогите на счет задачи на паскале.

Выводит времЯ года по введеному с клавиатуры числу, выходи при нажатии 0.

SimBa 16.05.2009 13:08

курс 10класса?=)

toross 16.05.2009 13:12

ДА

X-FRITS 16.05.2009 13:21

дай пример, непонимаю до конца условие.
что за "времЯ года по введеному с клавиатуры числу"??

PHOEN_i_X 16.05.2009 13:27

Выводит времЯ года по введеному с клавиатуры числу ?

непонятно

D1mOn 16.05.2009 13:46

21.04.2009 - Весна
30.08.2009 - Лето
01.11.2009 - Осень
10.01.2009 - Зима

свитч месяц
кейс 3,4,5
врителайн Весна
кейс 6.7.8
врителайн Лето
кейс 9,10,11
врителайн Осень
кейс 12,1,2
врителайн Зима

:D:D:D
Наводку дал, дальше сам думай))

banana 16.05.2009 14:23

Выйти при нажатии на 0 - это until press '0' как то так.
Времена года:
Простейший способ через условия -
Код:

Program vrem_goda;
uses crt;
var mesyac,temp : integer;
begin
clrscr;
writeln ('Введите месяц: ');
readln (mesyac);
if mesyac=1 then
writeln (mesyac, ' месяц - это зима');
 if mesyac=2 then
writeln (mesyac, ' месяц - это зима');
 if mesyac=3 then
writeln (mesyac, ' месяц - это весна');
if mesyac=4 then
writeln (mesyac, ' месяц - это весна');
 if mesyac=5 then
writeln (mesyac, ' месяц - это весна');
if mesyac=6 then
writeln (mesyac, ' месяц - это лето');
if mesyac=7 then
writeln (mesyac, ' месяц - это лето');
if mesyac=8 then
writeln (mesyac, ' месяц - это лето');
if mesyac=9 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=10 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=11 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=12 then
writeln (mesyac, ' месяц - это зима');
end.


Sinay 16.05.2009 16:24

case of and while true

fatalo 16.05.2009 18:42

Цитата:

Сообщение от banana
mesyac , writeln ('Введите текущий месяц'): readln ($mesyac);
и делаешь условие. if $mesyac= 3 to 5 then writeln ($mesyac, ' месяц - это Весна') и т.д.

Это что за синтаксис?Смесь языков? :))

banana 16.05.2009 22:24

Цитата:

Сообщение от fatalo
Это что за синтаксис?Смесь языков? :))

Омг, точн это же на пыхапе такие условия и переменные, ща на паскаль поправлю

Sinay 16.05.2009 22:43

плохо оформил
оператором выбора надо и у тебя он работает один раз,надо пока не нажмут 0
программисты=\

Godfather Bulan 16.05.2009 22:44

Цитата:

Сообщение от banana
Выйти при нажатии на 0 - это until press '0' как то так.
Времена года:
Простейший способ через условия -
Код:

Program vrem_goda;
uses crt;
var mesyac,temp : integer;
begin
clrscr;
writeln ('Введите месяц: ');
readln (mesyac);
if mesyac=1 then
writeln (mesyac, ' месяц - это зима');
 if mesyac=2 then
writeln (mesyac, ' месяц - это зима');
 if mesyac=3 then
writeln (mesyac, ' месяц - это весна');
if mesyac=4 then
writeln (mesyac, ' месяц - это весна');
 if mesyac=5 then
writeln (mesyac, ' месяц - это весна');
if mesyac=6 then
writeln (mesyac, ' месяц - это лето');
if mesyac=7 then
writeln (mesyac, ' месяц - это лето');
if mesyac=8 then
writeln (mesyac, ' месяц - это лето');
if mesyac=9 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=10 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=11 then
writeln (mesyac, ' месяц - это осень');
 if mesyac=12 then
writeln (mesyac, ' месяц - это зима');
end.


пиндец.... ну и код)))

Ponchik 16.05.2009 22:54

Godfather Bulan, а в паскале нет switch =\
Можно былобы массивами сделать но в 10 классе хз проходят их или нет

rushter 16.05.2009 23:01

Ponchik,
Цитата:

Сообщение от slesh
считываешь дату в формате каомнить типа день/месяц/год
отделяеш месяц от всего что введено вереподишь его в integer и делаешь
case i of
3..5: writeln("весна");
6..8:writeln("лето");
9..11:writeln("осень");
12,1,2:writeln("зима");
end;


Godfather Bulan 16.05.2009 23:29

Код:

program asd;
const
a:array [1..12] of string[10]=('zima','zima','vesna','vesna','vesna','leto','leto','leto','osen','osen','osen','zima');
var
i:byte;
begin
readln (i);
writeln (a[i]);
readln;
end.


Sinay 16.05.2009 23:45

памяти больше жрет

][yZ 17.05.2009 07:42

Цитата:

Сообщение от Godfather Bulan
Код:

program asd;
const
a:array [1..12] of string[10]=('zima','zima','vesna','vesna','vesna','leto','leto','leto','osen','osen','osen','zima');
var
i:byte;
begin
readln (i);
writeln (a[i]);
readln;
end.


тогда уж лучше так
Код:

program asd;
const
a:array [0..12] of string[10]=('','zima','zima','vesna','vesna','vesna','leto','leto','leto','osen','osen','osen','zima');
var
i:byte;
begin
  repeat
    readln (i);
    writeln (a[i]);
  until i=0;
  readln;
end.


TRX.new 17.05.2009 14:13

Такая задача.. а вы такую дискуссию развели =) .. Он сделал уже наверно .. в 10 классе врятли будут оценивать объем используемой памяти) .. Там смотрят работает/не работает ;-)))

P.S. еще надо фильтр на вводимые данные хоть как добавить и защиту от переполнения стека.. :rolleyes:


Время: 16:47