Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab6(30).doc
Скачиваний:
3
Добавлен:
17.11.2019
Размер:
104.45 Кб
Скачать

5. Пример решения задачи.

  1. Индивидуальное задание.

Найти максимальное значение в массиве вещественных чисел.

5.2. Описание работы.

5.2.1. Выберите алгоритм решения задачи.

5.2.2. Выберите форму представления данных. Используйте следующие типы переменных: INTEGER, REAL, BOOLEAN, CHAR.

5.2.3. Для ввода массива используйте генератор случайных чисел или вводите элементы в диалоговом режиме. Результат решения задачи выведите на экран дисплея.

5.2.4. Выберите имена основных идентификаторов. Выберите тип индекса и тип элементов массива. Обратите внимание на форму описания двумерных массивов. Введите текст программы.

5.2.5. Для этого необходимо войти в программу-оболочку TP7, как указано выше. Загрузить в редактор Турбо-Паскаль новый (NEW) файл. Для этого нажмите одновременно клавиши [ALT]+[F] , установите курсор на подменю «NEW» и нажмите клавишу [ENTER].

5.2.6. Сохраните набранный текст программы. Нажмите клавишу [F2]. На запрос системы укажите, где и с каким именем будет сохранена ваша программа. Например, C:\PROG.PAS, если программа сохраняется на жесткий диск или A:\PROG.PAS, если программа сохраняется на дискету.

5.2.7. После того, как программа набрана, откомпилируйте ее. Нажмите одновременно клавиши [ALT]+[F9]. Если в программе есть ошибки, то в левом верхнем углу появится сообщение об ошибке, а курсор укажет место ошибки. Если в программе ошибок нет, то появится сообщение об успешной компиляции.

5.2.8. После компиляции программу необходимо выполнить. Для этого нажмите одновременно клавиши [CTRL]+[F9]. Для просмотра результатов одновременно нажмите клавиши [ALT]+[F5].

5.2.9. Убедитесь в правильности решения задачи. Введите данные, для которых легко устно просчитать результат. Выполните программу и убедитесь в правильности полученного результата.

  1. Выведите полученные результаты на печать.

  1. Текст программы.

program max ;

uses crt ;

const m=10 ; n=20 ;

var i,j: m..n ;

x:array[m..n] of real ;

begin

clrscr ;

for i:=m+1 to n do

read(x[i]) ;

j:=m ;

for i:=m+1 to n do

if x[i]>x[j] then j:=i ;

writeln(x[j]:3:1) ;

readln

end .

  1. Примеры решения задач.

Пример 1:

Элементы массива переставить таким образом, чтобы их значения были расположены в убывающем порядке.

Текст программы:

program sortmin ;

Uses crt ;

const n=5 ;

var i , u : integer ;

a : boolean ;

x : array[1..n] of integer;

begin

clrscr ;

for i := 1 to n do

read(x[i]) ;

a := false ;

while not a do

begin

a := true ;

for i := 1 to n-1 do

if x[i] < x[i+1] then

begin

u := x[i] ;

x[i] := x[i+1] ;

x[i+1] := u ;

a := false ;

end ;

write( x[i], ' ' ) ;

end ;

for i := 1 to n do

write( x[i], ' ' ) ;

readln ;

readln

end .

Пример 2:

Дан двухмерный массив различных вещественных чисел,

содержащий 5 строк и 4 столбца. Строку, содержащую МАХ

элемент массива, поменять местами со строкой, содержащей

МIN элемент.

program mas ;

type mmm = array[1..4] of real;

var m: array[1..5] of mmm ;

m1 : mmm ;

max, min : real ; maxi, mini, i, j : integer ;

begin

writeln('Введи исходный массив : ') ;

for i := 1 to 5 do

for j := 1 to 4 do

read(m[i,j]) ;

max := m[1,1] ; min := m[1,1] ;

maxi := 1 ; mini := 1;

for i := 1 to 5 do

for j := 1 to 4 do

begin

if max < m[i,j] then

begin

max := m[i,j] ; maxi := i ;

end ;

if min > m[i,j] then

begin

min := m[i,j] ; mini := i ;

end ;

end ;

m1 := m[maxi] ;

m[maxi] := m[mini] ;

m[mini] := m1 ;

writeln('Массив после перестановки строк :') ;

for i := 1 to 5 do

begin

for j := 1 to 4 do

write(m[i,j] : 5 : 2);

writeln ;

end

end .