русс | укр

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

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

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

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


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

Блок-схема программы


Дата добавления: 2015-08-14; просмотров: 1435; Нарушение авторских прав


Обработка одномерных и двумерных массивов.

 

 

Выполнил: Студент гр. Б1-781-1

Хазиахметов Р.А.

Принял: Доцент кафедры ВТ

Талашева В.С.

 

Ижевск 2012г.

Цель работы:

Понятие массивов как последовательности переменных в памяти. Описание массивов. Понятие индекса при работе с массивами. Ввод-вывод и обработка одномерных и многомерных массивов.

 

Общие указания при составлении программ к данной теме:

1. Размер массива задать константой в блоке описания.

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

3. Вывести исходный массив и массив после преобразования по условию задачи.

Вариант №58

Вычислить все пары чисел - "близнецов" в первой сотне чисел натурального ряда. "Близнецами" называются такие простые числа p и q, для которых выполняется равенство: p-q=2 (пример простых чисел – «близнецов» 3 и 5 или 11 и 13).

Решение задачи:

Так как необходимо найти пары чисел-близнецов в первой сотне натурального ряда, то прописываем константу m равную 100. Нам известно, что по определению числа-близнецы – это такая пара простых чисел разность, которых равна двум. Для того чтобы определить простое число или нет рассматриваем только нечетные числа, используем свойство: наименьшее число, на которое делится натуральное число n, не превышает целой части квадратного корня из числа n и прерываем работу цикла, реализующего поиск делителей числа, при нахождении первого же делителя с помощью процедуры Break, которая реализует немедленный выход из цикла и передает управление оператору, стоящему сразу за оператором цикла. Счетчик цикла будет находится в переменной k. Когда очередное простое число найдено, он увеличивается на 1. Используем дополнительные переменные для хранения двух "последних" простых чисел и проверяем условие наличия близнецов - их разность должна быть ровна двум. Выводим на экран найденные пары, и количество чисел-близнецов.



 

 

Блок-схема программы


Листинг программы с комментариями

 

 

Program Example;

Uses CRT;

var

m,n,n1,n2,i,k: longint;

flag: boolean;

begin

Clrscr;

m :=100;

n1 := 1;

n2 := 3;

n := n2+2;

k:=0;

{рассматриваем только нечетные числа}

while n <= m do

begin

flag := true;

{ наименьшее число, на которое делится натуральное число n, не превышает целой части квадратного корня из числа n }

for i := 2 to round(sqrt(n)) do

if n mod i = 0 then

begin flag := false;

break

end;

if flag then begin n1 := n2; n2 := n;

{условие наличия чисел-близнецов}

if (n2 -n1) = 2 then

begin

{счетчик цикла}

k := k+1;

{выводим найденные пары на экран}

write(n1:4,n2:4,' ');

if k mod 5 = 0 then

writeln

end

end;

n := n+2

end;

writeln;

writeln('Количество пар чисел-близнецов =',k);

readln

end.

 

 

Общие указания при составлении программ к данной теме:

Создать матрицу с использованием генератора случайных чисел, вывести на экран исходную матрицу и результаты.

 

Вариант №46

 

Создать матрицу A[1..N,1..M]. Затем переставить элементы матрицы в возрастающем порядке слева направо, сверху вниз.

 

Решение задачи:

Задаем константами максимальный размер двумерного массива. Просим ввести размер массива, считываем эти значения. В цикле for присваиваем каждому элементу двумерного массива случайное значение от 1 до 100. В этом же цикле записывает это значение в одномерный массив и выводим на экран данный двумерный массив. Сортируем одномерный массив, сравнивая два соседних элемента, и если предыдущий оказался больше следующего, меняем их местами. Записываем построчно отсортированный одномерный массив в двумерный. Выводим на дисплей отсортированный двумерный массив.

 

 

Блок-схема программы

 

Листинг программы с комментариями

Program laba2;

Uses CRT;

const

nmax=20;

var

n,m,i,j,tmp,k: integer;

a: array[1..nmax,1..nmax] of integer;

b: array[1..nmax*nmax] of integer;

begin

Clrscr;

randomize;

write('Введите размер массива n, m: ');

readln(n,m);

writeln('Исходный:');

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i,j]:=random(99);

write(a[i,j]:4);

end;

writeln;

end;

writeln;

{создаем одномерный массив размером n*m, выводим в него последовательно все элементы двумерного массива по строкам}

k:=0;

for i:=1 to n do

for j:=1 to m do

begin

inc(k);

b[k]:=a[i,j];

end;

{сортируем массив методом пузырька}

for i:=2 to n*m do

for j:=n*m downto i do

if b[j-1]>b[j] then

begin

tmp:=b[j-1];

b[j-1]:=b[j];

b[j]:=tmp;

end;

{"возвращаем" элементы в двумерный массив и выводим на печать}

k:=0;

writeln('Преобразованный массив:');

for i:=1 to n do

begin

for j:=1 to m do

begin

inc(k);

a[i,j]:=b[k];

write(a[i,j]:4);

end;

writeln;

end;

readln;

end.

Выводы о проделанной работе:

Массив-совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки называются элементами массива. Все элементы пронумерованы по порядку , и этот номер называется индексом элементы массива.

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

 

 



<== предыдущая лекция | следующая лекция ==>
 | ЗАДАЧА №1.


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


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

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

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


 


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

 
 

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

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