Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Задачи по Pascal'у (https://forum.antichat.xyz/showthread.php?t=28902)

DIAgen 11.12.2006 18:38

Задачи по Pascal'у
 
Не буду объяснять в чем проблема, просто срочно нужно решить задачи по паскалю, я просто не знаю его!

http://rapidshare.com/files/6841239/Pascal.rar.html

Там 17 задач!

Просто срочно нужно, буду блогодарен!

С меня будут +

a1nt 11.12.2006 19:20

Помогу с радостью, но для начала залей на slil.ru

r0 11.12.2006 20:01

http://www.mytempdir.com/1110333

r0 11.12.2006 20:42

!Внимание: номера задач сделанных общими усилиями:

3,4,5,10,11

Ksander 11.12.2006 20:44

[OFFTOP]
эм а физику ктото решает ? :)
[/OFFTOP]

DIAgen 11.12.2006 20:46

Цитата:

Сообщение от r0
!Внимание: номера задач сделанных общими усилиями:

3,4,5,10,11

Хоть уже чать есть, это уже радует!
Теперь хотя бы девушка не возникает, что я не чего не делаю)))


Цитата:

Сообщение от Ksander
[OFFTOP]
эм а физику ктото решает ? :)
[/OFFTOP]

Может кто нибудь и делает!
НЕ в этом дело, я же просто по человески попросил! (Физику и вышку я сам делал, вот было время)

r0 11.12.2006 21:03

Давайте пионеры, ухнем дружнее.
Половину репы Гемы я пробью =] просто сам не знаю как одна задачка решается.. это надо мануал брать а мне лень =]

DIAgen 11.12.2006 21:24

Цитата:

Сообщение от r0
Давайте пионеры, ухнем дружнее.
Половину репы Гемы я пробью =] просто сам не знаю как одна задачка решается.. это надо мануал брать а мне лень =]

Какие то ленивые пионеры, не хотят репы получить)))

Ksander 11.12.2006 21:34

Может просто мало кто паскаль знает ?

Еслиб у меня был апельсин я бы обязательно поделился (с)

m0le[x] 11.12.2006 21:57

У меня была на первом курсе похожая на первую... но чуть другие условия там... Вот она мож всетаки пригодится

DIAgen 11.12.2006 22:22

Завтра пойду на кафедру информатики буду преподов еб/*цензура*/ть, пускай делают за бабки, а то мне уже надоело читать доки по поскалю (лучше ПШП почитаю)!

m0le[x] 11.12.2006 22:45

Вот еще кое че на тему типизированного фаила... числа вводятся с клавы в фаил...

program tip_file;

uses crt;

var

fl:file of integer;

new_f: file of integer;

int:integer;

n,i:integer;

sum:integer;

digits:integer;

begin

clrscr;

assign(fl,'f.dat');

{$I-}

rewrite(fl);

{$I+}

if (IOResult=2) or (IOResult=3) or (IOResult=5) then begin

writeln('Oshibka otkrbltija faila!');

end;

write('Vvedite kol-vo: ');

readln(n);

sum:=0;

for i:=1 to 1 do

write('Vvedite ',i,'cifru: ');

readln(digits);

sum:=digits;

for i:=2 to n do begin

write('Vvedite ',i,'cifru: ');

readln(digits);

sum:=sum+(n div digits);

end;

writeln;

write(fl,digits);

close(fl);
end.

з.ы. В свое время с этим Паскалем в институте тоже мозги е**ли... слава богу кончился...

EXSlim 11.12.2006 23:23

Строки.
2 Посчитайте количество цифр в веденной строке символов. Применяйте подпрограммы.


Цитата:

Var I, Count : Integer;
S : String;

Function check_digit(Symbol : String) : Boolean;
Var Code : integer;
Digit : byte;
Begin
Val(Symbol,Digit,Code);
If Code = 0 Then check_digit:= True Else check_digit:= False;
End;

Begin
WriteLn('Enter string :');
ReadLn(S);
For I:=1 To Length(S) Do
If check_digit(S[i]) Then Inc(Count);
WriteLn('Digits in string : ', Count);
End.

r0 11.12.2006 23:31

Спасибо EXSlim, учимся читать.

EXSlim 12.12.2006 01:06

2 r0 Двиг форума сам удаляет пробелы вначале строки, если ты о читабельности

Строки
1 Запросите у пользователя строку, состоящую из нескольких слов, разделенных пробелом, и выведите ее на экран так, чтобы каждое слово начиналось с новой строки.

Цитата:

Var S: String;
I,Count: Integer;
A : Array [1..32] Of String;

Begin

WriteLn('Enter some worlds separated by space: ');
Readln(S);

S:= S+' ';

For I:=1 To Length(S) Do
if S[I]=' ' Then Inc(Count);

For I:=1 To Count Do
Begin
A[I]:= Copy(S,1,Pos(' ',S));
Delete(S,1,Pos(' ',S));
End;

WriteLn('Formated string : ');

For I:=1 To Count Do
WriteLn(A[I]);

Была идея заменить пробелы символом chr(13) - возврат каретки....да не выводятся все слова

r0 12.12.2006 01:37

Нет я про, что эти задания уже выполнены [ читай мой пост выше ] зря напрягалси =]

EXSlim 12.12.2006 01:47

на две задачи потратил минут 5, но зато вспомнил что такое паскаль =) а то уже думаю какого компилятор ругается на explode ;)

TaNkist 12.12.2006 14:18

12. Создайте файл f целых чисел от А до В (значения вводятся с клавиатуры). Проанализировав в программе созданный файл, создайте еще 3 файла:
- содержащий отрицательные числа,
- содержащий положительные числа,
- содержащий нуль.
Код:

uses crt;
var f,f1:text;
i,a,b:integer;
begin
clrscr;
readln(a);
Readln(b);
assign(f,'file1.txt');
rewrite(f);
For i:=a to b do writeln(f,i);
reset(f);
assign(f1,'file2.txt');
rewrite(f1);
while not(EOF(F)) do
begin
readln(f,i); if i<0 then writeln(f1,i);
end;
close(f1);
reset(f);
assign(f1,'file3.txt');
rewrite(f1);
while not(EOF(F)) do
begin
readln(f,i); if i>0 then writeln(f1,i);
end;
close(f1);
close(f);
assign(f1,'file4.txt');
rewrite(f1);
write(f1,0);
close(f1);
end.


VampiRUS 12.12.2006 14:32

на данный момент решены 3,4,5,10,11,12? или ещё какие-то? Попытаюсь вспомнить паскаль, мож что получится.

насколько я понял седьмое задание(как-то там не по русски написано):
Код:

uses crt;
 const N=5;M=5;
var
 Arr:array[1..N,1..M] of integer;
 a,b,i,j,sum:integer;
begin
 clrscr;
 Randomize;
 for i:=1 to N do
 for j:=1 to M do
  Arr[i,j]:=random(256);

 repeat
  write('vvedite a:');
  readln(a);
 until((a>0 )and(a<M));

 repeat
  write('vvedite b:');
  readln(b);
 until((b>a)and(b<=M));

 sum:=0;
 for i:=1 to N do
 for j:=a to b do
  sum:=sum+Arr[i,j];

 write('summa:',sum,',kol-vo elementov:',(b-a+1)*N);
 readln;
end.

шестое вообще как будто с английского на русский плохим переводчиком переводили, нихера немогу понять к какому месту чётность и нечетность применить.

да и 2 знаю вроде как делать, только постановка задачи опять некоректная:
Цитата:

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

Выдать на экран список абитуриентов, удачно сдавших все экзамены.
и непонятно данные о студентах имеются или их надо сначало вводить.
в общем преподам надо учиться правильно составлять предложения, не теряя логической связи с предыдущими.

вобщем сделал 2 без недопущеных:
Код:

uses crt;
 const N=4;
type
 Student=record
  name:string;
  inf,math,eng:integer;
end;
var
 i:integer;
 arr:array[1..N] of Student;
begin
 clrscr;
 for i:=1 to N do begin
  write('vvedite FIO:');
  readln(arr[i].name);
  write('otsenka po informatike:');
  readln(arr[i].inf);
  write('otsenka po matematike:');
  readln(arr[i].math);
  write('otsenka po angliskomu:');
  readln(arr[i].eng);
 end;
 writeln('otlichniki:');
 for i:=1 to N do
  if((arr[i].inf=5)and(arr[i].math=5)and(arr[i].eng=5))then
 writeln(arr[i].name);
 readln;
end.

думаю принцип понятен(если надо будет сделать с нудопущенымию).

восьмая, получилось как-то по извращенному, но работает(вроде:)):
Код:

const K=5;
 N=5;
 M=N+K;
var
 f,kof,i,j,l:integer;
 arr1:array[1..N] of integer;
 arr2:array[1..K] of integer;
 result:array[1..M] of integer;
begin
{массивы отсортированы по убыванию}
 for i:=1 to N do
  arr1[N-i+1]:=i*3;
 for i:=1 to K do
  arr2[K-i+1]:=i*2;
{раскоментить если надо по возрастанию
for i:=1 to N do
arr1[i]:=i*3;
for i:=1 to K do
arr2[i]:=i*2;
}
 f:=arr1[1];
 i:=2;
 while((f=arr1[i])and(i<N))do
 inc(i);
 kof:=(f-arr1[i])*(-1);
 l:=1;
 i:=1;
 j:=1;
 while(l<=M)do begin
  while((arr1[i]*kof<=arr2[j]*kof)and(i<=N))do begin
  result[l]:=arr1[i];
  inc(l);
  inc(i);
  end;
  while((arr2[j]*kof<=arr1[i]*kof)and(j<=K))do begin
  result[l]:=arr2[j];
  inc(l);
  inc(j);
  end;
  if((i>N)or(j>K))then break;
 end;
 if(i>N)then
  for i:=j to K do begin
  result[l]:=arr2[j];
  inc(l);
  end;
 if(j>K)then
  for j:=i to N do begin
  result[l]:=arr1[j];
  inc(l);
  end;
 for i:=1 to M do
  write(result,' ');
 readln;
end.

9 в принципе тоже самое только запись начинать с конца массива result

DIAgen 14.12.2006 18:46

Тему можно закрывать, я так развел все!!!


Время: 00:46