- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Приоритет выполнения операций
Наивысшим приоритетом (выполняются в первую очередь) обладают операции вычисления встроенных функций, которые приведены в табл. 1. Затем выполняются операции:
- унарные not;
мультипликативные *, /, div, mod, and;
аддитивные +, -, or;
отношения =, <>, <, >, <=, >=, in
Приоритет выполнения операций можно изменить с помощью круглых скобок. Помните, сколько скобок открылось, столько их должно закрыться.
Примеры
1. Вычислите a = 23 .
PROGRAM ST;
VAR A : REAL; BEGIN
A:=EXP (3*LN(2)) ;
WRITELN(A) ; END.
2. Определите, какое значение (TRUE или FALSE) принимает булевая переменная b:= x>5 при заданном произвольно с экрана дисплея значении переменной х.
PROGRAM PR;
VAR B:BOOLEAN;
X: REAL;
BEGIN
WRITELN(’Введите х’);
READLN(X); B:=X>5;
WRITELN(’B=’,B)
END.
3.Вычислите a = , где b = 1 + , x = 1,426 и
y = -1,22.
PROGRAM PR3;
VAR X,Y,A,B:REAL;
BEGIN
X:=1.426; Y:=-1.22;
B:= 1+SQR(SIN(Y))/(3.0/5.0+X*X*X);
A:=5*COS(X-PI/6)/(1.0/4.0+SIN(Y)*SIN(Y));
WRITELN('B=',B,' A=',A); END.
4. Задано двузначное целое число. Определите сумму его цифр.
PROGRAM SUMMA;
USES CRT;
VAR N, C1, C2, SUM: INTEGER;
BEGIN
CLRSCR;
WRITELN('Введите двузначное число');
READLN(N);
C1:=N DIV 10;
C2:= N MOD 10;
SUM:=C1+C2;
WRITELN(‘Сумма цифр =’,SUM);
END.
Введите двузначное число
25
Получим сумму цифр - 7.
В данной программе использовался стандартный библиотечный модуль CRT. Описание стандартных модулей Турбо Паскаля приведено в приложении. В данном случае из модуля CRT используется процедура CLRSCR, которая очищает экран перед выводом информации на дисплей.
Варианты заданий
Составьте программу вычислений по следующим формулам.
,
где ; = 0, 345; y = 3,43.
, где х = 1/ sin ; = 1,3; y = 1,8.
, где ; x = 3,723; y = 25,3.
, где ; а = 2,08.
, где a = sin(B) + cos(2B) + 1;
B = 1,75.
, где , a = 0,87; x = 2,18.
, где , = 3,18, = 25,1.
, где ;
y = 2,17; y = 0,23.
, где ; b = 0,315.
; где ; = 1,5; z = 1,21.
, где ;
= 0,5; y = 0,425.
, где ; = 0,5; x = 0,25.
, где , Z = 5;
y = -7.
,
где ; Z = 1,5; = 3,14.
, где ; x = 1,5;
G = 2,2.
, где ; x = 1,2; y = 2,2.
, где ; y = 1,25.
, где ; y = 1,43.
, где ; y = 1,34.
, где ; x = 1,21.
, где ; y = -0,5.
b = ln | (y - (x – y/z + x2/4), где ; x = 1,5; y = -1.
, где ; y = 0,5.
, где ; x = 52,8.
, где ; x = 1,426.
Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
Тема посвящена изучению основных возможностей языка для разветвляющегося алгоритма и составление программ с использованием логического условного оператора IF.
Разветвляющийся вычислительный процесс организовывается с помощью условных операторов, которые меняют последовательность выполнения операторов программы при выполнении того или иного логического условия (выражения).
В Паскаль-программах пользуются операторами ветвления -
1) IF логическое выражение THEN оператор;
2) IF логическое выражение THEN оператор № 1 ELSE оператор № 2;
Примечание. Перед ключевым словом ELSE точка с запятой в конструкции IF не ставится.
В операторе IF означает "если", THEN "то", ELSE "иначе".
Для записи логических условий используют следующие знаки логических отношений: <, >, <> (для обозначения ), <=, >=, =.
Для записи сложных логических выражений используют операции AND, OR, NOT (и, или, нет), например:
4 < х < 10 (x>4) AND (x<10)
a <5 или a>10 (a<5) OR (a>10)
Если условие TRUE (истина), то выполняется оператор, следующий за словом THEN. Но если условие FALSE (ложно), то будет выполняться оператор после ELSE.
Примеры
1. Дано значение Х. Вычислите y = , если x>=0; y = x2, если x<0.
PROGRAM FUNK;
USES CRT;
VAR X:INTEGER;
Y:REAL;
BEGIN
CLRSCR; WRITELN(‘Введите X’); READ(X);
IF X>=0 THEN Y :=SQRT(X) ELSE Y:=SQR(X);
WRITELN(‘Y=’,Y:10:4);
END.
2. Даны три числа. Найдите максимальное из них.
PROGRAM MAX;
USES CRT;
VAR A,B,C:INTEGER;
BEGIN
CLRSCR;
WRITELN(‘Введите A,B,C’); READ(A, B, C);
IF (A>B) AND (A>C) THEN WRITELN(‘A-MAX=’,A);
IF (B>A) AND (B>C) THEN WRITELN(‘B-MAX=’,B);
IF (C>B) AND (C>A) THEN WRITELN(‘C-MAX=’,C);
END.
В Паскаль-программах употребляется и оператор безусловного перехода
GOTO метка ;.
Метка представляет собой целое число без знака или идентификатор (символическое имя). Метка отделяется от оператора двоеточием. Она должна быть описана в разделе описаний с помощью оператора
LABEL метка; .
Часто бывает необходимым при выполнении того или иного условия вычислить несколько операторов программы. Это легко осуществить, объединив данные операторы в блок, начинающийся со слова BEGIN и заканчивающийся словом END, например:
IF A>2 THEN BEGIN Х:=А+2; Y:=A/5 END;.
В этом случае говорят о составном операторе и операторных скобках BEGIN - END;.
3. Задано целое число X, если оно кратно 5, то напечатайте его и завершите вычисления, иначе введите другое число.
PROGRAM CHISLO;
USES CRT;
VAR X:INTEGER;
LABEL 1,2;
BEGIN
CLRSCR;
2: WRITELN(‘Введите X’);
READ(X);
IF X MOD 5=0 THEN
BEGIN
WRITELN(X); GOTO 1; {Переход на конец программы}
END
ELSE GOTO 2; {Переход к вводу нового числа}
1:END.
4. Программа-сумматор и счетчик
Вычислите сумму и произведение пяти вещественных чисел, не превышающих значения 10,5.
PROGRAM SUMMA;
LABEL 1, met;
VAR : S,X,P:REAL; I:INEGER;
BEGIN
S:=0; P:=1; I:=0;
met: WRITELN(’Введите число ’); READ(X);
IF X>10.5 THEN GOTO met ELSE
BEGIN I:=I+1; S:=S+X; P:=P*X;
IF I<=5 THEN GOTO met ELSE GOTO 1;
END;
1: WRITELN(’S=’,S:10:4,’P=’,P:10:4,’I=’,I:2);
END.
5. Протабулируйте функцию
Y= если шаг изменения х - х = 0,2.
PROGRAM TAB;
CONST DX=0.2;
LABEL MET;
VAR X,Y:REAL;
BEGIN
X:=0;
MET: IF (X>=0) AND (X<=2) THEN Y:=SQR(SIN(X*X) ELSE Y:=EXP(X*X);
WRITELN('X=', X:6:2, 'Y=', Y:12:4 );
X:=X+DX;
IF X<=4 THEN GOTO MET;
END.
В последнем примере организация цикла осуществлена с помощью операторов IF … и GOTO MET, что не рекомендуется правилами структурного программирования. В дальнейшем старайтесь использовать специальные операторы цикла.
Варианты заданий
На интервале [A, B] задана функция y = F(x). В точке С, где A < C < B , функция имеет вид
Составьте программу для вычисления (табулирования) этой функции.
y =
y =
y =
y =
y =
y =
y =
y =
у =
у =
Y =
y =
y =
y =
y =
y =
y =
y =
y =
y =
y =
y =
y =
y =