sport2293032
?>

Напишите программу, которая в последовательности натуральных чисел определяет, есть ли в последовательности четные числа, не оканчивающиеся на цифру 8. вход: программа получает на вход последовательность натуральных чисел, заканчивающихся нулем. количество чисел не превышает 1000, а сами числа не превышают 30000. напишите 2 варианта: просто и через массив

Информатика

Ответы

dushechkin2

1. Цикл

var a,k:integer;

begin

write('Введите число: ');

readln(a);

while a<>0 do

begin

if(a mod 2 = 0) and (a mod 10 <> 8) then k:=k+1;

write('Введите число: ');

readln(a)

end;

if k > 0 then writeln('В последовательности были чётные числа, не оканчивающиеся на цифру 8.')

else writeln('В последовательности не было чётных чисел, не оканчивающихся на цифру 8.')

end.

2. Массив через цикл

var a,k,i:integer;

p:array [1..1000] of integer;

begin

repeat

write('Введите число: ');

readln(a);

if a<>0 then

begin

i:=i+1;

p[i]:=a

end

until a=0;

for a:=1 to i do

if(p[a] mod 2 = 0) and (p[a] mod 10 <> 8) then k:=k+1;

if k > 0 then writeln('В последовательности были чётные числа, не оканчивающиеся на цифру 8.')

else writeln('В последовательности не было чётных чисел, не оканчивающихся на цифру 8.')

end.

Kuznetsova702

javascript:var ч, есть = false; while ((ч = prompt()) > 0) { if (!есть && ч % 2 == 0 && ч % 8 != 0) есть = true; } alert(есть ? "Есть." : "Нету.");


javascript:var м = [], ч; while ((ч = prompt()) > 0) { м.push(ч); } alert(м.filter(function (зн) { return зн % 2 == 0 && зн % 8 != 0; }).length > 0 ? "Есть." : "Нету.");

nekrasovaolga27
Используем формулу Герона для нахождения площади треугольника по трем сторонам: S=√(p·(p-a)·(p-b)·(p-c)), где p - полупериметр, равный
p=(a+b+c)/2

Программа:

program z;
var a1,b1,c1,a2,b2,c2,p1,p2,s1,s2:real;
begin
readln(a1,b1,c1);   {ввод длин сторон первого треугольника}
p1:=(a1+b1+c1)/2; {полупериметр первого треугольника}
s1:=sqrt(p1*(p1-a1)*(p1-b1)*(p1-c1)); {площадь первого треугольника}

readln(a2,b2,c2);  {ввод длин сторон второго треугольника}
p2:=(a2+b2+c2)/2; {полупериметр второго треугольника}
s2:=sqrt(p2*(p2-a2)*(p2-b2)*(p2-c2)); {площадь второго треугольника}
if s1=s2                   {если площади треугольников равны}
then writeln('Yes')   {то вывести положительный ответ}
else writeln('No');    {иначе вывести отрицательный ответ}
end.
Itina321t
1. → 2 [сдвинуться вправо, перейти на строку 2]
2. → 3 [сдвинуться вправо, перейти на строку 3] — в вопросе опечатка?
3. → 4 [сдвинуться вправо, перейти на строку 4]
4. ? 5;2 [если в текущей ячейке нет метки, перейти на строку 5, иначе вернуться на 2]
5. ← 6 [сдвинуться влево, перейти на строку 6]
6. V 7 [поставить метку, перейти на строку 7]
7. ! [закончить работу]

Программа делает следующее: переходит на метку вправо, шагами по две ячейки идёт вправо, пока не дойдёт до пустой ячейки, возвращается на ячейку влево, ставит там метку и заканчивает работу.

Пусть метки расположены в ячейках 0 - (n-1), каретка под ячейкой 0.
Тогда сначала каретка окажется подячейкой 1, сделает [n/2] шагов по 2 вправо ([x] — целая часть x), оказавшись под ячейкой 1 + 2 * [n/2], вернётся на ячейку влево (ячейка 2 * [n/2]) и поставит там метку.

Если n было четным, будут заполнены ячейки от 0 до n, каретка под ячейкой n
Если n было нечетным, будут заполнены ячейки от 0 до n - 1, каретка под ячейкой n - 1

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая в последовательности натуральных чисел определяет, есть ли в последовательности четные числа, не оканчивающиеся на цифру 8. вход: программа получает на вход последовательность натуральных чисел, заканчивающихся нулем. количество чисел не превышает 1000, а сами числа не превышают 30000. напишите 2 варианта: просто и через массив
Ваше имя (никнейм)*
Email*
Комментарий*