Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ массив... времена года

Автор: oljka 28.05.2006 22:53

Пожалуйста, помогите сделать задания, завтра сдавать, но мне некогда- пишу научную работу wacko.gif
1. Создать процедуру с массивом, которая содержит название времён года: весна, лето, осень, зима. Процедура от полученного номера месяца (от 1 до 12) показывает название времени года и выводит на экран. Создать программу, которая введённую форму даты, например, 2006.04.28 переделывает в форму ВЕСНА, Месяца, в которых меняются времена года причисляют к тому времени года, в котором начался.
2. Создать массив с 22 элементами и заполнить случайными десятичными числами с границами значений от -1 до 1, Вывести на экран, сколько чисел по модулю будут на границе от 0-0,499... и от 0,5-1.
3. Создать текстовой массив с 12 элементами длиной от 1 до 10 символов ( текст вводится с клавиатуры). Вывести на экран, сколько процентов каждое из слов содержит глассные.

Автор: Bokul 28.05.2006 22:57

Ты хочеш чтобы за тебя сделали задания или тебе чтото не понятно?

Автор: oljka 28.05.2006 23:09

наверное ,чтобы сделали wub.gif !!!!!у меня ещё таких заданий 6!!!!поэтому помогите!!!!!! give_rose.gif

Автор: Bokul 29.05.2006 7:19

Цитата
наверное ,чтобы сделали

Ну вообще-то для этого тут есть специальный форум... называется "Задачи на заказ" yes2.gif
Но тебе повезло wink.gif
Цитата
Создать процедуру с массивом, которая содержит название времён года: весна, лето, осень, зима. Процедура от полученного номера месяца (от 1 до 12) показывает название времени года и выводит на экран. Создать программу, которая введённую форму даты, например, 2006.04.28 переделывает в форму ВЕСНА, Месяца, в которых меняются времена года причисляют к тому времени года, в котором начался.


Сделал только первую часть, вторую - не понял...
procedure season(i:byte);
const mas:array[1..4] of string[6]=('winter','spring','summer','autumn');
var buff:byte;
begin
if i>12 then exit;
buff:=(i) div 3 + 1;
if buff=5 then buff:=1;
writeln(mas[buff]);;
end;

Цитата
Создать массив с 22 элементами и заполнить случайными десятичными числами с границами значений от -1 до 1, Вывести на экран, сколько чисел по модулю будут на границе от 0-0,499... и от 0,5-1.

var mas:array[1..22] of real; i,n1,n2:byte;
begin
n1:=0;
n2:=0;
randomize;
for i:=1 to 22 do
begin
mas[i]:=(random(1000)/1000)-1;
write(mas[i]:0:3,' ');
if abs(mas[i])<0.5 then inc(n1)
else inc(n2);
end;
writeln;
write('0-0,499 : ',n1,' 0,5-1 : ',n2);
readln;
end.


Цитата
Создать текстовой массив с 12 элементами длиной от 1 до 10 символов ( текст вводится с клавиатуры). Вывести на экран, сколько процентов каждое из слов содержит глассные.


const glas='AEIOUY';
var mas:array[1..12] of string[10];
i,j,buf:byte; per:real;
begin
for i:=1 to 12 do
readln(mas[i]);
for i:=1 to 12 do
begin
buf:=0;
for j:=1 to length(mas[i]) do
if pos(upcase(mas[i][j]),glas)<>0 then
inc(buf);
per:=(buf/length(mas[i]))*100;
writeln(i,' : ',per:0:1,' percents');
end;
readln;
end.

smile.gif

Автор: oljka 29.05.2006 13:16

Большое- большое спасибо give_rose.gif give_rose.gif give_rose.gif

Автор: Malice 29.05.2006 16:23

Цитата(Bokul @ 29.05.2006 3:19) *

mas[i]:=(random(1000)/1000)-1;

Здесь неправильно, надо (random(2000)/1000)-1;

Автор: Bokul 29.05.2006 22:41

Цитата
Здесь неправильно, надо (random(2000)/1000)-1;

ты прав