Результат работы программы




 

Решение задачи

Постановка задачи

Долгожитель, т.е. человек, проживший более 100 лет, обратил внимание, что если к сумме квадратов цифр его возраста прибавить число его дня рождения, то получится как раз его возраст. Определить, сколько лет этому человеку.

Таблица идентификаторов

 

Переменные тип Значения
  n integer Возраст человека
  i integer Месяц рождения человека
  a integer Единицы
  b integer Остаток от деления на 100
  h integer Десятки
6. с integer Сотни
  v integer Сумма квадратов цифр его возраста

 


Блок-схема

 
 

 

Программа

Program data;

Uses crt;

Var i, n, a, b, c, v, h: integer;

Begin

Clrscr;

For n: =100 to 999 do

for i: =1 to 31 do

begin

a: =n mod 10;

b: =n mod 100;

h: =b div 10;

c: =n div 100;

v: =a*a+h*h+c*c;

if n=i+v then writeln (n,' ', i);

end;

readln;

end.

Результат работы программы

 

Решение задачи

 

Постановка задачи

Нарисовать рисунок.

 

Таблица идентификаторов

 

Переменные тип Значения
  Gd integer Графический драйвер
  Gm integer Графический режим

 

Программа

Uses graph,crt;

Var gd, gm: integer;

Begin

gd: =0; gm: =0;

Initgraph (gd, gm,' ');

setcolor (5);

Line (100, 200,250, 200);

Line (250, 200, 209,150);

Arc (157,183, 61, 195, 60);

Setfillstyle (0,3);

Floodfill (256, 200,5);

Ellipse (200, 135, 75, 233, 15, 20);

Ellipse (200, 135, 303, 75, 15, 20);

Ellipse (208, 139, 303, 91, 15, 24);

setfillstyle (1,8);

floodfill (220,145,5);

Arc (120, 200, 180, 0,10);

Setfillstyle (1,1);

Floodfill (125, 202,5);

Arc (120, 200, 180, 0, 15);

Arc (130, 200, 260, 0, 15);

Arc (200, 200, 180, 0,10);

setfillstyle (1,1);

Floodfill (125, 202,5);

Arc (120, 200, 180, 0, 15);

Arc (130, 200, 260, 0, 15);

Arc (200, 200, 180, 0,10);

Setfillstyle (1,1);

Floodfill (200, 202,5);

Arc (200, 200, 180, 0, 15);

Arc (210, 200, 260, 0, 15);

Line (150, 90, 150, 124);

Line (155, 90, 155, 123);

Line (150, 90, 155, 90);

Setfillstyle (1,1);

Floodfill (153, 100,5);

Arc (144, 83, 41, 310,10);

Arc (158, 83, 259, 126,10);

Setfillstyle (1,1);

Floodfill (144, 83,5);

Circle (144, 83,5);

Setfillstyle (1,2);

Floodfill (144, 83,5);

Circle (158, 83,5);

Setfillstyle (1,2);

Floodfill (158, 83,5);

Circle (255, 200,5);

Setfillstyle (1,4);

Floodfill (255, 200,5);

Setfillstyle (1,8);

Floodfill (200, 150,5);

Circle (215, 177,7);

Setfillstyle (1,9);

Floodfill (215, 177,5);

Setfillstyle (1, 14);

floodfill (121, 200,5);

readkey;

closegraph;

end.


Решение задачи

 

Постановка задачи

Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения суммы n первых членов прогрессии.

Таблица идентификаторов

 

Переменные Тип Значение
  Sn Real Сумма n первых членов арифметической прогрессии
  n integer Количество членов арифметической прогрессии
  A1,A2 Real Первый и второй члены арифметической прогрессии
  d Real Разность прогрессии

 


Блок-схема

       
   
 

 

Программа

Program recursiy;

var A1,d,A2,Sn: real; n: integer;

function prog (n: integer): integer;

begin

if n=1 then prog: =A1 else prog: =A1+d* (n-1) +prog (n-1);

end;

begin

Writeln ('введите n');

readln (n);

writeln ('введите первый и 2-ой член арифметической прогрессии');

readln (A1, A2);

d: =A2-A1;

Sn: =prog (n);

writeln (Sn);

readln;

end.

Результат работы программы

 

Решение задачи

 

Постановка задачи

Дан двумерный массив. Удалить среднюю строку (строки).

Таблица идентификаторов

 

Переменные Тип Значение
  a array заполнение двумерного массива
  i, j integer Параметры цикла
  n, m integer Размерность массива
  k integer Количество элементов до среднего

 
 

3.6.3 Блок-схема

Программа

Var a: array [1..100,1..100] of integer;

i,j,m,n,k: integer;

begin

writeln ('Введите разм. мас');

readln (n,m);

randomize;

for i: =1 to n do

begin

for j: =1 to m do

begin

a [i,j]: =random (100);

write (a [i,j]: 3);

end;

writeln;

end;

writeln ('После удаления');

if n mod 2<>0 then begin k: =n div 2+1;

For i: =k to n-1 do

for j: =1 to m do

a [i,j]: =a [i+1,j];

for i: =1 to n-1 do

begin

for j: =1 to m do

write (a [i,j]: 3);

writeln;

end;

end

else

if n mod 2=0 then begin k: =n div 2;

For i: =k to n-2 do

for j: =1 to m do

a [i,j]: =a [i+2,j];

for i: =1 to n-2 do

begin

for j: =1 to m do

write (a [i,j]: 3);

writeln;

end; end;

readln;

end.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-01-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: