ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2025
Просмотров: 1481
Скачиваний: 1
СОДЕРЖАНИЕ
Федеральное агенство по образованию российской федерации
1. Основные категории и понятия информатики
1.2. Информация: структура, форма, измерение
2. Техническое и программное обеспечение пэвм
2.1. Структура аппаратных средств пэвм
2.2. Программное обеспечение пэвм
3.2.Формы представления алгоритмов
3.2.1. Алгоритм линейной структуры.
3.2.2. Алгоритм разветвляющейся структуры.
3.2.3. Алгоритмы циклической структуры.
4.2. Структура программы на языке Паскаль
4.3. Скалярные стандартные типы данных
4.4. Скалярные, пользовательские типы данных
6. Операции над данными скалярных типов. Выражения
8. Примеры программ на языке Паскаль
8.1. Пример 1. Арифметические выражения. Оператор присваивания
8.3. Пример 3. Программа обработки одномерного массива
8.4. Пример 4. Программа обработки двумерного массива
8.5. Пример 5. Программа обработки символьных строк
8.6. Пример 6. Программа обработки двумерного массива с вводом элементов матрицы из текстового файла
9.Разработка программ сложной структуры
9.3. Передача данных в подпрограмму с помощью параметров. Формальные и фактические параметры
9.4. Использование процедур и функций
9.5. Массивы – параметры процедур и функций
True False True False Рис. 9.7
True False True False True False Рис 9.9
9.6. Рекурсивные процедуры и функции
True False Рис. 9.10 True False
10. Динамические структуры данных
10.2. Объявление и создание динамических структур данных. Указатели
True


False
I=I+1
True


True


False
False False True True Рис.
8.3






















Программа на языке Паскаль.
Program Min_Positive;
Var
M: array[1..10] of integer;
i,n,i1, min: integer;
begin write(‘input n<10’);
readln(n); for i:=1 to n do read(M[i]);
i1:=0;
repeat i1:=i1+1 until(M[i1]>0) or (i1>n);
if i1>n then writeln(‘not M[i]>0’)
else begin
min:=M[i1];
for i:=i1 to n do
if (M[i]>0) and (min >M[i]) then min:=M[i]; writeln(‘min= ‘,min);
end
end.
Результаты тестирования.
1. Исходные данные:
n=5
M=(-1,-2,-3,-4,-5)
Результат- сообщение «notM[i]>0».
Результаты, выданные программой.
input n<10 5
-1 -2 -3 -4 -5
not M[i]>0
2. Исходные данные:
n=5
M=(9,-2,3,4,-5)
Результат- сообщение «min=3».
Результаты, выданные программой.
input n<10 5
9 -2 3 4 -5
min= 3
8.4. Пример 4. Программа обработки двумерного массива
Задание 4. В двумерном массиве (матрице) определить номер строки, в которой находится максимальное количество положительных элементов. Если положительных элементов нет в массиве, вывести сообщение об этом.
Постановка задачи.
Исходные данные:
Число строк в матрице n<=10;
Число столбцов в матрице m<=10;
Двумерный массив (матрица) размером nxm, содержащий положительные и отрицательные значения.
Выходные данные:номер строки, в которой находится максимальное количество положительных элементов.
Аномалии:отсутствие положительных элементов в массиве.
Реакция на аномальную ситуацию – выдача сообщения.
Алгоритм.Подсчет числа положительных элементов в строках матрицы.
Исходные данные:
СКАЛЯР n<=10 - целое число;
СКАЛЯР m<=10 - целое число;
МАССИВ A[nxm] целого типа.
Выходные данные:
СКАЛЯР imax– целое число.
Промежуточные данные:
МАССИВ K[n] целого типа /* массив счетчиков количества положительных элементов в строках матрицы */
СКАЛЯР kmax– целое число /* максимальное количество положительных элементов */
СКАЛЯР i– целое число /* параметр цикла */
СКАЛЯР j– целое число /* параметр цикла */
Начало
Вывод(‘inputn<10’)
Ввод(n)
Вывод(‘inputm<10’)
Ввод(m)
ЦИКЛОТi:=1ДОn
ЦИКЛОТj:=1ДОm
Вывод(‘input A[i,j] ‘)
Ввод(A[i,j])
КОНЕЦ_ЦИКЛА
КОНЕЦ_ЦИКЛА
ЦИКЛ ОТi:=1ДОn
K[i]=0;
ЦИКЛ ОТj:=1ДОm
ЕСЛИ(A[i,j]>0) ТО
K[i]= K[i]+1
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
КОНЕЦ_ЦИКЛА
Kmax=K[1]
imax=1
ЦИКЛ ОТi:=1ДОn
ЕСЛИ (K[i]>Kmax)ТО
Kmax=K[i]
imax=i
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
ЕСЛИ (Kmax=0)ТО
Вывод(‘Not A[i,j]>0!’)
ИНАЧЕ
Вывод(‘imax= ‘,imax)
КОНЕЦ_ЕСЛИ
Конец
Блок-схема алгоритма.





Рис.
8.4


Блок-схема алгоритма ввода матрицы M размером n x m.



False

True
False


True
J=J+1
I=I+1 Рис.
8.5
Блок-схема алгоритма подсчета количества положительных элементов в каждой строке матрицы и запись счетчиков в массив K из n элементов.
K[I]= количествоA[I,J], таких чтоA[I,J]>0.
True False True False False
True Рис
8.6



Блок-схема алгоритма определения номера строки матрицы, содержащей максимальное количество положительных элементов .
True False False True


























