Блок схема задана, на листе. Проверяем на истинность, если x≥3 , у примет значение
, если это условие ложное, то x<3 и у равно
tgx.
Вариантов масса. первое что приходит на ум взято из "похождения бравого солдата швейка" если не ошибаюсь. там в свою очередь этот способ упоминался как шифрование данных при передаче приказов в войне с наполеоном. суть - командующие перед выступлением договаривались какую книгу использовать(например войну и мир, естественно одного и того издания(конечно же войну и мир при наполеоне еше никто не написал, возьми другую, сча даже лень придумывать)). когда командующие уже разъехались по местам дисколации им высылали шифры, состоящие сплошь из цифр. а цифры в свою очередь это номера страниц и слов в той книге, про которую изначально договорились. таким образом, даже если гонца перехватят, враги получат только набор цифр, не зная книги ключа не возможно понять смысл шифра.
var i,a,n,k:longint;
var mas:array[1..100000000] of longint;
begin
k:=0;
writeln('Введите количество элементов массива');
readln(n);
writeln('Введите число A');
readln(a);
for i:=1 to n do begin writeln('Введите элемент массива'); readln(mas[i]); if mas[i]>a then k:=k+1; end;
writeln(k,' элементов массива больше числа',' ', a);
end.
Ошибки:
1) writeln("Введите размерность массива); - здесь опечатка (пропущены кавычки), должно быть writeln('Введите размерность массива');
2) writeln('Введите массив'); - пользователь не вводит массив, здесь надо написать writeln('Создаём массив...');
3) Перед циклом нужно определить начальные значения переменных с и s
c:=0; s:=0;
4) У первого цикла есть begin, но нет end
5) s:=s+a[i]; эта команда повторяется дважды - второй раз (после if) не нужен
6) Лишний end; (предпоследняя строка программы)
И ещё не ошибки, а два совета:
1) пользуйся отступами, тогда лучше видно структуру программы. Когда все команды идут подряд в одной строке, легко запутаться.
2) При выводе среднего арифметического используй формат вывода s1:0:2
тогда результат будет округлён до двух знаков после запятой, и не будет таких монстров вроде 16.65432468734246873435
Исправленная программа:
Program Zadacha;
Uses crt;
var
a:array[1..1000] of integer;
c,i,n,s :integer;
s1: real;
begin;
clrscr;
writeln('Введите размерность массива');
readln(n);
writeln('Создаём массив...');
c:=0; s:=0;
for i:=1 to n do
begin
a[i]:=random(100);
if a[i]<50 then
begin
inc(c);
s:=s+a[i];
end;
end;
s1:=s/n;
writeln('Массив A:');
for i:=1 to n do write(a[i]:4);
writeln;
writeln('Среднее арифметическое равно=',s1:0:2); end.
В таких задачах присутствует математическая часть значительного объема. В данном случае нужно "снять" с рисунка координаты вершин треугольника и построить по ним уравнения прямых, представляющих собой стороны треугольника. Затем составляется логическое выражение, описывающее область внутри треугольника (о границах ничего не сказано, поээтому далее считаем, что они в закрашенную область не входят, а если они нужны, неравенства надо сделать нестрогими).
1. Получаем координаты вершин треугольника
A(-5;-3), B(1;4), C(5;-4)
2. Составляем уравнения прямых AB, BC и CA
Общий вид уравнения, проходящего через две точки P и Q:
Получаем три уравнения прямых:
3. Составляем программу. В данном случае выбран язык системы PascalABC.Net
var
x,y:real;
begin
Write('Введите через пробел координаты точки x и y: ');
Read(x,y);
Writeln((y<(7*x+17)/6) and (y<6-2*x) and (y>-0.1*x-3.5))
end.
<em><u>Тестовое решение:</u></em>Введите через пробел координаты точки x и y: 2 1.9
True