М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alsuu00
alsuu00
25.08.2020 07:33 •  Информатика

Требовалось написать программу вычисления факториала числа n(n! =1*2*..*n). программист торопился и написал программу неправильно. ниже фрагмент его программы, в которой содержится 5 ошибок: k: =1; f: =0; while k f: =f*k; k: =k+1; найдите ошибки. допишите необходимые операторы и выполните программу на компьютере. (проверка 5! =120, 6! =720).

👇
Ответ:
Griezman7
Griezman7
25.08.2020
Язык С++:
#include <iostream>
using namespace std;
void main(){
int n=5, k, f=1; //f - факториал, n - число, фак-ал которого нужно вычислить
while(k<=n){
f*=k;
k++;
}
cout<<"Факториал числа "<<n<<" равен : "<<f<<endl;
}
Pascal:
program z4;
var n, k, f: integer;
begin
write('Введите число, для которого нужно вычислить факториал : ');
readln(n);
k:=1;
f:=1;
while(k<=n)
begin
f:=f*k;
k:=k+1;
end;
writeln('Факториал равен : ', f);
end.
4,6(25 оценок)
Открыть все ответы
Ответ:
aidana70
aidana70
25.08.2020

Ошибки в программе:

Program primer - не хватает точки с запятой

Var a,b: integer;

Begin ; - не ошибка, необязательная точка с запятой

 ReadLn( a,b); - не ошибка, лишний пробел после скобки, здесь и дальше не хватает пробелов между аргументами функций, знаками

 s=a+b; - не хватает двоеточия в :=

 m:=a*b;

 d:=a:b; - переменная d не была описана; деление - это /

 WriteLn(s);

 WriteLn(m);

 WriteLn(d)

End - не хватает точки.

 

Исправленная программа:

Program primer;

Var a, b: integer;

  d: real;

Begin

  ReadLn(a, b);

  s := a + b;

  m := a * b;

  d := a / b;

  WriteLn(s);

  WriteLn(m);

  WriteLn(d)

End.

4,5(72 оценок)
Ответ:
Oufaa
Oufaa
25.08.2020
Var x, i, h1, h2, h3, h4, h5, h6, s1, s2: integer;
begin
       readln (x);
       h1 := x div 100000;
       h2 := x mod 100000 div 10000; 
       h3 := x mod 10000 div 1000; 
       h4 := x mod 1000 div 100; 
       h5 := x mod 100 div 10; 
       h6 := x mod 10; 
       s1 := h1 + h2 + h3; 
       s2 := h4 + h5 + h6; 
       if (s1 = s2) then writeln('Счастливый') 
                      else writeln('Несчастный:)');
        readln;
end.

Вот, ошибка в целочисленном делении) Советую такое на листочке расписывать: 123321 и обводить что нужно взять, что в каком порядке откидывать...)
4,8(70 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