Слайд 3
Задача №1
Задание. Дана точка, принадлежит ли точка к
данной области:
а
x
y
-a
Слайд 4
Комментарий:
Для нахождения четного номера используем i mod 2
= 0 , а для нечетного i mod 2
<> 0.
Слайд 5
Блок-схема
начало
Ввод
а
b:=1
b=1
x
y
(((sqr(x)+sqr(s))
(da-1, net-0)
Ввод
b
конец
Слайд 6
Программа запуск
программы
program z1;
var
a,x,y:real;
b:integer;
begin
write('Vvedite a=');
readln(a);
b:=1;
while b=1 do
begin
write('Vvedite kordinati tochki
A(x,y)=');
readln(x);
readln(y);
if ((sqr(x)+sqr(y)<=sqr(a)) and (y-x<=0)) or
((sqr(x)+sqr(y)<=sqr(a)) and (y+x<=0)) then
writeln('prinadlegit')
else writeln('ne prinadlegit');
writeln('prodolgit ? (da-1, net-0)');
readln(b)
end;
end.
Слайд 7
Результаты обработки программы
Вводим значение а (R)=3;
Вводим координаты точки
х и y:
Х=1,y=2;
Вывод: непринадлежит.
Слайд 8
Задача №2
Задание. Среди элементов с четными номерами найти
минимальный элемент, а среди элементов с нечетными номерами найти
максимальный и поменять с местами.
Слайд 9
Комментарий:
Для нахождения четного номера используем i mod 2
= 0 , а для нечетного i mod 2
<> 0.
Слайд 10
начало
n
i=1,n,1
a[i,j]
Max=a[1]
Min=a[2]
i=1,n,1
I mod 2 =0
a[i]max
Max=a[i]
Min=a[i]
I mod 2=0
a[i]=max
a[i]=min
a[i]=min
a[i]=max
i=1,n,1
a[i]
конец
запуск программы
program z2_1;
var a:array[1..100] of integer;
i,n,k,max,min:integer;
begin write('n=');
readln(n);
for i:=1 to n do readln(a[i]);
max:=a[1];min:=a[2];
for i:=1 to n do
begin
if i mod 2 =0 then begin if a[i] then min:=a[i] end
else if a[i]>max then max:=a[i];
end;
for i:=1 to n do
begin
if i mod 2 =0 then begin
if a[i]=min then a[i]:=max end else begin if a[i]=max then a[i]:=min; end;end;
writeln( 'vvivod=');
for i:=1 to n do
writeln(a[i]);
readln;
end.
запуск программы
program l2;
type
arr=array[1..100] of integer;
var a:arr;
i,n,k,max,min:integer;
f: text;
s: string;
procedure input(var a: arr;n: integer);
var
i: integer;
f1: text;
begin
for i:=1 to n do readln(a[i]);
end;
procedure output(a: arr; n: integer);
var
i: integer;
begin
for i:=1 to n do writeln(a[i]);
end;
procedure exchange(var a: arr;n: integer);
var
i: integer;
min,max: integer;
begin
max:=a[1];min:=a[2];
for i:=1 to n do
begin
if i mod 2 =0 then begin if a[i] then min:=a[i] end
else if a[i]>max then max:=a[i];
end;
for i:=1 to n do
begin
if i mod 2 =0 then begin
if a[i]=min then a[i]:=max end else begin if a[i]=max then a[i]:=min; end;end;
writeln( 'vvivod=');
end;
begin write('n='); readln(n);
input(a,n);
exchange(a,n);
output(a,n);
readln;
end.
запуск программы
ввод ввод вывод
program l2;
var a:array[1..100] of integer;
i,n,k,max,min:integer;
f,f1: text;
begin
assign(f,'d:\040303\inp1.txt');
reset(f);
assign(f1,'d:\040303\out1.txt');
rewrite(f1);
readln(f,n);
for i:=1 to n do readln(f,a[i]);
max:=a[1];min:=a[2];
for i:=1 to n do
begin
if i mod 2 =0 then begin if a[i] then min:=a[i] end
else if a[i]>max then max:=a[i];
end;
for i:=1 to n do
begin
if i mod 2 =0 then begin
if a[i]=min then a[i]:=max end else begin if a[i]=max then a[i]:=min; end;end;
writeln( 'vvivod=');
for i:=1 to n do
writeln(f1,a[i]);
close(f1);
close(f);
end.
Слайд 15
Результаты обработки программы
Определяем размерность одномерного массива n=4;
Вводим массив:
1
2
3
4
Вывод
обработанного массива:
1
3
2
4
Слайд 16
Задача №3(2)
Задание 1. Дан двумерный массив состоящий из
латинских строчных и прописных букв. Посчитать количество строчных и
прописных букв.
Задание 2. Дан двумерный массив. Заменить элементы к-ой строки и р-го столбца на 1, оставив без изменения элемент на их пересечении.
Слайд 17
Комментарий:
Для нахождения четного номера используем i mod 2
= 0 , а для нечетного i mod 2
<> 0.
запуск программы
program ex5;
type
arr=array[1..100,1..100] of char;
var
a:
arr;
i,j,n,m: integer;
count_big,count_litle: integer;
c: char;
begin
writeln('n='); readln(n);
writeln('m='); readln(m);
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);
count_litle:=0;
count_big:=0;
for i:=1 to n do
for j:=1 to m do
begin
for c:='a' to 'z' do if a[i,j]=c then count_litle:=count_litle+1;
end;
for i:=1 to n do
for j:=1 to m do
begin
for c:='A' to 'Z' do if a[i,j]=c then count_big:=count_big+1;
end;
writeln('number of litle charakters:',count_litle);
writeln('number of big characters:',count_big);
end.
Слайд 19
Программа_1 запуск
программы
program z3_1;
type
arr=array[1..100,1..100] of char;
var
a: arr;
i,j,n,m: integer;
function count_litle(s:arr;n1,m1: integer): integer;
var
i1,j1,count:
integer;
c: char;
begin
count:=0;
for i1:=1 to n1 do
for j1:=1 to m1 do
begin
for c:='a' to 'z' do if a[i1,j1]=c then count:=count+1;
end;
count_litle:=count;
end;
function count_big(s:arr;n1,m1: integer): integer;
var
i1,j1,count: integer;
c: char;
begin
count:=0;
for i1:=1 to n1 do
for j1:=1 to m1 do
begin
for c:='A' to 'Z' do if a[i1,j1]=c then count:=count+1;
end;
count_big:=count;
end;
begin
writeln('n='); readln(n);
writeln('m='); readln(m);
for i:=1 to n do
for j:=1 to m do
readln(a[i,j]);
writeln('litle:', count_litle(a,n,m));
writeln('big:',count_big(a,n,m));
end.