Задача 1.
Напишите программу для выведения на экран трёх чисел в порядке обратном вводу. Нужно ввести с клавиатуры три числа (первое, второе и третье), а компьютер должен вывести третье, затем первое и второе.
program tri_сhisla;
var a, b, c: integer;
begin
writeln('Введите три числа через пробел');
readln(a, b, c);
writeln(c,' ', a, ' ',b);
read
end.
Решение:
Задача 2.
Напишите программу, которая производит обмен значений переменных x и y, если x больше y.
program Obmen;
var x,y: integer;
begin
writeln('Введите значения x и y');
readln(x,y);
if x>y then
begin
x:=x+y;
y:=x-y;
x:=x-y;
writeln('x=',x);
writeln('y=',y);
readln
end;
end.
Задача 3.
Напишите программу для вычисления наибольшего общего делителя двух целых чисел.
program nod1;
var
m, n: integer;
nod: integer;
begin
writeln ('Введите первое число m=');
readln (m);
writeln ('Введите второе число n=');
readln (n);
while m<>n do
if m>n then m:=m-n
else n:=n-m;
nod:=m;
writeln('НОД = ', nod);
readln
end.
1 способ
2 способ
program nod2;
var
m, n: integer;
nod: integer;
begin
writeln ('Введите первое число m=');
readln (m);
writeln ('Введите второе число n=');
readln (n);
repeat
if m>n then m:=m-n;
if m
until m=n;
nod:=m;
writeln('НОД = ', nod);
readln
end.
Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен 0) и подсчет количества введенных положительных и отрицательных чисел.
Задача 4.
program podschet_chisel_1;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
repeat
writeln ('Введите целое число>>');
readln (n);
if n>0 then k1:=k1+1;
if n<0 then k2:=k2+1;
until n=0;
writeln ('Введено:') ;
writeln ('положительных чисел - ', k1);
writeln ('отрицательных чисел - ', k2);
readln
end.
Задача 5.
Даны натуральные числа n и k. Составить программу вычисления выражения 1k + 2k + … + nk. Для решения задачи нужно организовать два цикла, один из которых поместим внутрь другого. Такие конструкции называют вложенными циклами.
program dvazikla;
var
n,k,sum,d,i,j : integer;
begin
writeln('Введите значения n и k через пробел');
readln(n,k);
sum:=0;
for i:=1 to n do
begin
d:= 1;
for j:=1 to k do
d:=d*i;
sum:= sum+ d;
end;
writeln(sum);
readln
end.
Задача 6.
Проверить, является ли четырехзначное число счастливым билетом. Дано четырехзначное число. Проверить, является ли оно «счастливым билетом».
Счастливым билетом называется число, в котором: а) при четном количестве цифр в числе сумма цифр его левой половины равна сумме цифр его правой половины; б) при нечетном количестве цифр – то же самое, но с отбрасыванием серединной цифры.
program Schastliviy_bilet;
var
n: integer;
left, right: integer;
begin
writeln('Введите номер билета - четырёхзначное число');
readln(n);
right := n mod 10;
n := n div 10;
right := right + n mod 10;
n := n div 10;
left := n mod 10;
n := n div 10;
left := left + n;
writeln(left=right);
if left=right then writeln('Билет является счастливым')
else writeln('Билет не является счастливым');
readln
end.
Program Summa_ch;
Var a, i, sum, n: integer;
Begin
Writeln('Введите количество чисел n<=1000 n=');
Readln(n);
sum:=0;
For i:=1 to n do
Begin
Writeln('Введите число’);
Readln(a);
sum:= sum + a;
End;
Writeln('sum=', sum);
readln
End.
Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел.
Задача 7.
Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, КРАТНЫХ 4. В последовательности всегда имеется число, кратное 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, кратных 4.
Задача 8.
Program Summa_ch1;
Var a, i, sum, n: integer;
Begin
Writeln('Введите количество чисел n<=1000 n=');
Readln(n);
sum:=0;
For i:=1 to n do
Begin
Writeln('Введите число’);
Readln(a);
if a mod 4 = 0
then sum:= sum + a;
End;
Writeln('sum=', sum);
readln
End.
Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2. В последовательности всегда имеется число, ОКАНЧИВАЮЩЕЕСЯ на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чисел, ОКАНЧИВАЮЩИХСЯ на 2.
Задача 9.
Program Summa_ch2;
Var a, i, sum, n: integer;
Begin
Writeln('Введите количество чисел n<=1000 n=');
Readln(n);
sum:=0;
For i:=1 to n do
Begin
Writeln('Введите число’);
Readln(a);
if a mod 10 = 2
then sum:= sum + a;
End;
Writeln('sum=', sum);
Readln
End.
Напишите программу, которая в последовательности натуральных чисел определяет СУММУ чисел, чётных чисел. В последовательности всегда имеется чётное число. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – СУММУ чётных чисел.
Задача 10.
Program Summa_ch3;
Var a, i, sum, n: integer;
Begin
Writeln('Введите количество чисел n<=1000 n=');
Readln(n);
sum:=0;
For i:=1 to n do
Begin
Writeln('Введите число');
Readln(a);
if a mod 2 = 0
then sum:= sum + a;
End;
Writeln('sum=', sum);
Readln
End.
Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел.
Задача 11.
program chisla;
var
n, a, i, k, l, m: integer;
begin
k := 0;
l := 0;
m := 0;
writeln ('Введите количество чисел');
read(n);
for i := 1 to n do
begin
writeln ('Введите число');
read(a);
if (a = 0) then
k := k + 1;
if (a > 0) then
l := l + 1;
if (a < 0) then
m := m + 1;
end;
writeln(k, ' ', l, ' ', m, ' ');
end.
Задача 12.
Дано натуральное число N. Определить наименьшую и наибольшую цифры данного числа
program chislo1;
var
a, b, c: integer;
begin
writeln ('Введите число');
read(a);
b := 10;
c := -10;
while a > 0 do
begin
if (a mod 10 > c) then
c := a mod 10;
if (a mod 10 < b) then
b := a mod 10;
a := a div 10;
end;
writeln(b, ' ', c);
read
end.
Задача 13.
Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0).Числа, следующие за числом 0, считывать не нужно
program posledov;
var
a, s: integer;
begin
s := 0;
writeln ('Введите число');
read (a);
while a <> 0 do
begin
s := s + 1;
read(a);
end;
writeln(s);
end.
Задача 14.
Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Входные данные: задано единственное целое число N. Выходные данные: необходимо вывести все точные квадраты натуральных чисел, не превосходящие данного числа N.
program kvadratchislo;
var
i, n: integer;
begin
writeln ('Введите количество чисел');
read(n);
for i := 1 to n do
if sqr(i) <= n then
writeln(sqr(i));
readln
end.
Задача 15.
Определите количество четных элементов в последовательности, завершающейся числом 0. Само число 0, и все, что следует за ним, учитывать не нужно.
program posvedchet;
var
a, k: integer;
begin
k := 0;
writeln ('Введите число');
read(a);
while a <> 0 do
begin
if (a mod 2 = 0) then
k := k + 1;
read(a);
end;
writeln(k);
end.
© ООО «Знанио»
С вами с 2009 года.