Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Закрытая тема
 
Опции темы Опции просмотра
Старый 22.06.2009, 11:47   #121 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Бракс Посмотреть сообщение
Здравствуйте помогите пожалуйста срочно решить паскалевские задачи!
1)Дан файл, содержащий текст, и некоторые буквы. Найти слово, содержащее наибольшее количество указанных букв.
Прикину на досуге. Пока некогда.

Цитата:
2)Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности.
Мало информации. Нужна исходная база данных по работникам предприятия. В каком она виде? Таблица? Массив записей? Или ее нужно тоже формировать самостоятельно?

Цитата:
3)Даны два массива. Найти число различных элементов и указать их порядковые номера. Если таковых не имеется – сообщить об этом.
Эту давайте-ка самостоятельно. Детский сад.
Vladimir_S вне форума  
Старый 22.06.2009, 11:57   #122 (permalink)
Бракс
Новичок
 
Регистрация: 22.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

2)Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности.

Мало информации. Нужна исходная база данных по работникам предприятия. В каком она виде? Таблица? Массив записей? Или ее нужно тоже формировать самостоятельно?

Самому нужнно вводить зароботную плату и через эти данные нужно найти среднию!!!
вот я начал был решать и неполучаеться и одного условия нет!!! вот примерно псмотрите!!!
program vtoroiBlok;
const n=10;
type pa6otnik=record
famili9:string[20];
zarplata:integer;
cTa>|<_pabotb|:integer;
DoJI>|<Hoctb:string[10];
end;
mas=array[1..n] of pa6otnik;
var
v:mas;
i,k,nn:integer;
{s:string;}
begin
write('Vvedute kol=');
readln(nn);
for i:=1 to nn do
begin
write('vvedite famili9 ',i,' pa6otnik='); readln(v[i].famili9);
write('vvedite zarplata ',i,' pa6otnik='); readln(v[i].zarplata);
write('vvedite cTa>|<_pabotb| ',i,' pa6otnik
='); readln(v[i].cTa>|<_pabotb|);
write('vvedite DoJI>|<Hoctb ',i,' pa6otnik='); readln(v[i].DoJI>|<Hoctb);
end;
write('kotorb|e pabotali bolee 10 let ');
{readln(s); }
k:=0;
for i:=1 to nn do
if v[i].cTa>|<_pabotb|='10' then begin with v[i] do begin
write(i,' ',famili9,' ');
writeln(zarplata,' ');
writeln(cTa>|<_pabotb|,' ');
writeln(DoJI>|<Hoctb,' ');
end;
k:=k+1; end;
write('Kol-vo pabotnikov ctaj rabotb| bolee 10 let =',k);
readln;
end.
Бракс вне форума  
Старый 22.06.2009, 12:30   #123 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Бракс Посмотреть сообщение
2)Среди работников данного предприятия найти тех, чья заработная плата за месяц ниже средней по предприятию, а также распечатать список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности.

Мало информации. Нужна исходная база данных по работникам предприятия. В каком она виде? Таблица? Массив записей? Или ее нужно тоже формировать самостоятельно?

