- •Часть 2
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 2. Программирование линейных алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 3. Программирование разветвляющихся алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 4. Программирование циклических алгоритмов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Лабораторная работа 5. Программирование с использованием массивов
- •Запустить на выполнение загрузочный файл Паскаль. Bat.
- •Перейти в окно редактирования программ.
- •Ввести текст программы на языке Pascal.
- •Приложение а
- •Основные элементы алгоритмов программ. Среда структурного программирования
- •Приложение б
- •Титульный лист отчета
- •Приложение в
- •Разделы и структура программы на языке Pascal
- •Структурный язык программирования Паскаль
- •Алфавит языка программирования
- •Типы данных
- •Операторы, математические функции и процедуры
- •Логические операции.
- •Выражения и операторы
- •Структура программы
- •Оператор присваивания
- •Инструкции ввода и вывода
- •Приложение г
- •Пример выполнения лабораторной работы 2
- •Приложение д
- •Условные операторы
- •Оператор перехода.
- •Инструкция условия if.
- •Ifусловие
- •Инструкция выбора Case.
- •Приложение е
- •Пример выполнения лабораторной работы 3
- •Приложение ж
- •Циклические структуры
- •Приложение з
- •Пример выполнения лабораторной работы 4
- •Приложение и
- •Массивы
- •Имя: array[нижний индекс..Верхний индекс] of тип
- •1. Ввод и вывод массивов
- •2. Сортировка массива
- •Сортировка методом прямого обмена (линейной сортировки).
- •3. Поиск минимального (максимального) элемента массива.
- •Приложение к
- •Пример выполнения лабораторной работы 5
3. Поиск минимального (максимального) элемента массива.
Алгоритм поиска минимального (максимального) элемента в неупорядоченном массиве довольно очевиден: делается предположение, что первый элемент массива является минимальным (максимальным), затем остальные элементы массива последовательно сравниваются с этим элементом. Если во время очередной проверки обнаруживается, что проверяемый элемент меньше (больше) принятого за минимальный (максимальный), то этот элемент принимается за минимальный (максимальный) и продолжается проверка оставшихся элементов.
Пример программы поиска минимального элемента в массиве целых чисел.
program Primer;
const n=10;
vara:array[1..n] of integer;
min,i:integer;
begin
{инструкция ввода массива}
min:=1;
for i:=2 to n do
if a[i]<a[min] then min:=i;
writeln(‘минимальный элемент массива’,a[min],’, номер элемента’,min);
end.
Пример.
Задание: Дан массив целых чисел. Найти сумму элементов массива, которые делятся на 5 нацело.
Алгоритм решения задачи:
Попросить пользователя ввести с клавиатуры 5 чисел и записать их в массив A.
Присвоить переменной S значение ноль (сумма элементов, которые делятся на 5).
Просматривая массив, найти элементы, которые делятся на 5, т.е. при делении элемента массива на 5 остаток от деления должен равняться нулю и значение этих элементов накапливать в переменной S.
Вывести сумму на экран.
Блок-схема программы приведена на рисунке И.3.
Рисунок И.3 – Алгоритм программы
Листинг программы:
program Primer;
var A:array[1..10] of integer;
i,S:integer;
begin
writeln(‘Введите 10 элементов массива’);
for i:=1 to 10 do readln(A[i]);
S:=0;
for i:=1 to 10 do
if A[i] mod 5=0 then S:=S+A[i];
writeln(‘Сумма элементов массива, которые делятся на 5 равна’,S);
end.
Приложение к
(информационное)
Пример выполнения лабораторной работы 5
Задание: Дан двумерный массив. В каждой строке все его элементы, не равные нулю, переписать (сохраняя порядок) в начало строки, а нулевые элементы - в конец строк массива. Новый массив не заводить.
Этапы решения задачи:
Математическая модель: Необходимо "просматривать" массив построчно и находить в каждой строке пару (0:число), а затем менять их местами между собой и так до тех пор, пока в строке таких пар не окажется.
Схема алгоритма приведена на рисунке К.1, Логика программы представлена на рисунке К.2..
Листинг программы.
program example4;
var
V:array[1..100,1..100] of integer;
m,n,i,j,c: integer;
flag: boolean;
begin
write('Введите размерность массива m-n'); readln(m,n);
for i:=1 to m do
for j:=1 to n do begin
write('V[',i,',',j,']= '); readln(V[i,j]); {заполнение массива элементами, с помощью ввода с клавиатуры}
end;
for i:=1 to m do
repeat {поиск пары: нулевой и ненулевой элемент и замена их местами}
flag:= true;
for j:=1 to n-1 do
if (V[i,j]=0) and (V[i,j+1]<>0) then
begin
c:=V[i,j]; V[i,j]:=V[i,j+1]; V[i,j+1]:=c;
flag:= false;
end
until flag;
for i:= 1 to m do begin
for j:=1 to n do write(V[i,j]:2); {вывод элементов массива на экран}
writeln;
end;
readln;
end.
Результаты тестирования программы.
Рисунок К.1–Схема алгоритма |
Рисунок К.2–Логика алгоритма программы |