Определение минимумов и максимумов

Порядок нахождения минимального элемента из данного набора чисел, создание блок-схемы и программы. Последовательность действий при решении задач с матрицами. Процесс зашифровки строки-предложения, ее программа. Типы данных в процедурах и функциях.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 17.02.2013
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство образования и науки Украины

Приазовский государственный технический университет

Кафедра информатики

Контрольная работа

по дисциплине

«Алгоритмические языки и программное обеспечение»

Выполнил:

ст. гр. И-09-ЭПП-2

Винниченко А.В.

Проверила:

Кривенко О.В.

Мариуполь, 2010

Содержание

Задание 1. Минимумы и максимумы

Задание 2. Матрицы

Задание 3. Строки

Задание 4. Составные типы данных в процедурах и функциях

Задание 5. Текстовые файлы

Задание 1. Минимумы и максимумы

Дано целое число N и набор из N чисел. Найти номер минимального элемента из данного набора.

Блок-схема

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Mask, ComCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series, Buttons;

type

TForm1 = class(TForm)

Label7: TLabel;

Label20: TLabel;

Label21: TLabel;

Label24: TLabel;

EditN: TEdit;

BitBtn1: TBitBtn;

BitBtn3: TBitBtn;

EditA: TEdit;

EditB: TEdit;

ListBox2: TListBox;

Label1: TLabel;

Label2: TLabel;

Edit1: TEdit;

Label5: TLabel;

ListBox1: TListBox;

procedure Button3Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

var D : array [1..100] of integer;

i,j, N, T1, T2, minI, Dmin : integer;

begin

randomize;

N:=strtoint(EditN.Text);

T1:=strtoint(editA.Text);

T2:=strtoint(editB.Text);

Dmin:=T2; minI:=0;

ListBox1.Clear; ListBox2.Clear;

for i:=1 to N do

begin

ListBox1.Items.Add(IntToStr(i));

D[i]:=T1+random(T2-T1+1);

ListBox2.Items.Add(IntToStr(D[i]));

if D[i]< Dmin then begin Dmin:=D[i]; minI:=i; end;

end;

Edit1.Text:=Format('D(%d) = %d',[minI,Dmin]);

end;

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

Задание 2. Матрицы

Дана квадратная матрица A порядка M. Повернуть ее на угол 180° (при этом элемент A1,1 поменяется местами с AM,M, элемент A1,2 -- с AM,M-1 и т. д.). Вспомогательную матрицу не использовать.

Блок-схема задачи

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, ComCtrls, Grids, Buttons, math;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Label2: TLabel;

edM: TEdit;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

Label1: TLabel;

Label3: TLabel;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

function LocalMax(i1,j1: integer): Boolean;

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

M,N: integer;

A: array [1..15,1..15] of integer;

implementation

{$R *.dfm}

function TForm1.LocalMax(i1,j1: integer): Boolean;

var i,j : integer;

begin

LocalMax:=True;

for i:=1 to M do for j:=1 to N do if (abs(i-i1)<=1) and (abs(j-j1)<=1) then

if A[i,j]>A[i1,j1] then begin LocalMax:=False; Exit; end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,j: integer;

begin

randomize;

for i:=0 to StringGrid1.RowCount-1 do for j:=0 to StringGrid1.ColCount-1 do

begin StringGrid1.Cells[i,j]:=''; StringGrid2.Cells[i,j]:=''; end;

M:=strtointdef(edM.Text,15);

StringGrid1.RowCount:=M; StringGrid1.ColCount:=M;

StringGrid2.RowCount:=M; StringGrid2.ColCount:=M;

for i:=1 to M do for j:=1 to M do

begin

A[i,j]:=-100+random(201);

StringGrid1.Cells[j-1,i-1]:=IntToStr(A[i,j]);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button3Click(Sender: TObject);

var i,j,t : integer;

begin

for i:=1 to M do

begin

for j:=1 to M do

begin

if i<j then begin t:=A[i,j]; A[i,j]:=A[M+1-i,M+1-j]; A[M+1-i,M+1-j]:=t; end;

StringGrid2.Cells[j-1,i-1]:=IntToStr(A[i,j]);

end;

if i<trunc(M/2) then begin t:=A[i,i]; A[i,i]:=A[M+1-i,M+1-i]; A[M+1-i,M+1-i]:=t; end;