Самому нужнно вводить зароботную плату и через эти данные нужно найти среднию!!!
вот я начал был решать и неполучаеться и одного условия нет!!! вот примерно псмотрите!!!
program vtoroiBlok;
const n=10;
type pa6otnik=record
famili9:string[20];
zarplata:integer;
cTa>|<_pabotb|:integer;
DoJI>|<Hoctb:string[10];
end;
mas=array[1..n] of pa6otnik;
var
v:mas;
i,k,nn:integer;
{s:string;}
begin
write('Vvedute kol=');
readln(nn);
for i:=1 to nn do
begin
write('vvedite famili9 ',i,' pa6otnik='); readln(v[i].famili9);
write('vvedite zarplata ',i,' pa6otnik='); readln(v[i].zarplata);
write('vvedite cTa>|<_pabotb| ',i,' pa6otnik
='); readln(v[i].cTa>|<_pabotb|);
write('vvedite DoJI>|<Hoctb ',i,' pa6otnik='); readln(v[i].DoJI>|<Hoctb);
end;
write('kotorb|e pabotali bolee 10 let ');
{readln(s); }
k:=0;
for i:=1 to nn do
if v[i].cTa>|<_pabotb|='10' then begin with v[i] do begin
write(i,' ',famili9,' ');
writeln(zarplata,' ');
writeln(cTa>|<_pabotb|,' ');
writeln(DoJI>|<Hoctb,' ');
end;
k:=k+1; end;
write('Kol-vo pabotnikov ctaj rabotb| bolee 10 let =',k);
readln;
end.
Так, ну сразу видно - в 10-й снизу строке 2 ошибки:
1. Почему условие равенства? Надо ">".
2. Стаж работы вы задали, как INTEGER-тип, а не STRING, а поэтому брать 10 в кавычки - ошибка.
Отсюда условие должно быть таким:
if v[i].cTa>|<_pabotb|>10 then
Но, между прочим, всё равно будет сообщение об ошибке! Потому что у Вас, скажем так, весьма своеобразные идентификаторы. Ну как, скажите, бедному компьютеру разобраться, какой из знаков "<", ">" относится к условию, а какой описывает русскую букву "ж"? Поэтому уберите-ка все значки типа "<", ">", "|" из идентификаторов переменных и постарайтесь обойтись обычным транслитом. Выпендреж до добра не доведет.
В остальном вроде всё верно.
Дальше нужно прокрутить еще пару аналогичных циклов. Первый - чтобы определить среднюю зарплату, второй - чтобы выявить низкооплачиваемых работников. Нужно будет ввести переменную средней зарплаты.
Vladimir_S вне форума  
Старый 22.06.2009, 21:44   #124 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от shutti Посмотреть сообщение
Люди помогите решить задачи на PASCAL-е. Заранее спосибо.

1) Дан файл, содержащий текст. Определить, сколько раз встречается в нем самое короткое слово.
VAR
f,f1,f2:TEXT;
S,Sh_Word:STRING;
Sh_Lng:BYTE;
Sh_Num:WORD;
Ch:Char;
BEGIN
Assign(f,'D:\Txt');
ReSet(f);
Assign(f1,'D:\TTT');
ReWrite(f1);
Assign(f2,'D:\TXX');
ReWrite(f2);
REPEAT
Read(f,Ch);
IF (Ch=' ') OR (Ch='.') OR (Ch=',') OR (Ch='!') OR (Ch='?')
OR (Ch=':') OR (Ch=';') OR (Ch='(') OR (Ch=')') OR (Ch='-')
THEN Writeln(f1) ELSE Write(f1,Ch);
UNTIL EoF(f);
Close(f);
Close(f1);
ReSet(f1);
REPEAT
Readln(f1,S);
IF S<>'' THEN WriteLn(f2,S);
UNTIL EoF(f1);
Close(f1);
Close(f2);
ReSet(f2);
Sh_Lng:=255;
REPEAT
Readln(f2,S);
IF Length(S)<Sh_Lng THEN
BEGIN
Sh_Lng:=Length(S);
Sh_Word:=S;
END;
UNTIL EoF(f2);
ReSet(f2);
Sh_Num:=0;
REPEAT
Readln(f2,S);
IF S=Sh_Word THEN INC(Sh_Num);
UNTIL EoF(f2);
Close(f2);
Erase(f1);
Erase(f2);
Writeln('The shortest word "',Sh_Word,'" is ',Sh_Num,' times recurred');
Readln;
END.
Vladimir_S вне форума  
Старый 22.06.2009, 22:49   #125 (permalink)
shutti
Новичок
 
Регистрация: 21.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S , большое спосибо .
shutti вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 23.06.2009, 17:59   #126 (permalink)
Бракс
Новичок
 
