Отчет по практике «Основы алгоритмизации и программирования»

  • 17 нояб. 2010 г.
  • 1292 Слова
Министерство образования и науки Республики Казахстан
Международная Бизнес Академия
Бизнес колледж

Кафедра «Информационных технологий»

ОТЧЕТ
По практике «Основы алгоритмизации и программирования»

Выполнил: учащийся группы кВМ-07
Томас ВиктораПринял: ст.преподаватель кафедры ИТ
Краснов А.М.

Караганда 2010

Задачи на линейные алгоритмы

1. Составьте программу, делящую две обыкновенные дроби.

Математическая модель:[pic]

ch1,ch2,zn1,zn2, ch,zn - целые

Блок-схема:

1

2

3

4

5

Листинг:

program Delenie;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
ch1,ch2,zn1,zn2:integer;
ch,zn:integer;
d:integer;
begin
write('Vvedite chislitel pervoj drobi: ');readln(ch1);
write('Vvedite znamenatel pervoj drobi: ');
readln(zn1);
write('Vvedite chislitel vtoroj drobi: ');
readln(ch2);
write('Vvedite znamenatel vtoroj drobi: ');
readln(zn2);
writeln;
writeln(ch1,'/',zn1,' : ',ch2,'/',zn2,' = ',ch1*zn2,'/',zn1*ch2);
readln;
end.

2. Мельхиор – это сплав никеля и меди, массы которых пропорциональны числам 2 и 9. Сколько потребуется никеля и меди длявыплавки С кг мельхиора?

Математическая модель:

1) Вычисление количество никеля

[pic]

2) Вычисление количества меди

[pic]

R , X, Y – вещественные

Блок-схема:

1

2

3

4

5

6

Листинг:

program Melhior;
{$APPTYPE CONSOLE}
uses
SysUtils;var
R, X, Y: Real;

begin
Write('Vvedite kolichestvo kg melhiora: ');
ReadLn(R);
X := R*2/11;
WriteLn('Nujno nikelya: '+FloatToStr(X)+'kg');
Y := R*9/11;
WriteLn('Nujno medi: '+FloatToStr(Y)+'kg');
ReadLn;
end.

Задачи на разветвляющиеся алгоритмы

1. Валя и Вера собрались варить варенье из А кг смородины. По рецепту на 2 кг ягод нужно 3 кг сахара. Валя сказала, чтоим потребуется С кг сахара, а Вера - что Р кг. Кто из них прав?

Математическая модель:

Формула вычисления количества нужного сахара:

S=3/2*a

Максимальная допустимая погрешность: 0.01 кг

a, c, p, s, dve, dva - вещественные

Блок-схема:

[pic]

Листинг:

program Varenie;

{$APPTYPE CONSOLE}

uses
SysUtils;
const
eps=0.01;//точность ответа
var
a, c, p, s, dve,dva: real;
begin
write('Smorodina (kg): ');
readln(a); // смородина
write('Valja govorit nujno sahara (kg): ');
readln(c); // Валя
write('Vera govorit nujno sahara (kg): ');
readln(p); // Вера
// Прав тот кто указал количество сахара, ближайшее к необходимому,
// а ошибка не превышает eps кг.
s:=1.5*a;
dve:=abs(s-p);
dva:=abs(s-c);
if (dve eps) then writeln('Vera prava')else if (dva eps) then writeln('Valja prava')
else if (dva Max then
Max := T[i];
if T[i] < Min then
Min := T[i];
Sr := Sr+T[i];
end;
Sr := Sr/6;
WriteLn('Max=', Max:0:1);
WriteLn('Min=', Min:0:1);
WriteLn('Srednee=', Sr:0:1);
ReadLn;
end.

Задачи на двумерные массивы

1. Дан целочисленный массив В[1..5, 1..5]. Найти наименьшийэлемент массива и сообщить его расположение относительно правой диагонали.

Блок-схема:

[pic]

Листинг:

program Diagonal;

{$APPTYPE CONSOLE}

const
N = 5;
var
A : array[1..N,1..N] of Integer;
i,j,b,d: Integer;
begin
{запоняем случайно массив? выводим на экран}
Randomize;
for i:=1 to N do
begin
for j:=1 to N do
begin
A[i,j]:=Random(50);
Write('...
tracking img