Задачи Урок 10.1.
Primary tabs
1) Выведите на экран, все числа N единиц (число задает пользователь), например, для N=2, должно быть выведено:: 11
для N=9, должно быть выведено: 111111111
var N,i : integer; begin writeln('Введите число N'); readln(N); for i:= 1 to N do write(1); readln(); end.
2) Выведите на экран, все числа от 35 до 64.
var i : integer; begin for i:= 35 to 64 do write(i, ' '); readln(); end.
3) Пользователь вводит два целых числа, выведите на экран все числа между ними, причем:
Если первое меньше второго, то в порядке возрастания, пример консоли:
1
5
ответ: 1 2 3 4 5Иначе в порядке убывания, пример консоли:
5
3
ответ: 5 4 3Проверить решение для пар значений:
10 20
-- должны увидеть все числа от 10 до 20, и для:20 10
-- все числа от 20 до 10 в обратном порядке
var i, a, b : integer; begin writeln('Введите 2 целых числа'); readln(a, b); if a < b then begin for i := a to b do write(i, ' '); end else begin for i := a downto b do write(i, ' '); end; readln(); end.
4) Выведите на экран, все четные числа от 35 до 64.
var i : integer; begin for i := 35 to 64 do if ((i mod 2) = 0) then write(i, ' '); readln(); end.
5) Пользователь вводит целое число, если оно больше единицы, то выведите на экран все целые числа от этого числа до единицы (в обратном порядке), которые делятся на 5 без остатка. Иначе (если введённое пользователем число не больше единицы) сообщите об ошибке.
var i, a : integer; begin writeln('Введите целое число'); readln(a); if a > 1 then begin for i:= a downto 1 do if (i mod 5 = 0) then write (i, ' '); writeln(); end else writeln('ошибка'); readln(); end.
6) Пользователь вводит целое число, если оно больше 100, то выведите на экран все числа от этого числа до 1, иначе же все числа от 1 до этого числа.
Подсказка: в каждой ветке условного оператора тут должно быть по одному циклу.
var i, a : integer; begin writeln('Введите целое число'); readln(a); if a > 100 then begin for i:= a downto 1 do write(i, ' '); writeln() end else begin for i:= 1 to a do write(i, ' '); end; readln(); end.
7) Выведите на экран, все нечетные числа, делящиеся на 3 нацело, лежащие в диапазоне от 35 до 117.
var i : integer; begin for i:= 35 to 117 do if (i mod 2 = 1) AND (i mod 3 = 0) then write(i, ' '); readln(); end.
8) Выведите на экран, все четные числа от 35 до 117 и нечетные числа, лежащие в диапазоне от 45 до 99.
Указание: сначала можно решить задачу двумя циклами, но потом перепишите с использованием одного цикла, в теле которого составьте логическое выражение, описывающее подходящие числа (используйте логические операции).
2 циклами:
var i : integer; begin for i := 35 to 117 do if i mod 2 = 0 then write(i, ' '); writeln(); for i := 45 to 99 do if i mod 2 = 1 then write(i, ' '); readln(); end.
1 циклом:
var i : integer; begin for i := 35 to 117 do begin if ((i >= 35) AND (i <= 117) AND (i mod 2 = 0)) then write(i, ' ') else if ((i >= 45) AND (i mod 2 = 1)) then write(i, ' '); end; readln(); end.
9) Выведите на экран, все числа делящиеся на 3 из диапазона от 35 до 117 и нечетные числа, лежащие в диапазоне от 45 до 99.
var i : integer; begin for i := 35 to 117 do begin if ((i >= 35) AND (i <= 117) AND (i mod 3 = 0)) then write(i, ' ') else if ((i >= 45) AND (i mod 2 = 1)) then write(i, ' '); end; readln(); end.
10) Переберите в цикле все числа от 1 до 100, выведите на экран каждое 7-е число.
var i : integer; begin for i := 1 to 100 do if (i mod 7 = 0) then write(i, ' '); readln(); end.
11) Есть код -- перепишите его так, чтобы логика программы не изменилась, но количество проверок в теле цикла стало меньше.
var i, a: integer; begin readln(a); if (a > 2) then for i := 1 to 10 do write('*') else write('#'); readln(); end.
- Log in to post comments
- 44 reads