Регистрация: 22.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S: Спасибо большое за предыдущую подсказку у меня получилось!!!
Помоги пожалуйста решить с файлами еще, воопще файлы плохо знаю(((
1)Дан файл, содержащий текст, и некоторые буквы. Найти слово, содержащее наибольшее количество указанных букв.
За ранее очень очень благодарен!!!
Бракс вне форума  
Старый 23.06.2009, 20:37   #127 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от Бракс Посмотреть сообщение
Vladimir_S: Спасибо большое за предыдущую подсказку у меня получилось!!!
Помоги пожалуйста решить с файлами еще, воопще файлы плохо знаю(((
1)Дан файл, содержащий текст, и некоторые буквы. Найти слово, содержащее наибольшее количество указанных букв.
За ранее очень очень благодарен!!!
Вот как-то так:

CONST
Let:ARRAY[1..4] of CHAR= ('а', 'е', 'и', 'ф');
VAR
f,f1,f2:TEXT;
S,Rich_Word:STRING;
i,j,k:INTEGER;
L_Num:WORD;
Ch:Char;
BEGIN
Assign(f,'D:\Txt');
ReSet(f);
Assign(f1,'D:\TTT');
ReWrite(f1);
Assign(f2,'D:\TXX');
ReWrite(f2);
REPEAT
Read(f,Ch);
IF (Ch=' ') OR (Ch='.') OR (Ch=',') OR (Ch='!') OR (Ch='?')
OR (Ch=':') OR (Ch=';') OR (Ch='(') OR (Ch=')') OR (Ch='-')
THEN Writeln(f1) ELSE Write(f1,Ch);
UNTIL EoF(f);
Close(f);
Close(f1);
ReSet(f1);
REPEAT
Readln(f1,S);
IF S<>'' THEN WriteLn(f2,S);
UNTIL EoF(f1);
Close(f1);
Close(f2);
ReSet(f2);
L_Num:=0;
REPEAT
Readln(f2,S);
k:=0;
FOR i:=1 TO Length(S) DO
FOR j:=1 TO 4 DO
IF S[i]=Let[j] THEN INC(k);
IF k>L_Num THEN
BEGIN
L_Num:=k;
Rich_Word:=S;
END;
UNTIL EoF(f2);
Close(f2);
Erase(f1);
Erase(f2);
Writeln('The word "',Rich_Word,'" contains ',L_Num,' letters on payroll');
Readln;
END.
Vladimir_S вне форума  
Старый 23.06.2009, 21:44   #128 (permalink)
shutti
Новичок
 
Регистрация: 21.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от shutti Посмотреть сообщение
3)Напишите программу с подпрограммой для ввода с клавиатуры отрицательных чисел и возвращения количества введенных чисел и их суммы. Работа должна завершиться, когда вводится положительное число.
Не решаеться вообще
shutti вне форума  
Старый 23.06.2009, 22:06   #129 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от shutti Посмотреть сообщение
Не решаеться вообще
Извините, но задача настолько простая, что даже не интересно. И чему тут "не решаться"? Правда, я не очень понимаю, зачем нужна подпрограмма и куда ее воткнуть, но если по-простому, то:

VAR
SUM, Quantity:REAL;
Number:WORD;
BEGIN
Number:=0;
SUM:=0;
REPEAT
Write('Next quantity ');
Readln(Quantity);
IF Quantity<0 THEN
BEGIN
SUM:=SUM+Quantity;
Number:=Number+1;
Writeln(Number);
Writeln('Sum = ',SUM);
END;
UNTIL Quantity>0;
Writeln('Data input is finished');
Readln;
END.

Всё!!!

Последний раз редактировалось Vladimir_S; 23.06.2009 в 22:19
Vladimir_S вне форума  
Старый 24.06.2009, 06:00   #130 (permalink)
Саня111
Новичок
 
Регистрация: 18.06.2009
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите пожалуйста написать 3 задачи на Паскале (работа с записями)

1 задача. Сформировать запись, имеющую следующую структуру
type предмет=record
название:string; количество часов:integer; преподаватель:string; кафедра:string; форма отчетностизачет,экзамен); end;
и определить:
o преподавателя, у которого самое большое количество часов;
o список предметов, по которым сдают экзамен;
o кафедру и преподавателя, который ведет данный предмет.
2 задача. Составить программу, выводящую на экран инвентаризационную ведомость (инвентаризационный номер, наименование, дата учета)
3 задача. Определить и вывести на экран множество символов входящих одновременно в имя, отчество, и фамилию, введённые с клавиатуры
Саня111 вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Закрытая тема

Метки
задачи по информатике, помощь, решение задач, студент

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 22:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.