Страницы

Pascal

"Использование растровых изображений. Построение графиков и диаграмм"

1. Составить программу, которая загружает из файлов и выводит на экран портреты ученых.
Program m;
uses GraphABC;
var pic:integer;
begin
SetWindowSize (1000, 1000);
pic:=LoadPicture ('Leonardo.jpg');
DrawPicture (pic, 270, 5, 200, 250);
pic:=LoadPicture ('Newton.jpg');
DrawPicture (pic, 470, 250, 200, 250);
pic:=LoadPicture ('Einstein.jpg');
DrawPicture (pic, 270, 500, 200, 250);
pic:=LoadPicture ('Galileo.jpg');
DrawPicture (pic, 670, 450, 200, 250);
pic:=LoadPicture ('bohr.jpg');
DrawPicture (pic, 670, 50, 200, 250);
end.







"Выполнение задач по учебным предметам"


Астрономия

1. Составить программу, которая загружает из файла и выводит на экран изображение одной из планет Солнечной системы на фоне звёздного неба. 
program n;
uses  GraphABC;
var nebo, zem, luna, x0, y0, R, x, y, u:integer;
begin
SetWindowSize(600,400);
x0:=300; y0:=200;
R:=160;
nebo:=LoadPicture('sky.gif');
zem:=LoadPicture('earth.gif');
luna:=LoadPicture('luna3.gif');
DrawPicture(nebo, 0,0,600,400);
DrawPicture(zem,200,120,200,200);
end.


2. Составьте программу, которая демонстрирует:
а) прямолинейное движение спутника на фоне звездного неба и Земли;
program jjgg;
uses crt,GraphABC;
var nebo,zemlya,sputnik,x:integer;
begin
  SetWindowSize(500,500);
   nebo:=LoadPicture('Sky.jpg');
   zemlya:=LoadPicture('earth.gif');
    SetPictureTransparent (zemlya, true);
   sputnik:=LoadPicture('sputnik.jpg');
   SetPictureTransparent (sputnik, true);
   x:=0;
while x<400 do
begin
   ClearWindow;
   DrawPicture(nebo,0,0);
   SetPictureTransparent (zemlya, true);
   DrawPicture(zemlya,200,150,250,250);
   DrawPicture(sputnik,x,40,50,40);
   x:=x+1;
   sleep(20);
   Redraw;
end;
end.

б) движение планет вокруг Солнца по круговым орбитам. 
Program mvchxf;
     uses crt, GraphABC;
Var fon,a,b,c,x0,y0,x,y,u,R:integer;
Begin
  SetWindowSize(170,150);
  fon:=LoadPicture('sky.gif');
  a:=LoadPicture('sun4.jpg');
  b:=LoadPicture('earth.gif');
  c:=LoadPicture('mars.jpg');
  x0:=75; y0:=55;
  R:=50; u:=1;
  while u<=360 do
    begin
     ClearWindow;
     DrawPicture(fon,0,0);
     DrawPicture(a,70,60,30,30);
     x:=round(x0+R*cos(pi*u/180));
     y:=round(y0-R*sin(pi*u/180));
     DrawPicture(b,x,y,10,10);
     x:=round(x0+R*0.8*cos(pi*u/180));
     y:=round(y0-R*0.8*sin(pi*u/180));
     DrawPicture(c,y,x,10,10);
     U:=u+1;
     sleep(30);
     Redraw;
    end;
End.

География

1. Вывести карту Беларуси и построить таблицу с данными о площади и глубине озёр, столбчатую и линейную диаграмму этих данных.
Program qwerty;
Uses GraphAbc;
Var karta, A : integer;
Begin
setWindowSize(520,480);
karta := LoadPicture('belarus.gif'); DrawPicture(karta,10,10);
setBrushColor(clBlue); 
rectangle(60,320,75,335); 
rectangle(190,130,205,145);
rectangle(210,50,225,65); 
rectangle(250,370,265,385); 
rectangle(270,140,285,155); 
rectangle(360,395,375,410); 
End.

б) Вывести карту Беларуси, построить таблицу с данными о площади и глубине озер, столбчатую, линейчатую диаграмму (столбчатая и линейная диаграммы в разных программах).

program jyflkufl;

uses crt,GraphABC;

const A: array[1..10] of real=(79.6,52.8,40.3,37.71,36.1,26.0,24.6,22.3,22.0,16.2);
B:array[1..10] of real=(24.8,7.5,2.9,11.5,12.0,2.3,8.1,8.7,16.5,24.6);
C:array[1..10] of string

('Нарочь','Освейское','Червоное','Лукомльское','Дривяты','Выгонощанское','Нещердо','Свирь','Снуды','Мядель');

var karta,i,S:integer;

begin

SetWindowSize(600,600);

writeln('Площадь и глубина озер Беларуси:');

karta:=LoadPicture('karta.gif');

DrawPicture(karta,340,0,250,200);

writeln('Озеро':15,'Площадь':13,'Глубина':9);

for i:=1 to 10 do

writeln(i,C[i]:15,' ',A[i]:7:2,' км.кв',B[i]:7:2,'м');

writeln;writeln;

writeln('Выберите вариант диаграммы:1-столбчатая,2-линейная');

read(S);

writeln;

