Решение задач на языке программирования Паскаль Учитель Губеев С.П. МБОУ «Хозесановская СОШ Кайбицкого района»
Задача №1 Задача №2
Задача №1 Задание. Дана точка, принадлежит ли точка к данной области: а x y -a
Комментарий: Для нахождения четного номера используем i mod 2 = 0 , а для нечетного i mod 2 0.
Блок-схема начало Ввод а b:=1 b=1 x y (((sqr(x)+sqr(s))
Программа запуск программы 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)
Результаты обработки программы Вводим значение а (R)=3; Вводим координаты точки х и y: Х=1,y=2; Вывод: непринадлежит.
Задача №2 Задание. Среди элементов с четными номерами найти минимальный элемент, а среди элементов с нечетными номерами найти максимальный и поменять с местами.
Комментарий: Для нахождения четного номера используем i mod 2 = 0 , а для нечетного i mod 2 0.
начало 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]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]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]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.
Результаты обработки программы Определяем размерность одномерного массива n=4; Вводим массив: 1 2 3 4 Вывод обработанного массива: 1 3 2 4
Задача №3(2) Задание 1. Дан двумерный массив состоящий из латинских строчных и прописных букв. Посчитать количество строчных и прописных букв. Задание 2. Дан двумерный массив. Заменить элементы к-ой строки и р-го столбца на 1, оставив без изменения элемент на их пересечении.
Комментарий: Для нахождения четного номера используем i mod 2 = 0 , а для нечетного i mod 2 0.
Программа_1 запуск программы 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.
Программа_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.
Результаты обработки программы Вводим значение а (R)=3; Вводим координаты точки х и y: Х=1,y=2; Вывод: непринадлежит.