Учебный курс Программирование на Delphi. Модуль 12: различия между версиями

Материал из Wiki Mininuniver
Перейти к навигацииПерейти к поиску
Строка 10: Строка 10:
  
 
*'''Использованные компоненты'''
 
*'''Использованные компоненты'''
 +
BitBtn1 - кнопка выхода
 +
 +
BitBtn2 - Рабочая кнопка
 +
 +
Memo1 - поле вывода
  
 
*'''Программный код'''
 
*'''Программный код'''
Строка 114: Строка 119:
 
|<center>14</center>||Сформировать файл, содержащий сведения о владельцах автомобилей: фамилия владельца, марка автомобиля, номер. Выбрать информацию о владельцах автомобилей, имеющих заданную марку автомобиля.||
 
|<center>14</center>||Сформировать файл, содержащий сведения о владельцах автомобилей: фамилия владельца, марка автомобиля, номер. Выбрать информацию о владельцах автомобилей, имеющих заданную марку автомобиля.||
 
  |}
 
  |}
 +
 +
  
 
<center>'''Типизированные файлы'''</center>
 
<center>'''Типизированные файлы'''</center>
Строка 124: Строка 131:
  
 
*'''Использованные компоненты'''
 
*'''Использованные компоненты'''
 +
Label1, Label2, Label3, Label4 - Пояснения
 +
 +
Edit1, Edit2, Edit3, Edit4 - Ввод исходных данных
 +
 +
BitBtn1 - Рабочая кнопка
 +
 +
BitBtn2 - Кнопка выхода
  
 
*'''Программный код'''
 
*'''Программный код'''

Версия 10:11, 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

Таблица №12
Номер варианта Условие
1
Создать файл, содержащий сведения о пациентах поликлиники. Структура записи: ФИО пациента, год рождения, адрес, диагноз. Выбрать информацию о пациентах, обратившихся с диагнозом "грипп".
2
Создать файл, содержащий сведения о книгах, находящихся в читальном зале библиотеки. Каждая запись должна содержать: фамилию и инициалы автора, название книги, место издания, наименование издательства, год издания, количество страниц. Выбрать записи о книгах издательства "Высшая школа", выпущенных после 2000 года.
3
Создать файл, содержащий информацию о свободных местах в поездах. Запись содержит: дату выезда, номер поезда, конечный пункт назначения, время отправления, число свободных купейных мест, число свободных плацкартных мест. Выдать информацию об имеющихся свободных местах на определенное число.
4
Разработать программу ("электронную сваху") для поиска женихов и невест. Создать два файла: список женихов и список невест. В каждом списке кандидат (жених или невеста) характеризуется записью, содержащей порядковый номер кандидата; данные о кандидате (возраст, рост, вес); требования к партнеру (минимальное и максимальное значение соответствующего параметра). Сформировать списки пар с учетом требований кандидата.
5
Создать файл, содержащий сведения о студентах. Каждая запись должна содержать: номер по списку, фамилию, имя, отчество; год рождения; адрес. Выбрать сведения о студентах, проживающих в Нижнем Новгороде.
6
Создать файл, содержащий сведения о предметах, изучаемых на первом курсе. Запись должна содержать: название предмета, общее количество часов в семестре, количество часов в неделю. Выбрать информацию о предметах, количество часов в неделю для которых не меньше 4.
7
Создать файл, содержащий сведения о компьютерах. Структура записи: тип ПК, тактовая частота, объем ОП, объем винчестера, стоимость. Выбрать информацию о компьютерах, имеющих объем ОП более 128 Мбайт.
8
Создать файл, содержащий сведения о рейсах самолетов. Для каждого рейса указаны: номер рейса, тип самолета, пункт назначения, время вылета, дни вылета. Выбрать информацию о рейсах на Санкт- Петербург.
9
Создать файл, содержащий сведения об игрушках. Структура записи: название игрушки, ее стоимость, возрастные границы. Выбрать информацию об игрушках, цена которых не превышает 250 руб. и которые подходят детям 5 лет.
10
Создать файл, содержащий номера телефонов сотрудников. Структура записи: ФИО, номер телефона. Найти номер телефона сотрудника по его фамилии и инициалам.
11
Создать файл, содержащий сведения о результатах чемпионата по хоккею. Структура записи: название команды, результаты игры. Выбрать информацию о результатах игр команды "Торпедо".
12
Протокол лыжных гонок записать в файл. Для каждого участника указывается фамилия, время старта (чч: мм: сс), время финиша. Выбрать сведения об участниках, выполнивших норму заданного (1, 2, 3) разряда.
13
Сформировать файл, содержащий сведения о магазинах района. Структура записи: название магазина, адрес, фамилия директора. Выбрать информацию о магазинах, расположенных на проспекте Октября.
14
Сформировать файл, содержащий сведения о владельцах автомобилей: фамилия владельца, марка автомобиля, номер. Выбрать информацию о владельцах автомобилей, имеющих заданную марку автомобиля.


Типизированные файлы

Пример 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

Литература

  1. Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
  2. Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
  3. Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.

Ссылки

Учебный курс Программирование на Delphi

Учебный план курса Программирование на Delphi