Другие языки программирования и технологии
Как составить программу на языке Паскаль,если задано следующее условие
найти кол-во четных элементов массива до первого встречного числа равного наперед заданному числу А.
Примерно так:
Вопрос! А если в массиве не встретится число A?
И ещё в условии не указан размер и содержание массива, а так же каким способом его заполнять.
Ну предположим, заполняется он случайными числами от 0 до 99, а максимальное количество элементов
задаётся константой N непосредственно в программе. Так же там обработка ошибок ввода, вводим А по запросу.
program FuFlO;
label OddElOK;
const N=29 {Количество элементов массива +1 }
var Arr:array[0..N]of integer;
var X,Y:integer; {вспомогательные}
var A:integer;S:string;
begin
randomize;writeln;
for X:=0 to N do
begin Arr[X]:=random(100); {Массив заполняется случайными числами от 0 до 99}
write(Arr[X],'[',X,'] '); {И выводится на экран}
end;writeln;
write('Введете значение : ');readln(S);
val(S,A,X); {преобразование через строку, типа защита от того, что вместо числа А введут text}
writeln('Ищем количество чётных элементов до элемента : ',A);
Y:=0;
for X:=0 to N do begin
if odd(Arr[X])then Y:=Y+1;
if Arr[X]=A then goto OddElOK
end;
OddElOK:
writeln('Обработано элементов : ',X);
writeln('Количество чётных : ',Y);
readln;
end.
Вопрос! А если в массиве не встретится число A?
И ещё в условии не указан размер и содержание массива, а так же каким способом его заполнять.
Ну предположим, заполняется он случайными числами от 0 до 99, а максимальное количество элементов
задаётся константой N непосредственно в программе. Так же там обработка ошибок ввода, вводим А по запросу.
program FuFlO;
label OddElOK;
const N=29 {Количество элементов массива +1 }
var Arr:array[0..N]of integer;
var X,Y:integer; {вспомогательные}
var A:integer;S:string;
begin
randomize;writeln;
for X:=0 to N do
begin Arr[X]:=random(100); {Массив заполняется случайными числами от 0 до 99}
write(Arr[X],'[',X,'] '); {И выводится на экран}
end;writeln;
write('Введете значение : ');readln(S);
val(S,A,X); {преобразование через строку, типа защита от того, что вместо числа А введут text}
writeln('Ищем количество чётных элементов до элемента : ',A);
Y:=0;
for X:=0 to N do begin
if odd(Arr[X])then Y:=Y+1;
if Arr[X]=A then goto OddElOK
end;
OddElOK:
writeln('Обработано элементов : ',X);
writeln('Количество чётных : ',Y);
readln;
end.
Я думаю что такие программы составляются так же как и другие. С помощью например книги по Паскалю и мозгов. Решается в пару строчек. Писать не буду - слишком просто.
var mas:array[1..20] of integer;
k, count, A:integer;
begin
ввод массива из 20 элементов;
read(A);
k:=1; count:=0;
while (mas{k} неравно A)and(A неравно 20) do
begin
if (mas{k} mod 2=0) then count:=count+1;
k:=k+1;
end;
write(count);
readln;
end.
k, count, A:integer;
begin
ввод массива из 20 элементов;
read(A);
k:=1; count:=0;
while (mas{k} неравно A)and(A неравно 20) do
begin
if (mas{k} mod 2=0) then count:=count+1;
k:=k+1;
end;
write(count);
readln;
end.
Похожие вопросы
- Составьте программу на языке паскаль
- Составьте программу на языке Паскаль! Нужна программа по переводу чисел из десятичной системы счисления в любую другую.
- помогите пожалуйста, нужно составить программу на языке Паскаль
- Составить программу на языке паскаль
- Нужны программы на языке Паскаль
- Напишите программу на языке Паскаль для решения задачи:
- составить программу в борланд паскале
- Информатика. Составить программу на языке Pascal
- Программа на языке Паскаль
- написать программу на языке паскаль, буду благодарен