Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Условия задач.doc
Скачиваний:
8
Добавлен:
18.11.2019
Размер:
253.95 Кб
Скачать

Условный оператор, оператор множественного выбора

Пример 1. Определить, является ли введенное число четным. Вывести true (четное), false (нечетное).

program primer;

var

N: integer;

f: boolean;

begin

Writeln(‘N=');

Readln(N);

F := N mod 2 =0;

Writeln(F);

Readln;

end.

  1. Определить, делится ли введенное число на 3. Вывести true (делится), false (не делится).

  2. Вводится число. Если оно делится на 2 или на 3, то вывести true, в противном случае вывести false.

Пример 2. Определить, принадлежит ли введенное число интервалу (0; 10).

0< x< 10

(x>0) and (x<10)

program primer;

var

x: integer;

f: boolean;

begin

Writeln(‘x=');

Readln(x);

F := (x>0) and (x<10);

Writeln(F);

Readln;

end.

  1. Определить, принадлежит ли введенное число интервалу (-; -10) U (10; +∞).

  2. Определить, принадлежит ли введенное число интервалу (-10; -5) U (5; 10).

Пример 3. Вводится число. Если оно положительное, то уменьшить его в 10 раз.

Program primer;

Var a: real;

BEGIN

write('a='); readln(a);

if a>0 then a:=a/10;

writeln('a=', a);

readln

END.

  1. Вводятся X и Y. Заменить большее из этих чисел разностью большего и меньшего.

  2. Вводятся Х и Y. Если хотя бы одно из этих чисел четно, то найти их произведение. Иначе – найти их сумму.

Пример 4. Выбрать минимальное из трех введенных целых чисел.

Program primer;

Var a, b, c, m: integer;

BEGIN

write('a, b, c='); readln(a, b, c);

if a<b then m:=a else m:=b;

if c<m then m:=c;

writeln('Мin=', m);

readln

END.

  1. Выбрать максимальное из трех введенных целых чисел.

  2. Из чисел A, B, C, D выбрать максимальное.

  3. Решить квадратное уравнения вида Ax2 + Bx + C = 0.

Пример 5. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

program primer;

var x,y: real;

begin

Write('введите x y ');

readln (x,y);

if (sqr(x)+sqr(y)<=25) and (sqr(x)+sqr(y)>=4) then writeln('точка попадает в заштрихованную область')

else writeln('точка не попадает в заштрихованную область');

readln;

end.

  1. Вводятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

  1. В водятся координаты точки. Определить попадает ли точка в заштрихованную область или нет.

Пример 6. Вводятся три числа A, B, C. Определить, сколько среди них нечетных.

program primer;

var a, b, c, k: integer;

begin

write('a, b, c= ');

readln (a, b, c);

k:=0;

if (a mod 2=1) then k:=k+1;

if (b mod 2=1) then k:=k+1;

if (c mod 2=1) then k:=k+1;

writeln(‘k=’,k);

readln;

end.

  1. Вводятся четыре числа A, B, C, d. Определить, сколько среди них отрицательных.

  2. Вводятся четыре числа A, B, C, D. Определить, содержится ли среди них число 29?

Пример 7. Введено трехзначное число. Необходимо разбить его на цифры. Все четные цифры, которые меньше 8 увеличить на 2, а 8 заменить на 0.

program primer;

var n,a,b,c,d:Integer;

begin

write('введите n'); readln (n);

a:=n div 1000; b:=n div 100 mod 10;

c:=n div 10 mod 10; d:=n mod 10;

if (a mod 2=0) and (a<8) then a:=a+2 else if a=8 then a:=0;

if (b mod 2=0) and (b<8) then b:=b+2 else if b=8 then b:=0;

if (c mod 2=0) and (c<8) then c:=c+2 else if c=8 then c:=0;

if (d mod 2=0) and (d<8) then d:=d+2 else if d=8 then d:=0;

n:=1000*a+100*b+10*c+d;

writeln('результат= ', n);

readln;

end.

  1. Введено четырехзначное число. Найти сумму четных цифр.

  2. Введено четырехзначное число. Найти среднее арифметическое нечетных цифр.

Резерв 1. Даны два натуральных числа A и B. Выяснить, делится ли A на B.

Резерв 2. Введено четырехзначное число. Найти сумму цифр, кратных 3-м.

Резерв 3. Введено трехзначное число. Если сумма его цифр нечетна, то увеличить число вдвое.

Резерв 4. Введено трехзначное число. Если в записи числа встречается цифра 5, то записать число в зеркальном отображении.

Пример 8. Составить программу, которая по введенному номеру месяца определяет время года.

N – номер месяца. Зима – 12, 1, 2. Весна – 3, 4, 5 и т.д.

Program primer;

Var n: integer;

Begin

Write(‘n=’);

Readln(n);

Case n of

12, 1, 2 : writeln(‘зима’);

3, 4, 5 : writeln(‘весна’);

6, 7, 8 : writeln(‘лето’);

9, 10, 11 : writeln(‘осень);

else

writeln(‘Ошибка’);

end;

End.

  1. По введенному номеру вывести день недели.

  2. Составить программу, моделирующую работу простейшего калькулятора.

Циклы

Пример 1. Вывести квадраты первых десяти натуральных чисел.

Program primer;

Var i, x: integer;

begin

for i:=1 to 10 do begin {перебираем натуральные числа от 1 до 10}

x:=sqr(i); {возводим очередное число в квадрат}

write(x, ' '); {выводим полученное значение}

end;

readln

end.

  1. Дано натуральное число n. Вывести первые n членов арифметической прогрессии 3x+1.

  2. Числа Фибоначчи – это последовательность: 1, 1, 2, 3, 5, 8… (начиная с третьего числа – очередное число равно сумме двух предыдущих). Дано натуральное число n. Вывести первые n чисел Фибоначчи.

Пример 2. Найти сумму 1 + 1/3 + 1/5 +...(N слагаемых).

Program primer;

Var I, N: integer;

S: real;

begin

Write('N='); Readln(N); {вводим количество слагаемых}

S:=0; {обнуляем сумму}

For I:=1 to N do {выполняем цикл N раз, добавляя к сумме по од ному слагаемому}

S:=S+1/(2*I-1);

Writeln('S=',S:5:2); {выводим значение суммы с двумя десятичными знаками}

Readln

end.

  1. Дано натуральное число n. Найти сумму S=1+2/3+3/7... (n слагаемых)

  2. Дано натуральное число n. Найти сумму S = 1 -3 +5 - ... (n слагаемых)

Резерв 1. Дано натуральное число n. Вычислить .

Резерв 2. Даны натуральные числа а, n. Вычислить .

Резерв 3. Найти произведение: Р = (1 + х)·(3+2х)·(5+3х)·... . (n множителей)

Резерв 4. Дано натуральное число n. Найти сумму S = 10/3 - 100/5 + 1000/7 - ... (n слагаемых).

Резерв 5. Дано натуральное число n. Найти сумму ряда: S = x - x2 /4 + x3/9 - x4/16... (n слагаемых).

Пример 3. Подсчитать количество двузначных чисел, кратных 3.

Program primer;

Var i, k: integer;

begin

k:=0; for i:=10 to 99 do begin

if i mod 3=1 then k:=k+1;

end;

writeln ('k=', k);

readln;

end.

  1. Подсчитать количество и сумму четных трехзначных чисел.

  2. Подсчитать количество двузначных чисел, у которых сумма цифр нечетна.

Резерв 1. Подсчитать сумму двухзначных чисел, сумма цифр которых не превышает 7.

Резерв 2. Подсчитать количество и сумму трехзначных чисел, кратных 3.

Пример 4. Найти сумму четных делителей введенного целого числа.

Program primer;

Var i, S, n: integer;

begin

Write (‘n=’); Readln(n);

S:=0;

for i:=2 to (n div 2) do

if (n mod i=0) and (i mod 2=0) then s:=s+i;

writeln('S=', S);

readln;

end.

  1. Определить, является ли введенное целое число простым или составным.

  2. Вводятся целые числа n и k. Вывести на экран все простые числа, попадающие в диапазон [n, k].

Пример 5. Задана арифметическая прогрессия -21; - 16;… Определить номер первого положительного члена прогрессии.

a – очередной член прогрессии, n – его порядковый номер

Program primer;

var

a, n: integer;

begin

a:= -21; n:=1;

while a<=0 do begin

a:=a+5; n:=n+1; end;

writeln(‘n=’, n);

readln;

end.

Program primer;

var

a, n: integer;

begin

a:= -21; n:=1;

repeat

a:=a+5;

n:=n+1;

until a>0;

writeln(‘n=’, n);

readln;

end.

  1. Задана арифметическая прогрессия 2; 2,8; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >20.

  2. Задана арифметическая прогрессия 7,6; 6,3;.... Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0.

Резерв 1. Задана арифметическая прогрессия. 2; 3,8; ... . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала >30.

Резерв 2. Задана арифметическая прогрессия. 7,1; 5,3; … . Сколько членов прогрессии нужно сложить, чтобы полученная сумма стала <0.

Резерв 3. Задана геометрическая прогрессия 128; 64;...Определить номер члена прогрессии, который <0.1.

Пример 6. Протабулировать функцию y=2x+1 интервале [-3; 3] с шагом 0.5.

Program primer;

Const h=0.5;

Var x, y: real;

begin

x:=-3;

while x<=3 do

begin

y:=2*x+1;

writeln('x=',x:8:2,' y=',y:8:2);

x:=x+h;

end;

readln;

end.

Program primer;

Const h=0.5;

Var x, y: real;

begin

x:=-3;

repeat

y:=2*x+1;

writeln('x=',x:8:2,' y=',y:8:2);

x:=x+h;

until x>3;

readln;

end.

  1. Протабулировать функцию y=x3-1 на интервале [-1,3] с шагом 0.2.

  2. Протабулировать функцию y=x2-1/x на интервале [1,2] с шагом 0.05.

Пример 7. Вычислить сумму с заданной точностью E=0.0001.

Program primer;

Var S, e, slag: real;

k: integer;

begin

e:=0.0001; s:=0; k:=1;

slag:= k/sqr(k+1);

repeat

s:=s+slag;

k:=k+1;

slag:=k/sqr(k+1);

until slag<e;

write (‘s=’, s:6:2);

readln;

end.

  1. Вычислить сумму с заданной точностью E=0.0001.

  2. Вычислить сумму с заданной точностью E=0.001, |x|>1.