Определение минимумов и максимумов
Порядок нахождения минимального элемента из данного набора чисел, создание блок-схемы и программы. Последовательность действий при решении задач с матрицами. Процесс зашифровки строки-предложения, ее программа. Типы данных в процедурах и функциях.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 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