Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.01.2011, 22:47   #1 (permalink)
Sacred09
Member
 
Регистрация: 22.03.2010
Сообщений: 185
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 54
Exclamation Проверка правильности написания программ

Задание № 1 «Обработка символьных данных»
1.Выполнить на ЭВМ программу обработки символьных данных в соответствии с вариантом, указанным в таблице. Предусмотреть ввод исходных данных как с клавиатуры, так и из файла.
2.Проверить правильность выполнения программы с помощью тестового варианта.

1 часть. Обработка текста.
Вопрос:Задан список городов. Поменять местами названия любых двух городов, заканчивающихся буквой "а".
PHP код:
uses crt;
const 
sp:array[1..10]of string=('Москва','Орел','Глазов','Коломна','Ванино',
                                
'Калуга','Серов','Ростов','Орша','Клин');
var 
i,j:integer;
    
x:string;
begin
clrscr
;
writeln('Ishodnyj spisok:');
for 
i:=1 to 10 do
writeln(sp[i]);
writeln;
writeln('Izmenennyj spisok:');
for 
i:=1 to 10 do
   
begin
    
for j:=1 to 10 do
    if (
sp[i][length(sp[i])]='а')and(sp[j][length(sp[j])]='а')and(i<>jthen
      begin
       x
:=sp[i];
       
sp[i]:=sp[j];
       
sp[j]:=x;
       break;
      
end;
    break;
  
end;
for 
i:=1 to 10 do
writeln(sp[i]);
readln
end


II часть. Работа с файлами.
Дана последовательность, содержащая от 2 до 10 слов, в каждом из которых от 2 до 6 латинских букв; между соседними словами - не менее одного пробела, за последним словом точка. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу:
удалить из слова все последующие вхождения первой буквы;
PHP код:
uses crt;
var
  
slastwordcurrwordstring;
  
ijkpinteger;
begin
  write
('s: ');readln(s);

  
repeat
    p 
:= pos('  's);
    if 
0 then delete(sp1);
  
until p 0;

  
:= length(s) - 1;
  while 
s[p] <> ' ' do dec(p);
  
lastword := copy(s1length(s) - 1);

  
:= 1;
  while 
do begin
 
      k 
:= i;
      while(
p) and (s[i] <> ' ') do inc(i);
 
      
currword := copy(ski-k);
      if 
currword <> lastword then
      begin
        
for := length(currworddownto 2 do
          if 
currword[j] = currword[1then delete(currwordj1);
        
writeln(currword);
      
end;
      
inc(i);
 
  
end;
  
readln
end

Задание № 2 «Обработка графических данных»
1 часть.
Напишите процедуру рисования графика функции в соответствии с вариантом, указанным в таблице. Предусмотреть вывод оцифрованных координатных осей соответственно области построения, подписей к графику. Рационально расположить элементы рисунка (график, оси, цифры и штрихи масштабирования, подписи) на экране.
y=SQR(Sin(x))

PHP код:
Uses GraphCRT;
VAR
 
i,j:INTEGER;
 
S:String;
 
x,y:Real;

BEGIN
 InitGraph 
(i,j,'');
 
Line(40,420,640,420);
 
Line(40,420,40,20);
 
SetTextStyle(DefaultFont,HorizDir,1);
 
SetTextJustify(CenterText,TopText);
 
OutTextXY(40,430,'0');
 FOR 
i:=1 TO 5 DO
  
begin
   Line
(40+i*100,420,40+i*100,410);
   
Str(i/2:3:1,S);
   
OutTextXY(40+i*100,430,S+'*Pi');
  
end;

 
SetTextJustify(RightText,CenterText);
 FOR 
i:=0 TO 10 DO
  
begin
   Line
(40,420-i*40,50,420-i*40);
   
Str(0.1*i:3:1,S);
   
OutTextXY(35,420-i*40,S);
  
end;

 
SetLineStyle(SolidLn,0,ThickWidth);
 
MoveTo(40,420);
 
x:=0;
 For 
i:=1 to 600 do
  
begin
   x
:=x+Pi/200;
   
y:=SQR(Sin(x));
   
LineTo(40+Round(x*200/Pi),Round(420-y*400));
  
end;
 
ReadKey;
 
CloseGraph;
END
II часть
Напишите программу для отображения движения многоугольника (плоской фигуры) по экрану по принципу «угол падения равен углу отражения», поверхностями считать границы экрана. Предусмотреть изменение цвета многоугольника (плоской фигуры) при смене направления движения.
Придумать оригинальную плоскую фигуру.
PHP код:
uses graph,crt;
var 
x,y,x0,y0,d,r,dx,dy,i:integer;
begin
x
:=0;
initgraph(x,y,'');
x0:=getmaxX div 2;
y0:=getmaxY div 2;
outtextXY (x0-80,20,'Vyhod - press and key...');
d:=200;
r:=100;
rectangle (x0-d,y0-d,x0+d,y0+d);
x:=x0;
y:=y0-d+r+1;
dx:=-1;
dy:=1;
i:=10;
repeat
setcolor
(i);
circle(x,y,r);
setfillstyle(1,i);
fillellipse(x,y,r,r);
delay(10);
setcolor(0);
circle(x,y,r);
setfillstyle(1,0);
fillellipse(x,y,r,r);
x:=x+dx;
y:=y+dy;
if 
x=x0-d+r+2 then
begin
dx
:=1;
i:=i+1;
if 
i=16 then i:=1;
end
else if y=y0+d-r-2 then
begin
dy
:=-1;
i:=i+1;
if 
i=16 then i:=1;
end
else if x=x0+d-r-2 then
begin
dx
:=-1;
i:=i+1;
if 
i=16 then i:=1;
end
else if y=y0-d+r+2 then
begin
dy
:=1;
i:=i+1;
if 
i=16 then i:=1;
end
until keypressed
;
end
Правильно ли составлены программы?
Sacred09 вне форума   Ответить с цитированием

Старый 19.01.2011, 22:47
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Эти топики очень похожи на ваш и помогут вам разобраться

Проверка правописания в IE
Проверка деталей
Проверка на вирусы
Проверка лицензионности

Старый 20.01.2011, 20:35   #2 (permalink)
Sacred09
Member
 
Регистрация: 22.03.2010
Сообщений: 185
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 54
По умолчанию

Правильно ли составлены?
Sacred09 вне форума   Ответить с цитированием
Старый 20.01.2011, 20:42   #3 (permalink)
MrSTEP
一步一步地会到目的
 
Аватар для MrSTEP
 
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
По умолчанию

Ну вам проще проверить - вы знаете задание, наверняка тестировали программы. Ошибки бывают не только синтаксические, но и логические.
MrSTEP вне форума   Ответить с цитированием
Старый 20.01.2011, 20:46   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Молодой человек, это Вы не у меня ли интересоваться изволите, правильно ли мною же созданная программа написана? И что отвечать на это прикажете? Или кого другого решили подрядить меня проконтролировать? Ну-ну... Успеха в этом начинании!
А если серьезно - мы тут Вам не негры на калифорнийской плантации, чтобы, бросив все дела свои, садиться за тестирование и отладку чужих программ. В конце концов, каждая из программ решает какую-то поставленную задачу, так запустите их по очереди и посмотрите на результат. И все дела.
P.S. Знаете - есть такая русская поговорка про одно животное, которое "посади за стол, так оно и ноги на стол". Если мы готовы помочь, то это не значит, что мы горим желанием впрячься в черновую работу.
Успехов!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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