Помогите решить задания по Pascal до сентебря.
Очень надо - я уже почти два задания сделал и пытаюсь другие сделать - но их много, боюсь не успею а я паскаль почти не знаю учусь заочно:(.
Кто какие задания сможет решить - помогите -:!!!:
кто то решит одно кто то другое так и наберутся ответы ;)
Задания фложены в файл zip/doc
Короче так. Ячейки я заполнял числами типа byte (дл я integer раскомментируешь соответствующее место, но выглядеть это будет страшно).
И ещё самое главное: под ДОС у меня не скомпилировалось, потому что больно дофига данных (ещё бы, два массива 180х180 да ещё по два байта на ячейку - это уже 64800 байт). Может я просто не знаю хитрых параметров, позволяющих увеличить размер сегмента данных? Я компилировал TMT pascal'ем.
В общем как бы то ни было, кладу что есть.
http://dcp.c-f-h.com/Other/prog.zip
18- на 180 сказала много переменных - ошибка.
я тогда исправил и написал 20 на 20 и запустил паскаль - об ошибке не объявила но паскаль завис жму энтер никаких действия тока принудительно закрывать пришлось.
---
Помогите усовешенствовать и разобратся - Задание в паскале.
Мне было задана куча заданий - и вот решил тут одно заданице набить.
Посмотрел пример и набил - и получается. Но хочу усовершенствовать работу программы.
Вот задание: РАЗРАБОТАТЬ БАЗУ ДАННЫХ "ДЕТСКАЯ БИБЛИОТЕКА" (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, АВТОРА КНИГИ, НАЗВАНИЕ КНИГИ, ГОРОД И ИЗДАТЕЛЬСТВО, ГОД ВЫПУСКА). ВЫВЕСТИ НА ЭКРАН ДАННЫЕ О КНИГАХ, ВЫПУЩЕННЫХ В 1995 ГОДУ.
======================================
-------------------------------------------
программа работает но вот что мне не нравится - фантазировать имена фаимли отчества итд для N количества персон - это немного нудно
и я подумал а почему бы не сделать так создать уже файл P1.pas вбить туда эти данные (вот тока сразу возникает вопрос каким оброзом) запустив уже удавшеюся программуу и минутку думая на соченяв имена прогнав её выполнев все действия я уже получил этот файл мне тока остаётся переписать программу чтобы уже содержимое файла считать)
скачал прогу запустил сразу ей не понравилось
18- на 180 сказала много переменных - ошибка.
я тогда исправил и написал 20 на 20 и запустил паскаль - об ошибке не объявила но паскаль завис жму энтер никаких действия тока принудительно закрывать пришлось.
Смотрел прогу int-a. Должно работать. Скорей всего ты что-то нахимичил. :D
Например, ты изменил вывод? Первоначально там выводятся столбцы с 21 по 30.
Кроме этого в циклах тоже нужно изменить 180 на 20.
скачал прогу запустил сразу ей не понравилось
ну прям не знаю, что у тебя там. Я особо ничего не вылизывал, потому что мне сразу не понравилась сумма 4 integer чисел, умещаемая в другое integer число.
И вообще ис-под ДОСа у меня это дело не пошло =0)) В винде только скомпилилось TMT pascal'ем, но я уже писал.
//Если файл не качается - я не виноват, иногда хостинг падает на пару дней, ибо бесплатный.
----------------
Вот ещё одно задание что надо решить нашёл примерное похожие задание для решения:
для задания
Для каждого слова заданного предложения указать долю согласных. Определить слово в котором доля согласных максимальна.
- только первую часть задания и оно высчитывает процент слов содержаших согласные только набранные латинскими а не русскими буквами что необходимо поменять чтобы понимало русский язык.
оно высчитывает процент слов содержаших согласные только набранные латинскими а не русскими буквами что необходимо поменять чтобы понимало русский язык
Юзай RK.com(в аттаче)
В BAT файл напиши такое:
RK.com
YourProgram.exe
Замени то что жирным на имя exe твоей проги
Запускай BAT, а не свою прогу
Менять раскладку Shift+Shift
Там(в RK.com) написано как его юзать
Юзай RK.com(в аттаче)
В BAT файл напиши такое:
RK.com
YourProgram.exe
Замени то что жирным на имя exe твоей проги
Запускай BAT, а не свою прогу
Менять раскладку Shift+Shift
Там(в RK.com) написано как его юзать
извини чеза х*ень я распокавал запускаю экзешник ни фига не происходит (запускаю отдельно сам по себе)
по подробней объясни (и я не смогу совместно с этой прогой запускать свой пас фаил перед преподом ky ; его и проверять будет не буду ж я говорить а ещё запусти этот файл)
извини чеза х*ень я распокавал запускаю экзешник ни фига не происходит (запускаю отдельно сам по себе)
по подробней объясни (и я не смогу совместно с этой прогой запускать свой пас фаил перед преподом ky ; его и проверять будет не буду ж я говорить а ещё запусти этот файл)
RK.com это TSR-прога она в Windows отдельно работать не может, т.к в нем у каждой DOS'овской проги свой сеанс
Если хочешь можешь сделать так
Создай BAT файл с этим
RK.com
pause
Там будет небольшой хелп
Что бы запустить прогу из своей сделай так:
// начало проги
SwapVectors;
Но тебе все-равно нужена будет эта прога
Другого способа писать кириллицей я не знаю(или не помню :))
Exec('RK.com');
SwapVactors;
// основной код
Другого способа писать кириллицей я не знаю(или не помню :))
способ включения в паскаль расскладку русскую ?
это CTRL+SHIFT правый а обратно к английскому левый.
ну а как уже имею нужну расскладку прописать команду к подсчёту русского набронного текста
Всмысле?
Всмысле?
как менять раскладку в паскале я знаю
а какие коды прописать чтобы он русский текст подсчитывал а не английский не знаю
не знаю какую строку на что поменять в исходном тексте
как менять раскладку в паскале я знаю
а какие коды прописать чтобы он русский текст подсчитывал а не английский не знаю
не знаю какую строку на что поменять в исходном тексте
В ASCII коды национальных символов вроде >128
Или можешь просто писать например Chr('A')
================================
Графическая прога выполнено больше половины - помогите с бэкграундом
В виде мультфильма представить картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.
не знаю как сделать с изменением освещения пейзажа.
вот код
uses
crt,graph;
var
grdr,grmd,i,j,g:integer;
const
cga=1;
begin
grdr:=detect;
initgraph(grdr,grmd,'c:\pascal\bgi');
setcolor(3);
line(0,400,getmaxX,400);
setbkcolor(blue);
g:=getbkcolor;
i:=50; j:=50;
while i<500 do
begin
setcolor(yellow);
setfillstyle(1,yellow);
fillellipse(i,j,40,40);
delay(2000);
setcolor(g);
setfillstyle(1,g);
fillellipse(i,j,40,40);
i:=i+random(3);
j:=j+random(2);
end;
readln;
end
const a:array [1..9] of byte=(0,0,1,3,11,3,1,0,0);
var GrDriver,GrMode,i,g,j:integer;
procedure dom;
const
cga=1;
begin
setcolor(2);
line(0,400,getmaxX,400);
g:=getbkcolor;
i:=50; j:=50;
while i<700 do
begin
setcolor(yellow);
setfillstyle(1,yellow);
fillellipse(i,j,40,40);
delay(2000);
setcolor(g);
setfillstyle(1,g);
fillellipse(i,j,40,40);
i:=i+random(3);
j:=j+random(2);
end;
end;
procedure fon (i:word);
Begin
SetBkColor(i);
SetFillStyle(1,green);
SetColor(lightgreen);
End;
BEGIN
GrDriver:=EGA; GrMode:=EGAHi;
initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
if GraphResult<>grOK then halt(1);
for i:=1 to 9 do
begin
fon(a);
dom;
delay(65000);
delay(65000);
end;
closegraph;
end.
readln;
И так ясно что g = blue
Зачем ты сначала делаешь bkcolor а потом берешь в g getbkcolor?
И так ясно что g = blue
окей я подправил кое что (попытался переправить)
фон стал синим и бесконечность исчезлао
НО Я Ж ПИСАЛ МНЕ НЕ НУЖЕН СИНИЙ ПОСТОЯННЫЙ ФОН МНЕ НУЖКЕН МЕНЯЮЩИЙСЯ ФОН
по отжельности он работает а вместе нет
вот переправлено - на 99% прёт как надо не хватьает 1ого меняющегося фона
const a:array [1..9] of byte=(0,0,1,3,11,3,1,0,0);
var GrDriver,GrMode,i,g,j:integer;
f:word;
procedure dom;
const
cga=1;
begin
line(0,400,getmaxX,400);
SetBkColor(f);
for f:=1 to 9 do
i:=50; j:=50;
while i<700 do
begin
setcolor(yellow);
setfillstyle(1,yellow);
fillellipse(i,j,40,40);
delay(2000);
setcolor(g);
setfillstyle(1,g);
fillellipse(i,j,40,40);
i:=i+random(3);
j:=j+random(2);
end;
end;
procedure fon (f:word);
Begin
SetBkColor(f);
SetFillStyle(1,green);
SetColor(lightgreen);
End;
BEGIN
GrDriver:=EGA; GrMode:=EGAHi;
initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
if GraphResult<>grOK then halt(1);
for f:=1 to 9 do
begin
fon(a[f]);
dom;
delay(65000);
delay(65000);
end;
closegraph;
end.
readln;
вот код
const a:array [1..9] of byte=(10,9,5,3,11,7,8,10,11);
var GrDriver,GrMode,i,g,j:integer;
f:word;
procedure dom;
const
cga=1;
begin
line(0,300,getmaxX,300);
SetBkColor(f);
i:=50; j:=50;
while i<300 do
begin
setcolor(yellow);
setfillstyle(1,yellow);
fillellipse(i,j,40,40);
delay(2000);
setcolor(f);
setfillstyle(1,f);
fillellipse(i,j,40,40);
i:=i+random(3);
j:=j+random(2);
end;
end;
procedure fon (f:word);
Begin
SetBkColor(f);
SetFillStyle(1,f);
SetColor(f);
End;
BEGIN
GrDriver:=cGA; GrMode:=cGAHi;
initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
if GraphResult<>grOK then halt(1);
for f:=1 to 9 do
begin
fon(a[f]);
dom;
delay(100);
delay(100);
end;
closegraph;
end.
readln;
Еще раз:
попробуй поработать палитрой:
RGB - не более 64!
port[3f8]:=(color)
port[3f9]:=(r)
port[3f9]:=(g)
port[3f9]:=(b)
Считать палитру:
port[3f7]:=(color)
(r):=port[3f9]
...
решено.
задание вот такое
Используя простейшие сортировки отсортировать предложенный файл. Сортировка Вставкой.
вот код но мне надо чтобы из указаного файла считывал данные
n = 8;
Type
TType = char;
arrType = Array[1 .. n] Of TType;
Const
a: arrType =
('E', 'F', 'C', 'J', 'K', 'L', 'I', 'M');
Procedure Insert(Var source, sorted: arrType);
Var
i, j: Integer;
x: TType;
Begin
move(source, sorted, SizeOf(arrType));
For i := 1 To n do
Begin
x := sorted;
j := Pred(i);
While x < sorted[j] Do
Begin
sorted[Succ(j)] := sorted[j]; Dec(j);
End;
sorted[Succ(j)] := x;
End;
End;
Var
b: arrType;
i: Integer;
Begin
Insert(a, b);
For i := 1 To n Do Write(b:4);
readln;
End.
З.Ы.: солнышко, правда, не бегает, но это уже моя лень и размер пас-исходника.
решено.
задание вот такое
Используя простейшие сортировки отсортировать предложенный файл. Сортировка Вставкой.
вот код но мне надо чтобы из указаного файла считывал данные
n = 8;
Type
TType = char;
arrType = Array[1 .. n] Of TType;
Const
a: arrType =
('E', 'F', 'C', 'J', 'K', 'L', 'I', 'M');
Procedure Insert(Var source, sorted: arrType);
Var
i, j: Integer;
x: TType;
Begin
move(source, sorted, SizeOf(arrType));
For i := 1 To n do
Begin
x := sorted;
j := Pred(i);
While x < sorted[j] Do
Begin
sorted[Succ(j)] := sorted[j]; Dec(j);
End;
sorted[Succ(j)] := x;
End;
End;
Var
b: arrType;
i: Integer;
Begin
Insert(a, b);
For i := 1 To n Do Write(b:4);
readln;
End.
Посмотрел, запустил прогу... мдяяя, куда мы катимся? :) Не из "повыделываться", а сам так сдавал работы в свое время - короче держи!
З.Ы.: солнышко, правда, не бегает, но это уже моя лень и размер пас-исходника.
к сожелению твоя программа у меня зависла при попытке просмотреть её RUN
один кадр размытый тёмный вечер и вода вот что я увидел.
к сожелению твоя программа у меня зависла при попытке просмотреть её RUN
один кадр размытый тёмный вечер и вода вот что я увидел.
Незнаю, написал ее сегодня утром, еще не тестил под виндой.
Кста: там переписал процедуру delay т.к. она (стандартная) криво пашет (зависит от частоты проц.)
Используя простейшие сортировки отсортировать предложенный файл. Сортировка Вставкой.
ну так что насчёт вставки
Используя простейшие сортировки отсортировать предложенный файл. Сортировка Вставкой.
Разобрался, это глюк 7.0 компилятора (7.1 меня понимает :). Исправил. Лови.
Какого типа данные надо сортировать?
Вообще примерно так:
f1:text; {тип файла}
ch1:char; {тип считываемой переменной}
begin
assign(f1,'название файла'); связываем ф. с переменной
reset(f1); открываем для чтения
...
read(f1,ch1); читаем символ
...
close(f1); закрываем файл
end.
З.Ы.:таки написал для СВГА, но получилось хуже... :(