В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
daniilstepanov2
daniilstepanov2
03.01.2020 22:37 •  Информатика

Паскаль
1)Как вы думаете при выполнении программы обязательно заполнять все ячейки данными. почему?
2) если ячейка не заполнена то какое значение в ней находится?
3) может ли реальное количество элементов в массиве модет быть меньше чем указано при описании. почему? а может быть меньше? почему?​

Показать ответ
Ответ:
1326237416414
1326237416414
01.05.2021 04:01
Более изящное решение :)

Проблема в строке c:= (b*b*b);
Ты ищешь сумму кубов, а для 4-значных чисел нужно искать сумму 4-х степеней. Нужно проверять число а: если от 100 до 999, то выполняем c:= (b*b*b); а если от 1000 до 9999, то выполняем c:= (b*b*b*b); 

Код ниже работает и выдаёт результат:
число Армстронга ==> 153
число Армстронга ==> 370
число Армстронга ==> 371
число Армстронга ==> 407
число Армстронга ==> 1634
число Армстронга ==> 8208
число Армстронга ==> 9474


var a,b,c,d,a2:integer;
begin
for a:=100 to 9999 do begin
d:=0;
a2:=a;
while (a2 <> 0) do begin
b:= a2 mod 10;
a2:= a2 div 10;
if a<1000 then c:= (b*b*b)
      else c:= (b*b*b*b);
d:= d+c;
end;
if (a = d) then writeln('число Армстронга ==> ', a);
end;
end.
0,0(0 оценок)
Ответ:
Germionochka
Germionochka
15.05.2020 02:31
//Общее сопротивление сети: 
// 1/R = 1/r1 + 1/r2 
// 1/R = (r2+r1)/(r2*r1) 
// R = r2*r1 / (r2 + r1) 
//Закон Ома для участка цепи: 
// I = U/R  

var   
r1,r2,u : integer;   
R,I : real;    

begin 
writeln ('Введите значения сопротивления (r1 r2)'); 
readln (r1,r2); 
writeln ('Укажите напряжение на концах цепи (u)'); 
readln (u);   

R := r2*r1 / (r2 + r1); 
I := U/R;   

//Фактически можно не использовать переменную R 
//А вставить выражение сразу     
//    I := U/( r2*r1 / (r2 + r1) );       

writeln ('Сила тока на участке = ',I); 
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота