АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ
НЕФТЯНОЙ ИНСТИТУТ
КАФЕДРА ИНФОРМАТИКИ
СТРЕЛКИ В БЛОКСХЕМЕ РАССТАВЬ САМ РУЧКОЙ, ПОСМОТРИ В ПРЕДЫДУЩЕЙ РАБОТЕ.
КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»
РАЗДЕЛ:АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL
НА ТЕМУ:
«РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ, нахождения минимального элемента двумерного массива»
Выполнил студент: Сафаров Р. Р.
Группы:69-13 Вт
Проверил: Садриева Л.М.
АЛЬМЕТЬЕВСК 2010 год
Оглавление
1. Постановка задачи. 3
2. Описание алгоритма решения задачи графическим способом. 4
3. Разработка программы на языке программирования. 5
3.1. Описание блоков укрупненной схемы алгоритмов на языке программирования. 5
3.2. Текст программы. 9
4. Литература. 14
1.Постановка задачи.
Задан двухмерный массив целых чисел. Найти минимальны элемент среди минимальных элементов столбцов двухмерного массива целых чисел. Столбец, в котором находятся найдены минимальный элемент, упорядочить по возрастанию. Для отладки программы элементы двухмерного массива сформировать с помощью генератора случайных чисел.
Исходным данными являются элементы двухмерного массива, которые должны быть созданы по условию задачи с помощью генератора случайных чисел Random. Функция Random без параметра формирует вещественные числа в диапазоне [0;1). Так как по условию задачи элементами массива должны быть целые числа, то воспользуемся формулой Random(b-a+1)+a, которая будет выдавать случайные целые числа из диапазона [a,b].
В результате решения задачи будет найден минимальный элемент среди минимальных элементов столбцов двухмерного массива. Столбец, содержащий найденный минимальный элемент должен быть упорядочен по возрастанию. Для сортировки(упорядочивания) столбца массива по возрастанию используем алгоритм сортировки обменом.
В программе решаются 4 подзадачи:
1. Заполнение двумерного массива
2. Поиск минимального элемента в каждом столбце
3. Поиск минимального элемента среди найденных минимальных элементов столбцов
4. Сортировка столбца с минимальным элементом
5. Вывод преобразованного массива
2. Описание алгоритма решения задачи графическим способом.
Поиск минимальногоэлемента в каждом столбце
Поиск минимального элемента среди найденных минимальных элементов столбцов
Сортировка столбца с минимальным элементом
3.Разработка программы на языке программирования.
3.1. Описание блоков укрупненной схемы алгоритмов на языке программирования.
Как оговаривалось в постановке задачи, ввод элементов двумерного массива будем осуществлять с помощью генератора случайных чисел. Возьмем, к примеру, интервал от -5 до 15. Тогда, используя формулу Random(b-a+1)+a, получим Random(21)-5. Таким образом, каждый очередной элемент массива будет представлять собой целое число из диапазона [-5,15] и выводится на экран. Цикл работает до достижения переменной i значения n, то есть до конца массива.
Представим алгоритм поиска минимального элемента в каждом столбце двумерного массива. Для хранения значения минимума столбца возьмем переменную minst, для хранения его номера в массиве –imin.
Так как поиск элемента в массиве должен осуществляться по столбцам, то он должен быть организован как внешний цикл. Зафиксировав номер столбца min:=a[1,j], начинаем перебирать элементы построчно: i:=2,n,1. когда все строки будут рассмотрены, в результате сравнения их друг с другом, будет найден самый наименьший элемент. Этот элемент выведем на экран.
После того, как будет найден минимальный элемент в столбце, с помощью условия mist<min находим минимальный элемент среди минимальных элементов столбцов. Таким образом, в каждом прохождении цикла запоминается значение min:=minst и номер элемента imin:=j, который будет меньше всех предыдущих. Как только будут рассмотрены все элементы массива, значение минимального элемента и его номера будут выведены на экран.
Для сортировки столбца массива используем алгоритм сортировки обменом. Метод основан на том, что весь массив просматривается с конца и в том случае, если из двух соседних элементов «нижний» элемент меньше, чем «верхний», элементы меняются местами. Таким образом, самый меньший элемент оказывается ближе к началу массива. Отсюда и одно из названий метода «пузырьковая» сортировка. Особенностью данного метода является сравнение, а затем, если нужно, и перестановка соседних элементов.
После сортировки выводим полученный массив на экран. Вывод элементов двумерного массива осуществляется при помощи цикла с параметром.
3.2. Текстпрограммы.
program variant_73;
uses crt;
const n=20;
var a,b: array [1..n] of integer;
m,j,i,k,r:integer;
begin
clrscr;
writeln('элементы исходного массива:');
randomize;
for i:=1 to n do begin
a[i]:=random(100)+1;
write(a[i]:4); end;
writeln;
writeln('введите к');
readln(k);
{формирование нового массива}
m:=0;
for i:=1 to n do
if a[i] mod 10 =k then begin m:=m+1; b[m]:=a[i]; end;
writeln('новый массив');
for i:=1 to m do begin
write(b[i]:4);
end;
{упорядоченный массив}
for i:=1 to m do
for j:=1 to m do
if b[j]<b[i] then begin r:=b[i];
b[i]:=b[j];
b[j]:=r;
end;
writeln;
writeln('упорядоченный по убыванию массив');
for i:=1 to m do
write(b[i]:4);
readln;
end.
4.Литература.
1.Фаронов В.В. Pascal.Учебный курс.-м.:Издательство «Нолидж»,1998г.
2.Дарахвелидзе П.,Макаров Е.Программирование в Pascal 4.-спб.:БХВ-СПб.,1999.
3. Шпак Ю.А. Turbo Pascal 7.0 на примерах Издательство "Юниор",М- 2003, 498 с. 4. Потопахин В.В. Turbo Pascal: решение сложных задач. Издательство "БХВ-Петербург", 2006, 208 с.
.
Приложение
1
I:=I+1
M:=0
I:=1
M:=M+1
B[M]:=A[I]
I:=I+1
I:=1
I:=I+1
I:=1
J:=1
R:=B[I]
B[I]:=B[J]
B[J]:=R
J:=J+1
I:=I+1
I:=I+1
I:=I+1
Другие работы по теме:
Автоматизированния система обучения программированию
Актуальной проблемой совершенствования учебного процесса является разработка программного обеспечения для его проведения. Очевидным пробелом является почти полное отсутствие средств обучения основам программирования.
Ошибки при выполнении программы. Опции компилятора
Умея пользоваться массивами, условными операторами и операторами цикла, вы мо-жете писать довольно серьезные программы. При выполнении этих программ неизбежно будут возникать критические ошибки, приводящие к аварийному завершению программы.
Нахождение интегралов в среде Pascal
Методика и основные этапы нахождения интеграла функции sin (x+10)+x4=0 с помощью двух подходов: метод прямоугольников и метод трапеций. Составление соответствующей программы в среде Pascal. Оценка возможностей пользователя при решении данного задания.
Лабораторная работа №11
Цель работы: Изучение правил и получение навыков составления программ с использованием сложных типов данных массивов. Задание№ 17 . Из символов произвольного предложения сформировать массив целых чисел, соответствующих порядковому номеру литер в коде ASCII. Определить максимальный элемент этого порядка.
Лабараторная работа №4
Цель работы: изучение правил записи констант, переменных, выражений, операторов присваивания, раздела определения констант, раздела описания переменных и общей структуры программы на языке Turbo-Pascal.
Вращение треугольника
Содержание Введение 2 В программу также были включены функции предоставляющие пользователю некоторый сервис и удобство при работе ( использование модулей Turbo-Vision 2.0 for Borland Pascal). 5
Создание графических объектов с помощью псевдографики
Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.
Работа с типами данных записи
Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
Программное определение числовых массивов
Одномерные числовые массивы, образование элементами целочисленного массива невозрастающей последовательности. Программное нахождение суммы элементов каждой возможной строки матрицы и формирование массива из найденных сумм, вывод массива-результата.
Проектування ітераційних алгоритмів
Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.
Техническое задание на создание автоматизированных систем
Построение эффективного алгоритма, главными свойствами которого являются детерминированность, массовость, результативность. Применение метода структурного программирования: разделение задачи на относительно независимые части и выполнение отладки частей.
Разработка программы на четырех языках программирования
Этапы написания программы на четырех языках программирования (Turbo Pascal 7.0, Borland C++ 3.11, Delphi 7, Builder C++ 6.0), которая выводит на экран имя и фамилию студента, используя стандартные средства графики и простейшие геометрические фигуры.
Алгоритмические языки: обработка одномерных массивов
Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
Написание игры "Змейка" средствами языка Turbo Pascal
Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.
Понятие и элементы массива
Массив - это коллекция переменных, которые имеют общее имя и базовый тип. Функциональные возможности, виды массивов и их характеристика. Основные требования к входным и выходным данным массива. Использование IF THEN для перехвата всех возможных ошибок.
Некоторые алгоритмы обработки массивов
отовые работы, работы на заказ pascal.yard Некоторые алгоритмы обработки массивов 1 Суммирование двух массивов одинакового размера 2 Суммирование элементов массива
Паскаль для начинающих
Паскаль для начинающих Основы грамматики в таблицах и примерах Pascal (Паскаль) - язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada.
Turbo Pascal
Рязанская государственная радиотехническая академия Кафедра Вычислительной и Прикладной математики Пояснительная записка К курсовой работе по дисциплине
Решение прикладной задачи
ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Кафедра ИнОУП Курсовая работа Решение прикладной задачи Выполнила: ст-ка группы 06 ВД-1 Е.А. Одинокова Принял: доцент
Turbo Or Nitrous Essay Research Paper Turbo
Turbo Or Nitrous Essay, Research Paper Turbo or Nitrous As you are driving, you see many cars going over the speed limit. Many of the drivers are into racing and modifying their cars. In most cars there are two major modifications that can be done, they are; turbo kit, or a nitrous kit. Both increase horsepower dramatically, but one is instant and the other goes into effect after a certain rpm.
Pascals Triangle Essay Research Paper The arithmetic
Pascals Triangle Essay, Research Paper The arithmetic triangle was developed in 1653 by Blaise Pascal. He named this triangle after himself and today it is known as Pascal’s Triangle. It is an arrangement of certain whole numbers in a triangular pattern.
Fd Or Fc Essay Research Paper I
Fd Or Fc? Essay, Research Paper I am deciding whether to get a 3rd generation or 2nd generation Mazda RX-7. The 3rd generation was made from 1993-1995 and is known as the RX-7 Twin turbo or FD3S. The 2nd generation that I am considering was made from 1989-1991 and is known as the RX-7 Turbo II or the FC3S. The FD has a more modern rounded look, kind of like a Dodge Viper or the Chevy Corvette C5.