![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Использование динамических списковСодержание книги
Поиск на нашем сайте
Задание. Создать приложение для формирования стека, который заполняется путем ввода целых положительных чисел с клавиатуры. Как только будет введено первое отрицательное число, содержимое стека выводится на панель интерфейса, а память, занимаемая его элементами, освобождается. Сохранение проекта Для нового проекта создайте новую папку, например, X: \ 35эи \ LAB11_S. Сохраните проект File | Save Project As… Сначала сохраните модуль под именем UnStek, затем файл проекта под именем Pr_Stek. Размещение компонентов на Форме Один из возможных вариантов панели интерфейса создаваемого приложения показан на рисунке 11.2. Разместим на форме компоненты Label, Edit, Button, BitBtn, Memo .
![]()
![]() ![]()
![]() ![]() ![]() ![]() ![]() Рис.11.2. Размещение компонентов на форме Создание процедуры обработки событий FormCreate и BitBtn1Click Двойным нажатием клавиши «мыши» на Форме и кнопке Button создайте соответствующие процедуры обработки событий. Пользуясь текстом модуля UnStek, наберите операторы этих процедур. Текст модуля UnStek unit UnStek; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; Type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Button1: TButton; BitBtn1: TBitBtn; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); Private { Private declarations } Public { Public declarations } end;
Var Form1: TForm1;
Implementation
{$R *.dfm} Type pSt=^zap; zap= record inf: integer; adr: pSt end; var // объявление глобальных переменных pVer, // указатель вершины стека pTek: pSt; // текуший указатель elSt: integer; // элемент стека procedure TForm1.FormCreate(Sender: TObject); Begin Memo1.Clear; Edit1.Text:=''; pVer:=nil; // инициализировать указатель вершины elSt:=0; // инициализировать элемент стека end;
procedure TForm1.Button1Click(Sender: TObject); Begin New (pTek); // выделить память elSt:=StrToInt(Edit1.Text); pTek^.inf:=elSt; // в информационную часть стека занести elSt pTek^.adr:=pVer; // в адресную часть занести указатель на вершину pVer:=pTek; // указатель вершины должен указывать на // последний элемент if elSt>=0 then // если элемент стека неотрицательный, тогда … Begin Edit1.Text:=''; // очистить окно редактора Edit1 Edit1.SetFocus; // передать фокус ввода редактору Edit1 End Else Begin Memo1.Lines.Add('Элементы стека:'); // вывод заголовка Repeat Memo1.Lines.Add(#9+IntToStr(pTek^.inf)); // вывод элементов
pVer:=pTek^.adr; Dispose (pTek); // освободить память pTek:=pVer; until pTek= nil; end; end;
end. 11.5. Выполнение индивидуального задания По указанию преподавателя выберите два варианта индивидуальных заданий. В заданиях №1 – 15 необходимо использовать динамические массивы, в заданиях №16 – 30 – динамические списки. Во всех заданиях необходимо предусмотреть контрольный вывод исходных данных. Индивидуальные задания 1. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива с клавиатуры, меняет местами элементы с наибольшим и наименьшим значениями среди четных элементов и выводит полученный массив. 2. Создать приложение, которое осуществляет ввод значений элементов двумерного массива n -го порядка с клавиатуры и выводит значение наибольшего их элементов главной диагонали. 3. Создать приложение, которое осуществляет ввод значений элементов двумерного массива n -го порядка с клавиатуры, меняет местами элементы главной и побочной диагоналей, выводит полученный массив. 4. Создать приложение, которое осуществляет ввод значений элементов двумерного массива n -го порядка с клавиатуры, меняет местами строку с максимальным элементом на главной диагонали со строкой с заданным номером, выводит полученный массив. 5. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В (m, n), расположив элементы каждой строки массива А в порядке убывания их абсолютных величин, выводит полученный массив В. 6. Создать приложение, которое осуществляет ввод значений элементов двумерного массива А n -го порядка с клавиатуры, формирует два одномерных массива В и С (в массив В переслать по строкам верхний треугольник матрицы, включая элементы главной диагонали, в массив С – нижний треугольник матрицы). 7. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В(m, n), расположив элементы каждого столбца массива А в порядке убывания их абсолютных величин. 8. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В(m, n), умножая элементы каждой строки массива А на наибольший элемент строки.
9. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива с клавиатуры, определяет количество элементов, превышающих среднее арифметическое значение элементов главной диагонали массива. 10. Создать приложение, которое осуществляет ввод значений элементов двумерного массива А n -го порядка с клавиатуры, определяет максимальные элементы в каждой строке исходного массива и записывает их в массив В(n), упорядочивает одномерный массив В по возрастанию. 11. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В(m, n), путем деления всех элементов массива А на ее наибольший по модулю элемент. 12. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В(m, n), путем поэлементного вычитания последней строки массива А из всех строк, кроме последней. 13. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива с клавиатуры, находит наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов (если таких столбцов несколько, то взять первый из них). 14. Создать приложение, которое осуществляет ввод m строк и n столбцов двумерного массива А с клавиатуры, формирует новый двумерный массив В(m, n), в котором переставлены строка, содержащая элемент с наибольшим значением, и строка, содержащая элемент с наименьшим значением (предполагается, что эти элементы единственны). 15. Создать приложение, которое осуществляет ввод значений элементов двумерного массива А n -го порядка с клавиатуры, формирует новый двумерный массив В(n, n), в котором элементы К -ой строки массива А разделить на диагональный элемент, расположенный в этой строке. 16. Создать приложение, которое заносит в стек целые положительные числа с клавиатуры, выводит содержимое стека и среднее арифметическое значение его элементов. 17. Создать приложение, которое заносит в стек символы с клавиатуры, выводит содержимое стека и сообщение о том, содержится или нет в стеке заданный символ. 18. Создать приложение, которое заносит в каждый элемент стека английское слово с клавиатуры и как только будет введено слово «end», выводит содержимое стека. 19. Создать приложение, которое заносит в стек произвольные целые числа с клавиатуры, выводит содержимое стека и сообщение о том, содержится или нет в стеке заданное число. 20. Создать приложение, которое заносит в стек символы с клавиатуры, выводит содержимое стека и сообщение о том, упорядочены или нет элементы стека по алфавиту. 21. Создать приложение, которое заносит в стек целые положительные числа с клавиатуры и, как только будет введено число, равное сумме введенных чисел, выводит содержимое стека. 22. Создать приложение, которое заносит в стек произвольные числа с клавиатуры, выводит содержимое стека и сообщение о том, упорядочены ли элементы стека по убыванию. 23. Создать приложение, которое заносит в каждый элемент стека русское слово с клавиатуры и, как только будет введено слово «конец», выводит содержимое стека и сообщение о том, содержится или нет в стеке заданное слово. 24. Создать приложение, которое заносит в стек произвольные числа с клавиатуры, выводит содержимое стека и удаляет из стека наибольший элемент.
25. Создать приложение, которое заносит в стек произвольные целые числа с клавиатуры. Как только сумма введенных чисел станет равна нулю, приложение должно вывести содержимое стека. 26. Создать приложение, которое заносит в каждый элемент стека русское слово с клавиатуры и, как только будет введено слово «конец», выводит содержимое стека и затем удаляет из него любое слово, содержащееся в стеке (ввести с клавиатуры). 27. Создать приложение, которое заносит в стек произвольные целые числа с клавиатуры. Как только будет введено число 0 (ноль), приложение должно вывести содержимое стека, а затем сформировать из него два новых стека: в первом должны находиться положительные, а во втором – отрицательные числа. 28. Создать приложение, которое символы, упорядоченные по алфавиту, вводит с клавиатуры и заносит в стек. Приложение должно вывести содержимое стека, ввести с клавиатуры заданный символ и вставить его в стек так, чтобы элементы стека опять оказались упорядоченными по алфавиту. 29. Создать приложение, которое заносит в стек буквы русского и латинского алфавита в произвольном порядке с клавиатуры. Как только будет введен символ «.» (точка), приложение должно вывести содержимое стека, а затем сформировать из него два новых стека: в первом должны находиться буквы русского алфавита, а во втором – буквы латинского алфавита. 30. Создать приложение, которое заносит в стек произвольные целые числа с клавиатуры. Как только будет введено число 9 999, приложение выводит содержимое стека и реверсирует стек (направление ссылок в стеке изменяется так, что вершина и дно стека меняются местами).
|
|||||||||||||||||
Последнее изменение этой страницы: 2016-12-16; просмотров: 309; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.93.10 (0.011 с.) |