Моделирование - процесс создания модели.
Модель - это образ некоторого объекта, обладающий рядом его признаков.
Условия, при которых необходимо моделирование:
1.исследования слишком опасного(взрыв какого-либо вещества)
2.построения реального объекта слишком дорого(самолёт)
3.когда объект слишком мал(ДНК)
4.когда объект слишком велик(планета)
5.процесс очень медленный(сдвижение тектонических плит)
6.процесс слишком быстрый(полёт пули).
Протатип - объект-оригинал, на основе которого создаётся модель.
Модели бывают:
1.натурные(передают физические характеристики объекта)
2.информационные(передают иные свойства объекта), а также
3.графические
4.знаковые
5.смешанные
Я тут немного отсебятины добавил, что бы программа не слетала если что-то нерпавильное вводиш))
var
a: string;
b: integer;
begin
writeln ('Введите строку');
read (a);
if (a='город минск')
then writeln ('город МИНСК')
else
begin
writeln ('введите "город минск", 1-продолжить, 0-выйти');
read (b);
end;
while (b = 1) do
begin
writeln ('Введіте строку');
read (a);
if (a='город минск')
then writeln ('город МИНСК')
else
begin
writeln ('введите "город минск", 1-продолжить, 0-выйти');
read (b);
end;
end;
end.
I=K*i
Задача 1
количество символов K=40*64*32=5*2^14 символов
1 символ - 1 байт Значит объем статьи I=5*2^14 байт = 5*2^4 Кбайт = 80 Кбайт
4 Гбайт = 2^22 Кбайт=4*1024 * 1024 Кбайт
Количество статей 4*1024*1024/80 =52428,8 (примерно 52429 статей)
Задача 2
К=8*16*40= 5120 символов
1 символ 2 байта Значит статья занимает 10240 байт = 10 Кбайт
16 Гбайт = 2^24 Кбайт =16*1024*1024Кбайт
Количество статей 1677721,6, примерно 1677722 статьи
1.
var a,b,c:longint;
begin
read(a,b,c);
if (a>=b) and (a>=c) then writeln(a) else
if (b>=a) and (b>=c) then writeln(b) else writeln(c);
end.
2.
var r,a:longint;
begin
read(r,a);
if pi*r*r>a*a then
writeln('Круг') else
if pi*r*r=a*a then
writeln('Равны') else
writeln('Квадрат');
end.
3.
var a,b,c,D:real;
begin
read(a,b,c);
D:=b*b-4*a*c;
writeln((-1*b+sqrt(D))/2*a);
writeln((-1*b-sqrt(D))/2*a);
end.
Const
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
//Инициализация и вывод
Randomize;
Writeln('Исходный массив в столбик:');
for i:=1 to n do
begin
d[i]:=Random(-20,18);
Writeln(d[i]:4)
end;
Writeln('Исходный массив в строку:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 1. Найдите отдельное количество
отрицательных и положительных элементов массива.
}
begin
var ineg,ipos:integer;
ineg:=0; ipos:=0;
for i:=1 to n do
if d[i]>0 then Inc(ipos)
else if d[i]<0 then Inc(ineg);
Writeln('Задание 1');
Writeln('Количество отрицательных элементов ',ineg,
', положительных- ',ipos)
end;
{
Задание 2. Найдите произведение элементов,
имеющих значение меньше -2
}
begin
var p:integer:=1;
for i:=1 to n do
if d[i]<-2 then p*=d[i];
Writeln('Задание 2');
Writeln('Произведение элементов, меньших -2: ',p)
end;
{
Задание 3. Найдите максимальный элемент массива из элементов,
стоящих на местах, номера которых кратны пяти.
}
begin
var dmax:integer;
i:=10; dmax:=d[5];
while i<=n do begin
if dmax<d[i] then dmax:=d[i];
i+=5
end;
Writeln('Задание 3');
Writeln('Максимальный элемент массива из элементов,');
Writeln('стоящих на местах с номером, кратным 5: ',dmax)
end;
{
Задание 4. Замените отрицательные элементы,
стоящие на нечётных местах на последний элемент массива
}
i:=1;
while i<=n do begin
if d[i]<0 then d[i]:=d[n];
i+=2
end;
Writeln('Задание 4');
Writeln('Отрицательные элементы, стоящие на нечётных местах,');
Writeln('заменены последним элементом массива:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 5. Если в массиве имеются нулевые элементы,
то найдите сумму элементов массива, имеющих значение, кратное трем,
иначе выведите на экран положительные элементы массива
}
begin
var sum:integer:=0;
var FlagSum:boolean:=False;
for i:=1 to n do
begin
Flagsum:=(d[i]=0);
if FlagSum then break
end;
Writeln('Задание 5');
if FlagSum then begin
for i:=1 to n do
if (d[i] mod 3)=0 then sum+=d[i];
Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum)
end
else
begin
Writeln('Положительные элементы массива:');
for i:=1 to n do if d[i]>0 then Write(d[i]:4);
Writeln
end
end;
{
Задание 6*. Найти в массиве элементы, кратные 12,
и вывести на экран их номера. Если таких элементов нет,
то вывести сообщение об этом на экран.
}
Writeln('Задание 6*');
begin
var k:integer:=0;
var p:array[1..n] of integer;
for i:=1 to n do
if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end;
if k>0 then begin
Writeln('Номера элементов массива, кратных 12:');
for i:=1 to k do Write(p[i]:3);
Writeln
end
else Writeln('В массиве нет элементов, кратных 12')
end
end.
<em><u>Тестовое решение:</u></em>
Исходный массив в столбик:
-12
-5
-2
15
-20
13
-4
-2
12
17
12
14
2
3
-20
Исходный массив в строку:
-12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20
Задание 1
Количество отрицательных элементов 7, положительных- 8
Задание 2
Произведение элементов, меньших -2: -96000
Задание 3
Максимальный элемент массива из элементов,
стоящих на местах с номером, кратным 5: 17
Задание 4
Отрицательные элементы, стоящие на нечётных местах,
заменены последним элементом массива:
-20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20
Задание 5
Положительные элементы массива:
15 13 12 17 12 14 2 3
Задание 6*
Номера элементов массива, кратных 12:
9 11
<em><u>Задание 7*. Выведите на экран одномерный массив,</u></em>
<em><u>раскрасив в нем красным цветом кратные 12 элементы.</u></em>
uses
GraphABC;
const
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
SetWindowSize(800,600);
Randomize;
for i:=1 to n do
begin
d[i]:=Random(-20,18);
if (d[i] mod 12)=0 then begin
SetFontColor(clRed);
Write(d[i]:4);
SetFontColor(clBlack)
end
else Write(d[i]:4)
end;
Writeln
end.