StringGrid2.Cells[i-1,i-1]:=IntToStr(A[i,i]);

end;

end;

end.

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

число матрица строка программа

Задание 3. Строки

Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях (например, строка «Программа» превратится в «ргамамроП»).

Блок-схема задачи

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, Mask, ComCtrls, ExtCtrls, TeeProcs, TeEngine,

Chart, Series, Buttons;

type

TForm1 = class(TForm)

BitBtn3: TBitBtn;

Label2: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Memo1: TMemo;

Label4: TLabel;

Memo2: TMemo;

procedure Button3Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

var s,s1,s2,ss: string;

N,N1,i: integer;

begin

S:=Memo2.Text;

N:=length(S);

N1:=trunc((N+1)/2);

s1:=Copy(S,1,trunc(N/2));

s2:=Copy(S,1+trunc(N/2),N-trunc(N/2));

ss:=s2[N1];

for i:=1 to N1 do ss:=ss+s1[i]+s2[N1-i];

if 2*N1=N then ss:=ss+s[N1];

Memo2.Text:=ss;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

var s,s1: string;

N,i: integer;

begin

S:=Memo1.Text;

s1:='';

N:=length(S);

i:=2;

while i<=N do begin s1:=s1+s[i]; i:=i+2; end;

i:=2*trunc((N+1)/2)-1;

while i>=1 do begin s1:=s1+s[i]; i:=i-2; end;

Memo2.Text:=S1;

end;

end.

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

Задание 4. Составные типы данных в процедурах и функциях

23. Описать процедуру SplitStr(S, W, N), которая формирует по данной строке S массив W слов, входящих в S (массив W и его размер N являются выходными параметрами). Словом считается набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки; предполагается, что строка S содержит не более 10 слов. Используя функцию SplitStr, найти количество слов N, содержащихся в данной строке S, и сами эти слова.

Блок-схема задачи

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls, ComCtrls, Grids, Buttons;

type

arWords = array [1..10] of string;

TForm1 = class(TForm)

Label10: TLabel;

Label11: TLabel;

ListBoxWords: TListBox;

Button2: TButton;

Button1: TButton;

Label1: TLabel;

Edit1: TEdit;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

procedure SplitStr(Str1: string; var Words: arWords; var N: integer);

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SplitStr(Str1: string; var Words: arWords; var N: integer);

var i,j,k: integer;

tmp : string;

begin

tmp:='';

i:=1; N:=0;

repeat

if (tmp<>'') and ((str1[i]=' ') or (i=Length(str1))) then

begin

N:=N+1; Words[N]:=tmp;

tmp:='';

end

else if str1[i]<>' ' then tmp:=tmp+str1[i];

i:=i+1;

until i>Length(str1);

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,K: integer;

ArrayWords: arWords;

begin

SplitStr(Memo1.Text+' ',ArrayWords,K);

ListBoxWords.Clear;

for i:=1 to K do ListBoxWords.Items.Add(ArrayWords[i]);

Edit1.Text:=IntToStr(K);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

end.

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

Задание 5. Текстовые файлы

1. Даны два текстовых файла. Добавить в начало первого файла содержимое второго файла.

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, Mask, StrUtils, Buttons;

type

TForm1 = class(TForm)

Button3: TButton;

Memo1: TMemo;

Button1: TButton;

OpenDialog1: TOpenDialog;

Button4: TButton;

Memo2: TMemo;

Label5: TLabel;

Label6: TLabel;

Button2: TButton;

Button5: TButton;

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

N: integer;

file1,file2: string;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Memo2.Text:=Memo1.Text+Memo2.Text;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

file1:=OpenDialog1.FileName;

Memo1.Lines.LoadFromFile(file1);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

file2:=OpenDialog1.FileName;

Memo2.Lines.LoadFromFile(file2);

end;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Memo2.Lines.SaveToFile(file2);

end;

end.

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

Размещено на Allbest.ru

...

