Просмотр полной версии : Задачи по Pascal'у
Не буду объяснять в чем проблема, просто срочно нужно решить задачи по паскалю, я просто не знаю его!
http://rapidshare.com/files/6841239/Pascal.rar.html
Там 17 задач!
Просто срочно нужно, буду блогодарен!
С меня будут +
Помогу с радостью, но для начала залей на slil.ru
http://www.mytempdir.com/1110333
!Внимание: номера задач сделанных общими усилиями:
3,4,5,10,11
эм а физику ктото решает ? :)
!Внимание: номера задач сделанных общими усилиями:
3,4,5,10,11
Хоть уже чать есть, это уже радует!
Теперь хотя бы девушка не возникает, что я не чего не делаю)))
эм а физику ктото решает ? :)
Может кто нибудь и делает!
НЕ в этом дело, я же просто по человески попросил! (Физику и вышку я сам делал, вот было время)
Давайте пионеры, ухнем дружнее.
Половину репы Гемы я пробью =] просто сам не знаю как одна задачка решается.. это надо мануал брать а мне лень =]
Давайте пионеры, ухнем дружнее.
Половину репы Гемы я пробью =] просто сам не знаю как одна задачка решается.. это надо мануал брать а мне лень =]
Какие то ленивые пионеры, не хотят репы получить)))
Может просто мало кто паскаль знает ?
Еслиб у меня был апельсин я бы обязательно поделился (с)
У меня была на первом курсе похожая на первую... но чуть другие условия там... Вот она (http://slil.ru/23555284) мож всетаки пригодится
Завтра пойду на кафедру информатики буду преподов еб/*цензура*/ть, пускай делают за бабки, а то мне уже надоело читать доки по поскалю (лучше ПШП почитаю)!
Вот еще кое че на тему типизированного фаила... числа вводятся с клавы в фаил...
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.
з.ы. В свое время с этим Паскалем в институте тоже мозги е**ли... слава богу кончился...
Строки.
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.
Спасибо EXSlim, учимся читать.
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) - возврат каретки....да не выводятся все слова
Нет я про, что эти задания уже выполнены [ читай мой пост выше ] зря напрягалси =]
на две задачи потратил минут 5, но зато вспомнил что такое паскаль =) а то уже думаю какого компилятор ругается на explode ;)
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
Тему можно закрывать, я так развел все!!!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot