![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Практическая часть ⇐ ПредыдущаяСтр 3 из 3 2. Практическая часть Программа №1: Блок схема:
Словесное описание алгоритма: Цель: Выяснить, является ли хоть одно из них палиндромом. Запускается функция f. Запускается проверка условия, если хотя бы одно число палиндром, то на экран выводится: «Хотя бы одно число палиндром». Если чисел палиндромов нет, то на экран выводится: «Оба не палиндромы». Конец.
Функция f: Выполняется цикл пока m>0 Число записывается с конца. Конец.
Листинг программы: Program lab3; {Программа для определения чисел палиндромов} uses crt; function Palindrom(n:longint):boolean; {Находит числа палиндромы} var m,p:longint; i,k:integer; begin m:=n; p:=0; while m>0 do begin i:=m mod 10; p:=p*10+i; m:=m div 10; end; Palindrom:=p=n; end; var a,b:longint; f:boolean; begin clrscr; {Очистка экрана} writeln('Введите 2 натуральных числа'); readln(a,b); f:=Palindrom(a) or Palindrom(b); if f then write('Хотя бы 1 число палиндром') else write('Оба числа не палиндромы'); readln; end. Программа №2:
Блок схема:
Словесное описание алгоритма: Цель: Написать программу, меняющую местами максимальные элементы матриц. Запускаются циклы в которых выводятся элементы матриц А и В. Запускается цикл который выводит на экран матрицы до обработки. Запускается процедура maxelement Запускается цикл который выводит на экран преобразованные матрицы. Конец.
Процедура maxelement: Цель: Преобразовать матрицы по нужному правилу Запускаются два цикла от 1 до x и от 1 до y. Запускается проверка условия. Меняются максимальные элементы по заданному правилу. Конец.
Листинг программы:
program lab3; {Программа меняющая максимальные элементы матриц местами} uses crt; type matrix = array [1..50,1..50] of integer; var n,m,t,p,i,j,r1,r2,e1,e2,c:integer; a,b:matrix; procedure maxelement(matr:matrix;x,y:integer; var imax,jmax:integer); {Запускается процедура} var max,sa,sc:integer; begin max:=matr[1,1]; for sa:=1 to x do for sc:=1 to y do if max<matr[sa,sc] then begin max:=matr[sa,sc]; imax:=sa; jmax:=sc; end;{Конец процедуры} end; begin clrscr; writeln ('razmernost matricy A'); readln (n,m); writeln ('razmernost matricy B'); readln (t,p); writeln ('Vvedi elementy matrici A'); for i:=1 to n do for j:=1 to m do readln(a[i,j]); writeln ('Vvedi elementy matrici B'); for i:=1 to t do for j:=1 to p do readln(b[i,j]); clrscr; writeln('Matrici do obrabotki:'); {Вывод матриц до обработки} writeln('Matrica A: '); for i:=1 to n do begin for j:=1 to m do write (a[i,j]:4,' '); writeln; end; writeln; writeln('Matrica B: '); for i:=1 to t do begin for j:=1 to p do write (b[i,j]:4,' '); writeln; end; r1:=1;e1:=1;r2:=1;e2:=1; maxelement(a,n,m,r1,e1); maxelement(b,t,p,r2,e2); c:=A[r1,e1]; A[r1,e1]:=B[r2,e2]; B[r2,e2]:=c; writeln; writeln('Matrici posle obrabotki:'); {Вывод матриц после обработки} writeln('Matrica A: '); for i:=1 to n do begin for j:=1 to m do write (A[i,j]:4,' '); writeln; end; writeln; writeln('Matrica B: '); for i:=1 to t do begin for j:=1 to p do write (B[i,j]:4,' '); writeln; end; readln; end. Программа №3:
Словесное описание алгоритма: Цель: Найти значение Пользаватель вводит с клавиатуры n и m. Выполняется действие высчитывается Выводит на экран
Cnm: Если m=0 или n=m тогда Иначе
Листинг программы: uses crt; var m,n:integer; function cnm(m,n:integer):integer; begin if (m=0) or (n=m) then cnm:=1 else cnm:=cnm(m,n-1)+cnm(m-1,n-1); end; begin clrscr; write('m='); readln(m); write('n='); readln(n); writeln(cnm(m,n)); readln; end.
Выводы по работе: 1. Изучен синтаксис использование подпрограмм в TurboPascal 7.0.. 2. Освоены навыки написания программы с использованием подпрограмм в TurboPascal 7.0
Список используемой литературы: Фараонов В.В. Турбо Паскаль Начальный курс: Учебное пособие. -Издание 7-е, переработанное – М.: Нолидж, 2002- 575с.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|