Подобные документы

  • Проектирование программы для работы с матрицами, обладающей некоторым уровнем защиты, интуитивно понятным интерфейсом и легкостью управления. Набор функций в программе. Класс хранения матричных данных. Описание интерфейса, форма входа и главное окно.

    курсовая работа [2,0 M], добавлен 22.03.2015

  • Основные действия над матрицами. Последовательность умножения вектора на матрицу. Спецификаторы доступа, которые используют для ограничения доступа к элементам класса. Перегрузка операций. Создание программы, реализующей работу с классом Matrix.

    курсовая работа [321,7 K], добавлен 26.01.2013

  • Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.

    практическая работа [27,6 K], добавлен 11.10.2008

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

    курсовая работа [2,4 M], добавлен 26.04.2015

  • Элементарные конструкции языка ПАСКАЛЬ: имена, числа и строки. Стандартные типы данных. Организация ввода и вывода данных с терминального устройства. Разработка программы, изменяющей первоначальную матрицу по заданной схеме и выводящей ее на экран.

    курсовая работа [68,6 K], добавлен 09.07.2015

  • Процедура изучения программы нахождения большего из четырех чисел, основанной на использовании подпрограммы нахождения большего из двух чисел. Практические навыки работы в MS Excel. Структура и основы создания базы данных при использовании конструктора.

    отчет по практике [22,4 K], добавлен 26.01.2011

  • Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.

    контрольная работа [1,0 M], добавлен 30.04.2013

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

    отчет по практике [360,4 K], добавлен 08.02.2014

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

  • Основы проверки и расчета входных данных и вывода выходных данных программы, их блок-схемы. Реализация функции считывания числовых данных из файла, управление (создание, уничтожение и редактирование) визуальными компонентами во время выполнения программы.

    контрольная работа [1,3 M], добавлен 12.06.2009

  • Составление программы для зашифровки текста (не более 255 символов), с использованием одного перемешанного алфавита, полученного случайной перестановкой всех букв исходного алфавита. Создание меню-интерфейса для навигации пользователя по программе.

    курсовая работа [496,2 K], добавлен 17.05.2015

  • Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.

    курсовая работа [169,3 K], добавлен 25.12.2012

  • Практическое решение технических задач и логического проектирования узлов ЭВМ: операция деления целых чисел в формате "Упакованное десятичное" на сумматоре прямого кода: блок-схемы алгоритма программы и её код. Понятие об инвертировании числа и кода.

    курсовая работа [479,0 K], добавлен 24.06.2012

  • Блок-схема модулей программы. Главная цель бизнеса ООО "Регион". Протокол тестирования продукта. Руководство пользователя программы. Расчет цены предложения и минимального количества копий тиражирования. Образец отчета "Книга продаж", листинг программы.

    дипломная работа [1,0 M], добавлен 18.09.2014

  • Создание на языке C базы данных "Стадионы города", требования к программе. Осуществление загрузки базы данных в массив и вывод главного меню в основной программе. Алгоритм работы программы в виде блок-схемы. Описание функций программы и ее листинг.

    курсовая работа [183,6 K], добавлен 06.10.2010

  • Линейные алгоритмы, условия и циклы. Массивы, строки, множества, подпрограммы и файлы. Определение позиций экстремальных элементов в массивах вещественных чисел. Осуществление циклических сдвигов элементов массива. Определение элементов матрицы.

    контрольная работа [719,6 K], добавлен 10.04.2015

  • Формирование устойчивой последовательности псевдослучайных чисел с использованием метода "середины квадрата". Разработка программы для определения среднего значения чисел, среднего значения квадратов чисел и дисперсии для последовательности из 20 чисел.

    лабораторная работа [1,4 M], добавлен 21.01.2015

  • Основные операции с матрицами. Проектирование объектно-ориентированного модуля для работы с матрицами в среде Delphi 7. Разработка программы, которая позволяет выполнять различные действия над матрицами. Описание интерфейса программы, исходный код модуля.

    курсовая работа [1014,2 K], добавлен 15.01.2013

  • Методы обработки информации при решении прикладных задач. Математическая модель задачи. Блок-схема алгоритма программы. Компоненты, которые используются для работы в программе: элементы интерфейса; процедуры; операторы. Текст программы с пояснениями.

    курсовая работа [954,0 K], добавлен 07.01.2011

  • Создание программы для мобильного устройства, для решения геометрических задач: нахождения площади треугольника по формуле Герона, площади прямоугольного треугольника и круга. Реализация программных модулей, интерфейс программы, руководство пользователя.

    курсовая работа [314,9 K], добавлен 07.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.