IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите решить 2 задачи., Темы:Текстовые файлы,Последовательные файлы.
pippo
сообщение 26.05.2008 20:09
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Очень прошу помоч с этими задачами,я в паскале не очень силён.Всю голову уже изломал! :o :wall: Заранее спасибо!
Задача№1
Создать текстовый фаил из 9 строк,в каждой строке до 69 символов.Определить сколько в тексте предложений.
Задача№2
Создать последовательный файл с полями а)фамилия б)улица в)пол г)возраст д)город.Запрограмировать диалог просмотра создания файла в поисках мужчин старше 60 лет! blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 18)
sintanial
сообщение 26.05.2008 22:48
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


Покажи что сделал, помогу исправить ошибки =) !
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 26.05.2008 23:23
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Первую задачу сам осилил......вторую ваще не знаю как делать.Пропустил лекцию mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sintanial
сообщение 27.05.2008 7:45
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


вторая решается как я понял с Record - который пока что сам не очень знаю =), но ты начни, выложи свои начинания, форумчане помогут + юзай поиск, вроде такие задачки решались =)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 27.05.2008 17:29
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Я совсем ничего не знаю про этот рекорд......лекций небыло, а задачки дают!Разбирайся сам как хочешь!А я вот ваще не могу сам разобраться wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sintanial
сообщение 27.05.2008 17:55
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Мартын

Репутация: -  1  +


Похожая ситуация, только у меня задание на базы данных =). Программа минимум в 400 строк, у не которых даже в группе до 1300 строк программа =)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 27.05.2008 18:38
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Что ещё сказать,ЖЕСТЬ!!!Два дня уже ползаю по сайтам ничё найти не могу!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 27.05.2008 19:36
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Подскажите почему не правильно считается кол-во предложений?
program LR8; 
uses crt;
type ahh=array[1..9] of string[69];
var f:text; a:ahh; i,j,sch:byte; b:string;
begin
assign(f,'file.txt');
rewrite(f);
for i:=1 to 9 do
begin
readln(a[i]);

writeln(f,a[i]);
end;
close(f);
sch:=0;
for i:=1 to 9 do
for j:=1 to 69 do
begin
b:='';
b:=a[i];
if b[j]='.' then sch:=sch+1;
end;
writeln('predl:= ',sch);
readln;
clrscr;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 27.05.2008 20:02
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


'...' -здесь сколько предложений? А остальные знаки корме точки?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 27.05.2008 20:11
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Да это не важно, даже если я строго ставлю везде просто точки он выдаёт больше предложений!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 27.05.2008 20:23
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


for i:=1 to 9 do 
for j:=1 to length(a[i]) do
begin
b:='';
b:=a[i];
if b[j]='.' then sch:=sch+1;
end;
sch:=sch+1; // это если есть еще символы после поледней точки
Вроде так...

Сообщение отредактировано: Client - 27.05.2008 20:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 27.05.2008 21:09
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


А если их нет то он считает на одну точку больше!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 27.05.2008 21:15
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Сделай проверку последнего символа в строке
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 28.05.2008 12:11
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Ладно с первой задачей разобрался полность, сегодня уже защитился.Всем спасибо кто помогал!
По второй задаче накалякал что то, тока ничё не работает wacko.gif
program LR7;
uses crt;
TYPE L1=record
L.F,L.Y,L.D,L.M:string;
end;
var L:L1;
F1:file of L1;
F:string
c:char
begin
clrscr;
L.F=";
Assign(F1,'file.dan');
Rewrite(F1);
While e<>'q' do
begin
write ('Name');
readln(L.F);
write('pol');
readln(L.Y);
write('gorod');
readl(L.D);
write('vozrast');
readln(L.M);
write(F1);
c:=readkey;
end;
close(F1);
write('vvedite iskomuu vozrast');
readln(F);
reset(F1);
while not eof(F1) do
begin
read(F1,L);
if L.Y=F then
begin
writeln('show all given');
write('vozrast');
Writeln(L.F);
write('name')'
writeln(L.Y);
write('gorod');
writeln(L.D);
write('pol');
writeln(L.M);
end;
end;
close(F1);
write('konec:');
readkey;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 28.05.2008 17:06
Сообщение #15


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Запрограмировать диалог просмотра создания файла в поисках мужчин старше 60 лет! blink.gif


Имеется в виду меню с 3 вариантами выбора:

-вывод всего файла на экран
-вывод записей с полем возраст>60
-выход

+ отдельно заполнение файла ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
pippo
сообщение 29.05.2008 11:31
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Ну просто создать не текстовый фаил, сохранить его на диск, а на экран вывести мужчин старше 60!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Alex-
сообщение 29.05.2008 12:22
Сообщение #17


Гость






Подправил прямо на форуме, поэтому не тестил.

program LR7;
uses crt;
TYPE L1=record
F,Y,D,M:string;
end;
var L:L1;
F1:file of L1;
F:string
key:integer;
c:char
begin
clrscr;
Assign(F1,'file.dat');
Reset(F1);
writeln('Будете добавлять данные в файл? (Y/N)');
readln(key);
If (key='Y') or (key='y') then
Begin
seek(F1,filesize(F1));
repeat
begin
write ('Name'); readln(L.F);
write('pol'); readln(L.Y);
write('gorod'); readl(L.D);
write('vozrast'); readln(L.M);
write(F1,L);
end;
c:=readkey;
writeln('Надо ещё добавлять данные? (Y/N)');
until (c='n') or (c='N');
close(F1);
end;
clrscr;
write('Мужчины старше 60: ');
reset(F1);
while not eof(F1) do
begin
if (L.Y=F) and (L.M>60) then
begin
read(F1,L);
writeln('show all given');
write('vozrast');
Writeln(L.F);
write('name')'
writeln(L.Y);
write('gorod');
writeln(L.D);
write('pol');
writeln(L.M);
end;
end;
close(F1);
write('konec');
readkey;
end.
 К началу страницы 
+ Ответить 
pippo
сообщение 30.05.2008 11:34
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Не работает не пойму почему(((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Alex J'Root
сообщение 31.05.2008 14:28
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  -1  +


Только в начале создай сам файл "file.dat" в директории, где и прога.

program LR7;
uses crt;
TYPE L1=record
F,Y,D:string;
M:integer;
end;
var L:L1;
F1:file of L1;
F:string;
key:string;
c:char;
begin
clrscr;
Assign(F1,'file.dat');
Reset(F1);
writeln('Будете вводить данные? (Y/N)');
readln(key);
If (key='Y') or (key='y') then
Begin
seek(F1,filesize(F1));
repeat
begin
write ('Name: '); readln(L.F);
write('pol: '); readln(L.Y);
write('gorod: '); readln(L.D);
write('vozrast: '); readln(L.M);
write(F1,L);
end;
writeln('Надо вводить данные о новом пользователе? (Y/N)');
readln©;
until (c='n') or (c='N');
close(F1);
end;
clrscr;
writeln('Мужчины старше 60: ');
writeln;
reset(F1);
while not eof(F1) do
read(F1,L);
begin
if (L.M>60) and (L.Y='F') then
begin
writeln('show all given');
write('vozrast: ');
writeln(L.M);
write('name: ');
writeln(L.F);
write('gorod: ');
writeln(L.D);
write('pol: ');
writeln(L.Y);
end;
end;
close(F1);
write('konec');
readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 15:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"