Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число n, не превосходящее 109, и выводится количество цифр этого числа. программист торопился и написал программу неправильно. (ниже для вашего удобства программа представлена на четырёх языках программирования.)
бейсик паскаль
dim n as long
input n
sum = 1
while n > 1
n = n \ 10
sum = sum + 1
wend
print sum
end
var n: longint;
sum: integer;
begin
readln(n);
sum : = 1;
while n > 1 do
begin
n : = n div 10;
sum : = sum + 1;
end;
writeln(sum);
end.
си++ алгоритмический
#include
using namespace std;
int main()
{
long int n;
int sum;
cin > > n;
sum = 1;
while (n > 1)
{
n = n /10;
sum = sum + 1;
}
cout « sum « endl;
}
алг
нач
цел n, sum
ввод n
sum : = 1
нц пока n > 1
n : = div(n, 10)
sum : = sum + 1
кц
вывод sum
кон
python
n = int(
sum = 1
while n > 1:
n //= 10
sum += 1
print(sum)
последовательно выполните следующее.
1. напишите, что выведет эта программа при вводе числа 938.
2. укажите одно число для которого эта программа будет работать верно.
3. найдите все ошибки в этой программе (их может быть одна или несколько). укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки правильный вариант. обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. исправление ошибки должно затрагивать только строку, в которой находится ошибка.
(2. укажите одно число для которого эта программа будет работать верно.)
объясните то что в скобках,я не понимаю
2) Вопрос не понял, но думаю правильно ответил:
var a,b,c,d :int64;
begin
readln(a);
b := a -1;//число до
c := a +1;//число след.
writeln('Число до: ',b,' Число след.: ',c);
end.
3)
var a,b,c,d :int64;
begin
readln(a);//Кол-во учеников
readln(b);//Кол-во яблок
c := b div a;//Яблок каждому ученику
d := b - (a * c);//Яблок в корзине
writeln('Яблок каждому: ',c,' Яблок осталось в корзине: ',d);
end.
4)
var a,b,c,d:int64;
begin
readln(a);//Число
b := a mod 10;//остаток от деления
c := a div 10;//деление без остатка
d := c mod 10;//остаток от деления
writeln('При последнее число: ',d,' Последнее число: ',b);
end.
5)
var a,b,c,d:int64;
begin
readln(a);//Автобус за день
readln(b);//Кол-во дней
c := a * b;
writeln('Автобус проехал: ',c,' (км)');
end.
6)
var a,b,c,d:int64;
begin
readln(a);//Путь муравья
b:= a div 1000;//м
c:= (a - (b*1000)) div 10;
//см
d:= a - (b*1000+c*10);
//мм
writeln('Путь муравья: ',b, ' (м) ',c,' (см) ',d,' (мм)');
end.
7)
var a,b,c,d:int64;
begin
readln(a);//Грань куба
b := a*a*a ;
writeln('Объем куба: ',b, ' м^3');
end.
8)
var a,b,c,d,g:real;
begin
readln(a,c,d,b);//Числа
g:=(a+c+d+b) / 4 ;
writeln('Cреднее арифметическое: ', g);
end.
9)
var a,b,c,d:real;
begin
readln(a,b,c);//Учеников в кадом классе
d:= (a+b+c)/ 2;
writeln('Кол-во парт для 3 классов: ', d);
end.
Объяснение:Все программы написаны на Pascal.
Капец много задач за 5б)))
#include "stdafx.h" #include <conio.h> #define N 3 typedef struct { char name[25]; int tel[15]; int bday[3]; } NOTE; void setValue(NOTE blockNote[N]); void printValue(NOTE blockNote[N]); int _tmain(int argc, _TCHAR* argv[]) { NOTE blockNote[N]; setValue(blockNote); printValue(blockNote); return 0; } void setValue(NOTE blockNote[N]) { for(int i=0; i<N; i++) { printf("Enter name: "); gets_s(blockNote[i].name); printf("Enter tel: "); printf("%d", &blockNote[i].tel); printf("Enter bday (format: day.month.year): "); scanf_s("%d.%d.%d", &blockNote[i].bday[0], &blockNote[i].bday[1], &blockNote[i].bday[2]); printf("---\n"); } } void printValue(NOTE blockNote[N]) { for(int i=0; i<N; i++) printf("name: %s tel: %d bday: %d.%d.%d\n", blockNote[i].name, blockNote[i].tel, blockNote[i].bday[0], blockNote[i].bday[1], blockNote[i].bday[2]); }