Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Program Obmen;



Var A: array[1..30,1..30] of integer;

I,J: integer;

K1,L1,K2,L2: integer;

T,M,N: integer;

Begin

Readln(M,N);

For I:=1 to M do

For J:=1 to N do

Readln(A[I,J]);

K1:=1;L1:=1; {координаты максимального элемента}

K2:=1;L2:=1; {координаты минимального элемента}

I:=2;

While I<=M do

Begin

For J:=1 to N do

If A[K1, L1]< A[I,J] then

Begin

K1:=I;L1:=J;

End

Еlse

If A[K2, L2]> A[I,J] then

Begin

K2:=I;L2:=J;

End;

I:=I+2;

End;

T:= A[K1, L1];

A[K1, L1]:= A[K2, L2];

A[K2, L2]:=T;

For I:=1 to M do

Begin

For J:=1 to N do

Write (A[I,J]:6);

Writeln;

End;

End.

Здесь используется цикл WHILE для индексации строк, т.к. нас интересуют только четные строки, следовательно, шаг для строк должен быть равен 2. В цикле FOR этого сделать нельзя.

В языке Турбо Паскаль 7.0 имеются процедуры BREAK и CONTINUE. Эти процедуры могут использоваться только внутри циклов FOR, WHILE или REPEAT. Процедура BREAK прерывает выполнение цикла и вызывает переход к оператору, следующему за циклом (может использоваться вместо оператора GOTO).Процедура CONTINUE осуществляет переход к следующему повторению цикла с пропуском последующих операторов тела цикла.

Например, необходимо определить номер первого элемента одномерного массива, оканчивающегося на 3.

Program Kon;

Var A:array [1.. 30] of integer;

FL: Boolean;

I,N: Integer;

Begin

Readln(N);

For I:=1 to N do

Readln(A[I]);

FL:=false;

For I:=1 to N do

Begin

If A[I] mod 10 <> 3 then Continue;

Writeln(‘Номер первого числа на 3 ’,I);

FL:=true;

Break;

End;

If not FL then Writeln(‘ нет чисел на 3‘);

End.

Если встречается число, оканчивающееся на 3, происходит вывод сообщения об этом, флаг – переменная FL – становится равным TRUE и программа заканчивает свою работу, т.к. цикл прерывается. Если же такое число не встречается, происходит нормальное завершение цикла, переменная FL остается равной FALSE и выводится сообщение о том, что таких чисел нет.

Вопросы к главе 2.

1. Дать определение языка программирования.

2. Дать классификационную характеристику языков программирования.

3. Определить особенности языков высокого уровня.

4. Назначение и особенности машинно-ориентированных языков программирования.

5. Основные особенности языка Турбо Паскаль.

6. Алфавит языка Турбо Паскаль.

7. Особенности построения арифметических, строковых и логических выражений в Паскале.

8. Приоритет выполнения операций в выражениях различного типа.

9. Классификация типов данных.

10. Описание типизированных констант.

11. Описание нетипизированных констант.

12. Описания целых типов.

13. Описания вещественных типов.

14. Что такое идентификатор?

15. Описание интервальных типов.

16. Описание перечисляемых типов.

17. Какую структуру имеет программа на Турбо Паскале?

18. Способы написания комментариев в Турбо Паскале.

19. Что такое пустой оператор?

20. Что такое операторные скобки?

21. Что такое составной оператор?

22. Назначение и особенности использования оператора безусловного перехода.

23. Способы записи условного оператора.

24. Назначение и варианты использования оператора выбора.

25. Форма записи меток варианта.

26. Формы оператора цикла.

27. Принципы выбора типа оператора цикла.

28. Особенности записи и использования оператора цикла типа арифметической прогрессии.

29. Особенности записи и использования оператора цикла итерационного типа с предусловием.

30. Особенности записи и использования оператора цикла итерационного типа с постусловием.

31. Особенности организации вложенных циклов.





Дата публикования: 2014-11-04; Прочитано: 242 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...