ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.04.2025
Просмотров: 1476
Скачиваний: 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. Объявление и создание динамических структур данных. Указатели
Пример.
Var Symbol: Char;
…………………….
Begin
…………………….
Case Symbol of
‘0’..’9’: writeln(‘Это цифра’);
‘A’..’Z’: writeln(‘Это прописная буква’);
‘a’..’z’: writeln(‘Это строчная буква’);
‘=’: writeln(‘Это знак операции сравнения’)
else writeln(‘другой символ’);
end;
Рассмотрим операторы цикла языка Паскаль. Язык Паскаль поддерживает три конструкции цикла:
оператор цикла с предусловием while-do;
оператор цикла с постусловием repeat-until;
оператор цикла с параметром for.
Оператор while-doимеет следующий синтаксис:
While < логическое выражение >
do <оператор>
или
While < логическое выражение >
begin
<операторы>
end
Блок-схема оператора цикла представлена на рис. 7.3. Тело цикла – это оператор или составной оператор. В операторе while-do тело цикла может не выполниться ни разу. Логическое выражение – это условие продолжения цикла. Проверка условия продолжения цикла выполняется перед очередной итерацией. Итерация – это выполнение операторов тела цикла.
Рис.
7.3
Оператор цикла repeat-until имеет следующий синтаксис:
Repeat
<оператор 1>
<оператор 2>
….
<оператор n>
until <логическое выражение>
В операторе repeat-until не требуется использование составного оператора. Блок-схема оператора repeat-until показана на рис. 7.4, где логическое выражение является условием выхода из цикла. Операторы тела цикла repeat-until выполняются хотя бы один раз. Проверка условия выхода из цикла происходит после очередной итерации.
Оператор цикла с параметром используется в тех случаях, когда точно известно число итераций, отсчет числа итераций выполняется с помощью управляющей переменной, которая называется параметром цикла. Перед выполнением цикла известны начальное N1 и конечное N2 значение параметра цикла. Шаг изменения параметра равен 1.
Если N1<N2 (см. рис. 7.5) , то оператор цикла с параметром имеет следующий синтаксис:
For <параметр цикла>:=<выражение N1> to <выражение N2> do <оператор или составной оператор>
Если N1>N2 (см. рис. 7.6) , то оператор цикла с параметром имеет следующий синтаксис:
For <параметр цикла>:=<выражение N1> downto <выражение N2> do <оператор или составной оператор>
В Паскале оператор цикла с параметром имеет два ограничения:
Шаг изменения параметра может быть равен только 1, если используется ключевое слово to, или –1,если используется ключевое слово downto.
Переменная – параметр цикла должна быть только порядкового типа и должна быть локальной.
Рис.
7.4
Рис.
7.5
Рис.
7.6
8. Примеры программ на языке Паскаль
8.1. Пример 1. Арифметические выражения. Оператор присваивания
Задание 1. Вычислить значение функции
.
Значение аргумента Х вводится с
клавиатуры.
Постановка задачи.
Входные данные:
Х – аргумент функции Y.
Выходные данные:
Y– значение функции.
Метод решения: вычисление значения функции по заданной формуле.
Алгоритм.Вычисление значения функции.
Входные данные.
СКАЛЯР Х – вещественное число.
Выходные данные.
СКАЛЯР Y– вещественное число.
Начало
ввод(Х)
вывод(Y)
Конец
Блок-схема алгоритма.
Ввод
числа Х






Вывод
значенияY
Рис
8.1
Программа на языке Паскаль.
Program Example1;
Var X,Y: real;
Begin
Write(‘Input X: ‘);
Readln(X);
Y:=(X*sqr(X) +6)/sqrt(sqr(X)+6)+4;
Write(‘Y= ‘,Y);
End.
Результаты тестирования.
Если X=1.2,Yдолжен быть равен 6.83322226.
Результаты, выданные программой.
Input X: 1.2
Y= 6.83322226221255E+0000
Пример 2. Условные операторы
Задание 1. Вычислить значение функции в зависимости от условия.
.
Значения аргумента Х и параметра Aвводятся с клавиатуры.
Постановка задачи.
Входные данные:
А – постоянный параметр функции Y,A>0,
Х – аргумент функции Y.
Выходные данные:
Y– значение функции.
Метод решения: проверка условия и вычисление значения функции по заданной формуле.
Алгоритм.Вычисление значения функции в зависимости от условия.
Входные данные.
СКАЛЯР Х – вещественное число,
А – положительное, вещественное число.
Выходные данные.
СКАЛЯР Y– вещественное число.
Начало
ввод(Х,А)
ЕСЛИ X<0 ТО
Y=(X-A)/X
ИНАЧЕ
ЕСЛИ X<AТОY=0
ИНАЧЕ Y= A-ln|X-1|
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
вывод(Y)
Конец
Блок-схема алгоритма.


Ввод чисел х, а

False
True False True
Рис.
8.2
Программа на языке Паскаль.
Program Example1;
Var A,X,Y: real;
Begin
While(A<=0) do
begin
Write(‘Input A>0: ‘);
Readln(A)
End;
Write(‘Input X: ‘);
Readln(X);
If X<0 Then
Y:=(X-A)/X
Else
If X<A Then Y:=0
Else Y:=A-ln(abs(X-1));
Write(‘Y= ‘,Y);
End.
Результаты тестирования.
A=1
Если X=-1.5,Yдолжен быть равен 1.66667.
Если X=0.5,Yдолжен быть равен 0.
Если X=1.5,Yдолжен быть равен 1,69314718.
Результаты, выданные программой.
Input A>0: 1
Input X: -1.5
Y= 1.66666666666667E+0000
Input A>0: 1
Input X: 0.5
Y= 0.00000000000000E+0000
Input A>0: 1
Input X: 1.5
Y= 1.69314718055995E+0000
8.3. Пример 3. Программа обработки одномерного массива
Задание 3. Определить минимальный элемент среди положительных элементов одномерного массива. Если положительных элементов нет в массиве, вывести сообщение об этом.
Постановка задачи.
Исходные данные:
Число элементов в одномерном массиве n<=10;
Одномерный массив из nэлементов, содержащий положительные и отрицательные значения.
Выходные данные:значение минимального элемента среди положительных элементов массива.
Аномалии:отсутствие положительных элементов в массиве.
Реакция на аномальную ситуацию – выдача сообщения.
Алгоритм. Поиск минимального элемента среди положительных элементов массива.
Исходные данные:
СКАЛЯР n<=10 - целое число;
МАССИВ M[10] целого типа.
Выходные данные:
СКАЛЯР min– целое число.
Промежуточные данные:
СКАЛЯР i– целое число /* параметр цикла */
i1 – целое число /* номер первого положительного элемента в массиве */
Начало
Вывод(‘inputn<10’)
Ввод(n)
ЦИКЛОТi:=1ДОn
Вывод(‘input M[i] ‘)
Ввод(M[i])
КОНЕЦ_ЦИКЛА
i1:=0
ЦИКЛ
i1:= i1+1
ДО ((M[i1]>0) ИЛИ (i1>n))
ЕСЛИ i1>nТО
Вывод(‘not M[i]>0 ‘)
ИНАЧЕ
min:=M[i1]
ЦИКЛОТi:=i1ДОn
ЕСЛИ ((min>M[i]) И (M[i]>0))ТО
Min:=M[i]
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
Вывод(‘min= ‘,min)
КОНЕЦ_ЕСЛИ
Конец
Блок-схема алгоритма.



False
