Помощь - Поиск - Пользователи - Календарь
Полная версия: массив... времена года
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
oljka
Пожалуйста, помогите сделать задания, завтра сдавать, но мне некогда- пишу научную работу wacko.gif
1. Создать процедуру с массивом, которая содержит название времён года: весна, лето, осень, зима. Процедура от полученного номера месяца (от 1 до 12) показывает название времени года и выводит на экран. Создать программу, которая введённую форму даты, например, 2006.04.28 переделывает в форму ВЕСНА, Месяца, в которых меняются времена года причисляют к тому времени года, в котором начался.
2. Создать массив с 22 элементами и заполнить случайными десятичными числами с границами значений от -1 до 1, Вывести на экран, сколько чисел по модулю будут на границе от 0-0,499... и от 0,5-1.
3. Создать текстовой массив с 12 элементами длиной от 1 до 10 символов ( текст вводится с клавиатуры). Вывести на экран, сколько процентов каждое из слов содержит глассные.
Bokul
Ты хочеш чтобы за тебя сделали задания или тебе чтото не понятно?
oljka
наверное ,чтобы сделали wub.gif !!!!!у меня ещё таких заданий 6!!!!поэтому помогите!!!!!! give_rose.gif
Bokul
Цитата
наверное ,чтобы сделали

Ну вообще-то для этого тут есть специальный форум... называется "Задачи на заказ" 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
Большое- большое спасибо give_rose.gif give_rose.gif give_rose.gif
Malice
Цитата(Bokul @ 29.05.2006 3:19) *

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

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

ты прав
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.