русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ЛАБОРАТОРНЫЕ ЗАДАНИЯ И МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ИХ ВЫПОЛНЕНИЮ


Дата добавления: 2014-11-27; просмотров: 705; Нарушение авторских прав


 

Написать программу работы с массивом чисел.

Варианты заданий приведены в таблице 7.1.

В программе использовать:

- подпрограммы-процедуры (Procedure) для оформления решения отдельных подзадач (например, поиска минимального элемента или вывода элементов на экран);

- дополнительные процедуры и функции модуля Crt для управления режимом отображения текста программы при ее выполнении.

Рекомендуется сначала отдельно написать и протестировать решение задачи, а затем оформить отдельные подзадачи как процедуры.

Общий алгоритм выполнения программы:

1. Запросить у пользователя размерность двумерного массива и способ заполнения (автоматически или с клавиатуры).

2. Заполнить массив заданной размерности случайными числами или числами, введенными пользователем с клавиатуры.

3. Вывести все элементы массива на экран построчно.

4. Решить основное задание, согласно варианту из таблицы 7.1 (например, найти максимальный элемент и обнулить строку, в которой он находиться).

5. Вывести результаты решения основного задания на экран.

6. Вывести обновленные значения элементов массива на экран.

При написании программы можно использовать примеры, приведенные в п. 6.3.

 

 

Таблица 7.1 – Варианты основных заданий

Основное задание
Найти максимальный элемент массива. Вывести все элементы строки, в которой он находится. Найти их сумму и среднее значение
Найти минимальный и максимальный элемент массива. Найти сумму всех элементов массива
Найти минимальный элемент массива. Все элементы массива разделить на значение минимального элемента
Найти максимальный элемент массива. Все элементы столбца, в котором он находится, обнулить
Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Вывести отрицательные элементы массива на экран
Найти сумму элементов массива. Все элементы массива разделить на это значение. Найти максимальный элемент массива
Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Найти минимальный элемент массива
Найти минимальный и максимальный элемент массива. Все элементы строк и столбцов, в которых они находятся обнулить
Найти среднее значение элементов массива. От значений элементов отнять среднее значение. Вывести положительные элементы массива на экран
Найти минимальный элемент массива. Все элементы строки и столбца, в котором он находиться обнулить

 



Пример:

Написать программу работы с массивом чисел, согласно варианту задания: найти максимальный элемент массива. Все элементы строки, в которой он находится, обнулить.

В программе использовать:

- подпрограммы-процедуры (Procedure) для оформления решения отдельных подзадач (например, поиска минимального элемента или вывода элементов на экран);

- дополнительные процедуры и функции модуля Crt для управления режимом отображения текста программы при ее выполнении.

Текст программы без использования процедур:

 

Program lab_7;

Uses crt;

Var

m, n, v, i, j, k, l: integer;

mass : array[1..10,1..10] of real;

max : real;

Begin

writeln('Выберите способ ввода:');

writeln('1 – Автозаполнение случайными числами');

writeln('2 – Заполнение числами, введенными с клавиатуры');

writeln('3 – Выход из программы');

readln(v);

if (v<>1) and (v<>2) then halt;

writeln('Введите число строк – m, m<10');

readln(m);

writeln('Введите число столбцов – n, n<10');

readln(n);

if v = 1 then

begin

randomize;

for i:=1 to m do

for j:=1 to n do

mass[i,j]:=random(100);

end

else if v=2 then

begin

for i:=1 to m do

for j:=1 to n do

begin

writeln('Введите элемент [',i,',',j,']');

readln(mass[i,j]);

end;

end

else exit;

for i:=1 to m do begin

for j:=1 to n do

begin

write(' [',i,',',j,']=',mass[i,j]:2:1);

end;

readkey;

end;

max:=mass[1,1]; k:=1; l:=1;

for i:=1 to m do

for j:=1 to n do

begin

if mass[i,j]>max then begin

max:=mass[i,j];