SetPenWidth(5);
case S of
1:begin writeln('Столбчатая диаграмма');
for i:=1 to 10 do
begin
write(' ',i);
SetPenColor(clRed);
Line(5+25*i,420-round(2*A[i]),5+25*i,420);
 SetPenColor(clGreen);
 Line(10+25*i,420-round(2*B[i]),10+25*i,420);
 end;
 end;
 2:begin writeln('Линейчатая диаграмма');
 for i:=1 to 10 do
 begin
 writeln(C[i]:15,' ');
  SetPenColor(clBlue);
   Line(160,250+15*i,160+round(5*A[i]),250+15*i);
  SetPenColor(clPurple);
   Line(160,255+15*i,160+round(5*B[i]),255+15*i);
   end;
   end;
   end;
  end.



в) выводит карту Европы и помечает страны (столицы 7 государств) символами, размеры которых пропорциональны численности населения.
program juyflk;
uses crt,GraphABC;
const A: array[1..7] of real=(37.7,22.0,21.1,17.7,16.2,11.6,7.4);
B:array[1..7] of string=('Берлин','Варшава','Париж','Минск','Стокгольм','Хельсинки','Амстердам');
var karta,i,R:integer;beginSetWindowSize(700,700);
writeln('численность населения столиц государств');
karta:=LoadPicture('karta.gif');
DrawPicture(karta,0,200,700,500);
writeln('Столица':15,'Численность населения':13);
for i:=1 to 7 dowriteln(i,B[i]:15,' ',A[i]:7:1,' тыс.чел');
SetBrushColor(clBlue);
R:=round(sqrt(A[1]/pi));
circle(405,470,R);
R:=round(sqrt(A[2]/pi));
circle(510,465,R);
R:=round(sqrt(A[3]/pi));
circle(250,520,R);
R:=round(sqrt(A[4]/pi));
circle(580,440,R);
R:=round(sqrt(A[5]/pi));
circle(455,373,R);
R:=round(sqrt(A[6]/pi));
circle(530,350,R);
R:=round(sqrt(A[7]/pi));
circle(290,475,R); 
end.

Биология 

1. а) Через сколько дней уровень загрязнения воды уменьшится в N раз, если каждый день он уменьшается на P % (значения N и P вводятся с клавиатуры).
program kjbh;
var N,P,i,t,u0:integer; 
u:real;
begin
write('Введите уровень загрязнения воды');
readln(u0);
write('Введите значение уменьшения загрязнения воды'); 
readln(P);
write ('Введите коэффициент уменьшения загрязнения воды'); 
readln(N);
write('Через',t,'дней');
t:=0; u:=u0;
while u>=u0 div N do
begin
t:=t+1;
u:=u-u*p/100;
end;
end.

б) Через сколько дней количество атомов радиоактивного изотопа Иод-131 уменьшится в 100 раз, если период полураспада составляет 8,14 дня.
  program mhfv;
  var k0:integer; k,t:real;
  begin
  write('Введите количество атомов радиоактивного изотопа Иод-131');
  readln(k0);
  t:=0; k:=k0;
  while k>=k0 div 100 do
  begin
  k:=k/2;t:=t+8.14;
  end;
  write('Через',t,'дней');
  end.
в) Через сколько дней выздоровеет больной, т.е. через сколько дней концентрация болезнетворных бактерий в крови уменьшится с 50 до 12 единиц. В результате применения лекарства концентрация бактерий ежедневно уменьшается на 20% по сравнению с предыдущим днем.
  program poiu;
  var t:integer; k:real;
  begin
  t:=0; k:=50;
  while k>=12 do
  begin
  k:=k-k*20/100;
  t:=t+1;
  end;
  write('Через',t,'дней');
  end.


       Физика
Составьте программу, которая:

а) строит изображения предмета в плоском зеркале (расстояние от предмета до зеркала вводится с клавиатуры):
program fgyiut;
uses crt, GraphABC;
var pic,R:integer;
begin

SetWindowSize (600,500);

 write('Ââåäèòå óãîë ïàäåíèÿ ëó÷à (5-100):');

 readln(R);
pic:=LoadPicture('robot.jpg');
SetPenColor(clYellow);
 SetPenWidth(2);
 line(320,50,320,400);
line(50,400,590,400);
DrawPicture(pic,320+R,100,200,290);
DrawPicture(pic,320-R,100,-200,290);
  SetPenColor(clblue);
  SetPenWidth(2);
   line(trunc(120+R/2),100,trunc(520-R/2),100);
  end.











б) демонстрирует отражение и преломление света на плоской поверхности (угол падения вводится с клавиатуры):

program hjkfgu;
uses crt, GraphABC;

var u,x,y:integer;

begin

SetWindowSize (400,400);
write('ââåäèòå óãîë ïàäåíèÿ ëó÷à(0-90):');
readln(u);
SetPenColor(clBrown);
SetPenWidth(4);
line(150,50,150,350);
SetPenColor(clblue);
line(0,200,300,200);
FloodFill(50,250,clwhite);
SetPenColor(clGreen);
x:=abs(round(150*sin(pi/180*(180-u))));
y:=abs(round(150*cos(pi/180*(180-u))));
line(150,200,150-x,200-y);
x:=round(150*sin(pi/180*u));
y:=round( 150*cos(pi/180*u));
line(150,200,150+x,200-y);
SetPenColor(clpurple);
x:=abs(round(150*sin(pi/180*(270+u))));
y:=abs(round(150*cos(pi/180*(270+u))));
line(150,200,150+ x,200+y);
end.


Комментариев нет:

Отправить комментарий