Население районного центра составляет 30000 человек. ежегодный прирост населения 5%. составьте блок-схему вычисления предполагаемой численности населения через 4 года.
30. 000 * 0,05=1500 31.500 через год 31.500 * 0,05 =1575 33.075 через 2 года 33.075 * 0,05 ~ 1653 34. 728 через 3 года 34.728 * 0,05 ~ 1736 36.464 через 4 года
mshelen732
04.05.2020
Общее решение, позволяющее удалять из строк любой "мусор"
// PascalABC.Net 3.0, сборка 1066 procedure CheckString(var s:string; var n:integer); var i:integer; begin i:=Length(s); while i>0 do begin if not(s[i] in ['a'..'z']) then Delete(s,i,1); Dec(i) end; n:=Length(s) end;
var s1,s2:string; i,p,n1,n2:integer; begin Write('Введите первую строку: '); Readln(s1); CheckString(s1,n1); if n1=0 then Writeln('Введенная строка не содержит допустимых символов') else begin Write('Введите вторую строку: '); Readln(s2); CheckString(s2,n2); if n2=0 then Writeln('Введенная строка не содержит допустимых символов') else { теперь обе строки содержат только маленькие латинские буквы } if n1=n2 then begin for i:=1 to n1 do begin p:=Pos(s1[i],s2); if p=0 then Break else Delete(s2,p,1) end; if Length(s2)=0 then Writeln('Решение имеется') else Writeln('Решения нет') end else Writeln('Решения нет'); end end.
Тестовое решение: Введите первую строку: this is my own deal! Введите вторую строку: Тест: *is now=l2ead my sthi? Решение имеется
Также имеется современное решение, которому пока что в школах не учат: // PascalABC.Net 3.0, сборка 1066 begin var s1:=ReadString('Введите первую строку: ').Where(x->x in ['a'..'z']); if s1.Count=0 then Writeln('Введенная строка не содержит допустимых символов') else begin var s2:=ReadString('Введите вторую строку: ').Where(x->x in ['a'..'z']); if s2.Count=0 then Writeln('Введенная строка не содержит допустимых символов') else if s1.Except(s2).Count>0 then Writeln('Решения нет') else Writeln('Решение имеется') end end.
Коновалова
04.05.2020
Ну, в общем, лови решение.
{ FreePascal 2.6.4} program test; uses crt; var a, b, c, d : integer; f : longint;
procedure swap (var x : integer; var y : integer); var z : integer; begin z := x; x := y; y := z; end;
function nod (m, n : integer) : integer; begin while m<>n do begin if m>n then m:=m-n else n:=n-m; end; nod := m; end;
function max (a,b : integer) : integer; begin if a>b then max := a else max := b; end;
function min (x, y, z : integer) : integer; var m : integer; begin m := x; if y<m then m := y; if z<m then m := z; min := m; end;
function mypow (a, b : integer) : integer; var e, f : integer; begin f := 1; for e:=1 to b do f := f*a; mypow := f; end;
function fact(a : integer) : longint; var i : integer; res : longint; begin res := 1; for i := 1 to a do res := res*i; fact := res; end;
begin clrscr; writeln('Test of function SWAP'); write('Input A: '); readln(a); write('Input B: '); readln(b); swap(a, b); writeln('A=', a, ', B=', b); writeln;
writeln('Test of function NOD'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := nod(a, b); writeln('NOD(', a, ',', b, ')=', c); writeln;
writeln('Test of function MAX'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := max(a, b); writeln('MAX(', a, ',', b, ')=', c); writeln;
writeln('Test of function MIN'); write('Input A: '); readln(a); write('Input B: '); readln(b); write('Input C: '); readln(c); d := min(a, b, c); writeln('MIN(', a, ',', b, ',', c, ')=', d); writeln;
writeln('Test of function POW'); write('Input A: '); readln(a); write('Input B: '); readln(b); c := mypow(a, b); writeln('POW(', a, ',', b, ')=', c); writeln;
writeln ('Test of function FACT (not large than 12!)'); write('Input A: '); readln(a); f := fact(a); writeln(a, '!=', f); writeln; readkey;
31.500 через год
31.500 * 0,05 =1575
33.075 через 2 года
33.075 * 0,05 ~ 1653
34. 728 через 3 года
34.728 * 0,05 ~ 1736
36.464 через 4 года