
- •Кафедра информационных технологий
- •Практикум
- •Введение
- •Тема 1. Основы алгоритмизации
- •1.1. Общие понятия и определения
- •1.2. Свойства информации
- •1.3. Этапы решения задач
- •1.4. Блок-схемы алгоритмов
- •Тема 2. Интегрированная среда Turbo Pascal 7.0
- •2.1. Основные элементы ide Turbo Pascal 7.0
- •2.2. Ввод программы в среде Turbo Pascal
- •2.3.Сохранение программы в файле
- •2.4. Работа с существующей программой
- •2.5. Компиляция программы в среде Turbo Pascal
- •Compile successful: Press any key... (Успешная компиляция: Нажмите любую клавишу...)
- •2.6. Выполнение программы в среде Turbo Pascal
- •2.7. Выход из среды Turbo Pascal
- •Тема 3. Элементы языка Турбо Паскаль и программирование линейных вычислительных процессов
- •3. 1. Алфавит языка
- •3. 2. Идентификаторы
- •3.3. Основные типы данных и операции с ними
- •3.4. Константы и переменные
- •3.5. Выражения
- •3.6. Стандартные математические функции языка Турбо - Паскаль
- •3.7. Структура программы
- •X,y : Integer;
- •3.8. Ввод исходных данных. Операторы read и readln
- •3.9. Вывод данных. Операторы write и writeln
- •Writeln (выражение 1, выражение 2, … , выражение n).
- •3. 10. Оператор присваивания
- •3.11. Пример составления программы
- •3.12. Контрольные вопросы
- •3.13. Варианты заданий
- •Тема 4. Программирование разветвляющихся процессов
- •4.1. Методические указания
- •4.2. Условный оператор if и составной оператор Begin … End
- •4.3. Оператор безусловного перехода goto и оператор отбора case
- •4.4. Контрольные вопросы
- •4.5. Варианты заданий
- •Тема 5. Циклические процессы
- •5.1. Общие сведения
- •5.2. Цикл с предусловием
- •I:integer;
- •5.3. Оператор цикла с постусловием
- •I:integer;
- •5.4. Цикл с параметром
- •I:integer;
- •5.5. Итерационные циклы
- •XI, s, X, e: real;
- •5.6. Контрольные вопросы
- •5.7. Варианты заданий
- •Тема 6. Ввод с клавиатуры и формы представления выходной информации
- •6.1. Операторы ввода и вывода
- •6.2. Управление шириной поля вывода в процедурах Write и Writeln
- •6.3. Пример выполнения задания
- •Xn, xk, hx : real;
- •Результаты выполнения программы
- •6.4. Контрольные вопросы
- •6.5. Варианты заданий
- •Тема 7. Вложенные циклы
- •7.1. Общие сведения
- •7.2. Примеры выполнения задания
- •X, hx, a, b, hx, s, x0, xn, y: Real;
- •7.3. Контрольные вопросы
- •7.4. Варианты заданий
- •Тема 8. Массивы и действия с ними.
- •8.1. Методические указания
- •8.2.Одномерные массивы
- •8.3.Многомерные массивы
- •V:stroka;
- •8.4.Символьные массивы
- •8.5.Ввод-вывод массивов
- •8.6. Примеры выполнения программ
- •I,k,l:integer;
- •I,j,m,r:integer;
- •8.7. Контрольные вопросы
- •I,j: integer;
- •8.8. Варианты заданий
- •Приложение 1
- •Приложение 2 Структурограммы
- •Рязанский государственный медицинский университет
- •Кафедра информационных технологий отчет
- •Рязань 2004
- •Составить программу для вычисления значения функции
- •Библиографический список
- •Содержание
8.5.Ввод-вывод массивов
Помимо оператора присваивания значения компонентам массива можно задать оператором ввода. Для числовых данных в языке Паскаль применяется поэлементный ввод-вывод. При вводе компоненты массива отделяются друг от друга пробелом или запятой. По окончании ввода очередной порции данных набирается символ возврата каретки или перевода строки.
Для символьных массивов возможности стандартной процедуры ввода расширены. При вводе строковых переменных количество вводимых символов может быть меньше длины строки. В этом случае вводимые символы будут размещены в начале массива и далее строка дополнится нужным числом пробелов. Если количество введенных символов больше длины строки, будет произведено усечение данных. При вводе символы будут считываться с устройства начиная с текущего положения маркера до символа возврата каретки или перевода строки.
8.6. Примеры выполнения программ
Задача 1. В одномерном массиве A(10) поменять местами max и min элементы.
Структурограмма алгоритма решения этой задачи показана ниже. Действие определяемые ею сводятся к следующему. В начале загружается по схеме цикла For массив значений A[I] и организуется эхо-сигнал этих компонент массива А(10). Далее полагают max=A(1) и координату максимума К=1. Позже полагают min=A(1), а координату минимума L=1. Затем в схеме цикла For путем сравнения A(I) с предполагаемыми max и min отыскивают их истинные значения и координаты им соответствующие. По завершении цикла имеют истинные max и min с их координатами K и L. После чего меняют местами в массиве max и min. Далее осуществляют вывод элементов массива А(10) после перестановки в нем местами max и min.
program obmen;
USES CRT;
var
a:array [1..10] of real;
max,min: real;
I,k,l:integer;
begin
clrscr;
for i:=1 to 10 do
begin
write('Введите A[',i,']=');
readln(a[i]);
writeln('a[',i,']=',a[i]);
end;
max:=a[1];
k:=1;
min:=a[1];
l:=1;
for i:=2 to 10 do
begin
if max<=a[i] then
begin
max:=a[i];
k:=i
end;
if min>=a[i] then
begin
min:=a[i];
l:=i;
end;
end;
a[k]:=min;a[l]:=max;
writeln;
for i:=1 to 10 do
writeln ('a[',i,']=',a[i])
end.
Результат выполнения программы
Рис.1
Введите A[1]=2
a[1]= 2.00000000000000E+0000
Введите A[2]=3
a[2]= 3.00000000000000E+0000
Введите A[3]=54
a[3]= 5.40000000000000E+0001
Введите A[4]=65
a[4]= 6.50000000000000E+0001
Введите A[5]=3
a[5]= 3.00000000000000E+0000
Введите A[6]=5
a[6]= 5.00000000000000E+0000
Введите A[7]=436
a[7]= 4.36000000000000E+0002
Введите A[8]=5634
a[8]= 5.63400000000000E+0003
Введите A[9]=34
a[9]= 3.40000000000000E+0001
Введите A[10]=46
a[1]= 5.63400000000000E+0003
a[2]= 3.00000000000000E+0000
a[3]= 5.40000000000000E+0001
a[4]= 6.50000000000000E+0001
a[5]= 3.00000000000000E+0000
a[6]= 5.00000000000000E+0000
a[7]= 4.36000000000000E+0002
a[8]= 2.00000000000000E+0000
a[9]= 3.40000000000000E+0001
a[10]= 4.60000000000000E+0001
Задача 2. Загрузите матрицу размером не более чем 10x10 и выведите ее на экран.
program MATR;
const
N=10;
var
a:array [1..n,1..n] of real;