Учебный курс Программирование на Delphi. Модуль 12
Материал из Wiki Mininuniver
Версия от 10:41, 1 марта 2008; Осипов Артём (обсуждение | вклад)
Содержание
Пример 1
- Условие
В текстовом файле Note.txt определить длину самой большой строки.
- Использованные компоненты
BitBtn1 - кнопка выхода
BitBtn2 - Рабочая кнопка
Memo1 - поле вывода
- Программный код
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Label1: TLabel; Memo1: TMemo; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end; var note:text; max,k,i:integer; c:char; procedure TForm1.BitBtn2Click(Sender: TObject); begin assignfile(note,'c:\note.txt'); append(note); for i:=0 to memo1.Lines.Count do writeln(note,memo1.lines[i]); closefile(note); max:=0; while not eof(note) do begin k:=0; while not eoln (note) do begin read (note, c); k := k + 1; end; if k > max then max := k; readln (note) end; label1.Caption:='Наибольшая строка имеет '+ inttostr(max)+' знаков'; closefile (note); end; end.
- Форма с результатом работы программы
Задание1
Номер варианта | Условие | |
---|---|---|
Создать файл, содержащий сведения о пациентах поликлиники. Структура записи: ФИО пациента, год рождения, адрес, диагноз. Выбрать информацию о пациентах, обратившихся с диагнозом "грипп". | ||
Создать файл, содержащий сведения о книгах, находящихся в читальном зале библиотеки. Каждая запись должна содержать: фамилию и инициалы автора, название книги, место издания, наименование издательства, год издания, количество страниц. Выбрать записи о книгах издательства "Высшая школа", выпущенных после 2000 года. | ||
Создать файл, содержащий информацию о свободных местах в поездах. Запись содержит: дату выезда, номер поезда, конечный пункт назначения, время отправления, число свободных купейных мест, число свободных плацкартных мест. Выдать информацию об имеющихся свободных местах на определенное число. | ||
Разработать программу ("электронную сваху") для поиска женихов и невест. Создать два файла: список женихов и список невест. В каждом списке кандидат (жених или невеста) характеризуется записью, содержащей порядковый номер кандидата; данные о кандидате (возраст, рост, вес); требования к партнеру (минимальное и максимальное значение соответствующего параметра). Сформировать списки пар с учетом требований кандидата. | ||
Создать файл, содержащий сведения о студентах. Каждая запись должна содержать: номер по списку, фамилию, имя, отчество; год рождения; адрес. Выбрать сведения о студентах, проживающих в Нижнем Новгороде. | ||
Создать файл, содержащий сведения о предметах, изучаемых на первом курсе. Запись должна содержать: название предмета, общее количество часов в семестре, количество часов в неделю. Выбрать информацию о предметах, количество часов в неделю для которых не меньше 4. | ||
Создать файл, содержащий сведения о компьютерах. Структура записи: тип ПК, тактовая частота, объем ОП, объем винчестера, стоимость. Выбрать информацию о компьютерах, имеющих объем ОП более 128 Мбайт. | ||
Создать файл, содержащий сведения о рейсах самолетов. Для каждого рейса указаны: номер рейса, тип самолета, пункт назначения, время вылета, дни вылета. Выбрать информацию о рейсах на Санкт- Петербург. | ||
Создать файл, содержащий сведения об игрушках. Структура записи: название игрушки, ее стоимость, возрастные границы. Выбрать информацию об игрушках, цена которых не превышает 250 руб. и которые подходят детям 5 лет. | ||
Создать файл, содержащий номера телефонов сотрудников. Структура записи: ФИО, номер телефона. Найти номер телефона сотрудника по его фамилии и инициалам. | ||
Создать файл, содержащий сведения о результатах чемпионата по хоккею. Структура записи: название команды, результаты игры. Выбрать информацию о результатах игр команды "Торпедо". | ||
Протокол лыжных гонок записать в файл. Для каждого участника указывается фамилия, время старта (чч: мм: сс), время финиша. Выбрать сведения об участниках, выполнивших норму заданного (1, 2, 3) разряда. | ||
Сформировать файл, содержащий сведения о магазинах района. Структура записи: название магазина, адрес, фамилия директора. Выбрать информацию о магазинах, расположенных на проспекте Октября. | ||
Сформировать файл, содержащий сведения о владельцах автомобилей: фамилия владельца, марка автомобиля, номер. Выбрать информацию о владельцах автомобилей, имеющих заданную марку автомобиля. |
Пример 2
- Условие
Сформировать файл FM.DAT, содержащий экзаменационную ведомость одной студенческой группы. Записи файла состоят из следующих элементов: фамилия, имя, отчество; номер зачетной книжки; оценка. После записи файла осуществить поиск студентов, сдавших экзамен на 4 или 5.
- Использованные компоненты
Label1, Label2, Label3, Label4 - Пояснения
Edit1, Edit2, Edit3, Edit4 - Ввод исходных данных
BitBtn1 - Рабочая кнопка
BitBtn2 - Кнопка выхода
- Программный код
unit Unit1; 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; Edit2: TEdit; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end; type stud=record fio:string[30]; nz:string[6]; mark:2..5; end; var f:file of stud; s:stud; n,i:integer; was:boolean; procedure TForm1.BitBtn1Click(Sender: TObject); begin assignfile(f,'c:\fm.dat'); rewrite(f); n:= strtoint(edit4.Text); for i:=1 to n do begin s.fio:=edit1.text; s.nz:=edit2.text; s.mark:=strtoint(edit3.Text); write(f,s); end; closefile(f); messagedlg('файл сформирован',mtinformation,[mbok],0); reset(f); was:=false; while not eof(f) do begin read(f,s); if s.mark >= 4 then begin write( s.fio); was:=true end end; if was = false then messagedlg('Записи не найдены',mtinformation,[mbok],0) ; closefile(f) end; end.
- Форма с результатом работы программы
Задание2
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.