k:=i; l:= j;

end;

end;

writeln ('Максимальный элемент массива [',k,',',l,']=',max:2:2);

readkey;

for j:=1 to n do

mass[k,j]:=0;

for i:=1 to m do begin

for j:=1 to n do

begin

write(' [',i,',',j,']=',mass[i,j]:2:1);

end;

readkey;

end;

End.

 

Текст программы для такого же задания, но с использованием процедур, приведен ниже.

 

Program lab_7;

Var

i, j, k, l, m, n, v: integer;

mass : array[1..10,1..10] of real;

max : real;

Procedure autovvod_elementov;

Begin

randomize;

for i:=1 to m do

for j:=1 to n do

mass[i,j]:=random(100);

End;

Procedure vvod_elementov;

Var

i, j : integer;

Begin

for i:=1 to m do

for j:=1 to n do

begin

writeln('Введите элемент [',i,',',j,']');

readln(mass[i,j]);

end;

End;

Procedure max_element;

Begin

max:=mass[1,1]; k:=1; l:=1;

for i:=1 to m do

for j:=1 to n do

begin

if mass[i,j]>max then begin

max:=mass[i,j];

k:=i; l:= j;

end;

end;

writeln ('Максимальный элемент массива [',k,',',l,']=',max:2:2);

readln;

for j:=1 to n do

mass[k,j]:=0;

End;

Procedure vyvod_elementov;

Begin

for i:=1 to m do begin

for j:=1 to n do

begin

write(' [',i,',',j,']=',mass[i,j]:2:1);

end;

readln;

end;

End;

Begin

writeln('Выберите способ ввода:');

writeln('1 – Автозаполнение случайными числами');

writeln('2 – Заполнение числами, введенными с клавиатуры');

writeln('3 – Выход из программы');

readln(v);

if (v<>1) and (v<>2) then halt;

writeln('Введите число строк – m, m<10');

readln(m);

writeln('Введите число столбцов – n, n<10');

readln(n);

case v of

1: autovvod_elementov;

2: vvod_elementov;

end;

vyvod_elementov;

max_element;

vyvod_elementov;

End.

Результаты выполнения программы:

Выберите способ ввода:

1 – Автозаполнение случайными числами

2 – Заполнение числами, введенными с клавиатуры

3 – Выход из программы

Введите число строк – m, m<10

Введите число столбцов – n, n<10

[1,1]=8.0 [1,2]=32.0 [1,3]=58.0 [1,4]=64.0

[2,1]=26.0 [2,2]=38.0 [2,3]=21.0 [2,4]=15.0

Максимальный элемент массива [1,4]=64.00

[1,1]=8.0 [1,2]=32.0 [1,3]=58.0 [1,4]=64.0

[2,1]=26.0 [2,2]=38.0 [2,3]=21.0 [2,4]=15.0

8. СОДЕРЖАНИЕ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ

8.1. Результаты выполнения подготовительного задания: титульный лист, цель и задачи работы, краткие теоретические сведения.

8.2. Результаты выполнения лабораторных заданий, оформленные в виде листинга программы с указанием результата ее выполнения.

8.3. Выводы по результатам выполнения заданий и заключение по работе в целом.

КОНТРОЛЬНЫЕ ВОПРОСЫ

9.1. Какие типы данных Turbo Pascal 7.0 относятся к структурированным и какие особенности они имеют?

9.2. Дайте характеристику массивов?

9.3. Как описываются массивы в программах?

9.4. Как осуществляется доступ к элементам массива?

9.5. Перечислите основные операции с массивами.

ЛАБОРАТОРНАЯ РАБОТА № 8

РАБОТА СО СТРОКАМИ. ЧТЕНИЕ И ЗАПИСЬ В ФАЙЛ



<== предыдущая лекция | следующая лекция ==>
Каждый элемент массива имеет свой индекс. | Символьный (char) и строковый (string) тип данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.077 сек.