Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число N (гарантируется, что 10 ≤ N ≤ 108) и выводится двузначное число, образованное двумя его первыми (старшими) цифрами. Например, при N = 2014 надо вывести 20. Ученик написал такую программу:
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N WHILE N>100 N = N MOD 100 WEND PRINT N END | var n: longint; begin read(n); while n>100 do begin n := n mod 100 end; write(n); end. |
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main(){ long int n; cin >> n; while (n>100) { n = n % 100; } cout << n; } | алг нач цел n ввод n нц пока n>100 n := mod(n,100) кц вывод n кон |
| Python | |
n = int(input()) while n > 100: n %= 10 0 print(n) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 2014.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
PDF-версии: 