Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2011, 00:43   #1
Sacred09
 
Регистрация: 20.01.2011
Сообщений: 7
Восклицание Проверка правильности написания программ

Добрый вечер, дорогие форумчане! Помогите в трудном деле...
Задание № 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 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка правильности кода программы Petrowa C++ Builder 4 25.11.2015 18:41
Проверка правильности формулы... Klim Bassenger Microsoft Office Excel 3 12.01.2010 15:01
Проверка правильности IP адреса Nester Помощь студентам 2 23.08.2009 14:39
Проверка правильности ввода. Whiplash Паскаль, Turbo Pascal, PascalABC.NET 6 14.11.2008 18:00
Проверка правильности KORT Помощь студентам 3 23.04.2007 20:23