Самостоятельная работа № 12 Примеры решения задач

  • docx
  • 11.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00748.docx

Самостоятельная работа № 12

Примеры решения задач

Пример 1. Вычислить хn , используя рекурсивную функцию.

Решение:

uses crt;

var x1,x2:word;

    i,m:byte; s:longint;

function xn(x,n:byte):longint;

begin

if n=0 then xn:=1

else xn:=xn(x,n-1)*x;

end;

begin

clrscr;

write('x,n='); readln(x1,m);

writeln('xn-',xn(x1,m));

readkey;

end. 

 

Пример 2. Написать рекурсивную функцию вычисления суммы
1 + 2 + 3 + 4 + 5 + … + N.

Решение:

uses crt;

var m:word;

funnction sum(n:word):longint;

begin

if n=1 then sum:=1 else sum:=sum(n-1)+n;

end;

begin

write('n=');

readln(m);

writeln('сумма -',sum(m));

readkey;

end.

 

Пример 3. Написать функцию, подсчитывающую количество цифр числа. Используя  ее, определить, в каком из двух данных чисел больше цифр.

Решение:

uses crt;

var nl,n2:longint;

    kl,k2:byte;

function Quantity(x:longint):byte;

var k:byte;

begin

while x<>0 do

begin

inc(k); x:=x div 10; end;

Quantity:=k;

end;

begin

writeln ('Введите два числа’);

readln(nl,n2);

kl:=Quantity(nl); {количество цифр первого числа}

k2:=Quantity(n2);{количество цифр второго числа}

if kl=k2 then writeln('Одинаковое количество цифр') else if kl>k2 then writeln('В первом числе цифр больше') else writeln('Во втором числе цифр больше');

readkey;

end. 

 

Пример 4. Дана точка. Определить, лежит ли она в кольце.

Решение:

uses crt;

var x,y,r1,r2,a,b:real;

procedure haltpr;

begin

writeln('Неверные данные');

write('r1<r2');

readln; halt;

end;

begin

clrscr;

write('координаты центра окр. a=');readln(a);

write('координаты центра окр. b=');readln(b);

write('x='); readln(x);

write('y='); readln(y);

write('r1=');readln(r1);

write('r2=');readln(r2);

if r1>r2 then haltpr;

if (sqr(x-a)+sqr(y-b)<sqr(r2))and(sqr(x-)+
sqr(y-b)>sqr(r1))

then write('лежит')

else write('не лежит');

readln;

end.

 

Пример 5. Определить, сократимая ли дробь a/b (дробь a/b несократимая, если НОД=1).

Решение:

uses crt;

var m,n,ot:longint;

procedure nod(a,b:longint; var n:longint);

begin

while a<>b do

if a>b then a:=a-b

else b:=b-a;

n:=a;

end;

begin

clrscr;

write('числитель');

readln(m);

write('знаменатель');

readln(n);

nod(m,n,ot);

if ot=1

then write('несократимая')

else write('сократимая');

readln;

end.

 

Задание: Выполните задания в соответствии с номером учащегося в списке по журналу (см. в табл. ).

Таблица  – Номера вариантов учащихся по списку

Номер задания

1,20

2,19

3,18

4,17

5,16

6,15

7,14

8,13

Номер учащегося

в списке по журналу

1,9,

 

2,10,

 

3,11,

 

4,12,

 

5,13,

 

6,14,

 

7,15,

 

8,16,

 

           


 

Скачано с www.znanio.ru