
- •Введение Обозначения
- •Аппаратные средства компьютера
- •Назначение основных клавиш на клавиатуре
- •Программные средства компьютера
- •Системы счисления
- •Лабораторная работа № 1. Операционная система на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 2. Текстовые документы на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 3. Электронные таблицы на компьютере Терминология
- •Порядок выполнения
- •Пример таблицы с формулами
- •Пример таблицы с результатами вычислений
- •Контрольные вопросы
- •Лабораторная работа № 4. Базы данных на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 5. Растровая и презентационная графика на компьютере Терминология
- •Порядок выполнения
- •Контрольные вопросы
- •Лабораторная работа № 6. Программирование последовательных вычислений Элементы языка Pascal
- •Операции и функции в языке Pascal
- •Порядок выполнения
- •Примеры программ на языке Pascal
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 7. Программирование разветвлений Алгоритм линейной структуры
- •Алгоритм разветвляющейся структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 8. Программирование циклов Алгоритм циклической структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 9. Программирование задач с одномерными массивами Одномерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик одномерного массива
- •Фрагменты операций с одномерными массивами
- •Контрольные вопросы
- •Лабораторная работа № 10. Программирование задач с двумерными массивами Двумерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик строк и столбцов двумерного массива
- •Фрагменты операций с двумерными массивами
- •Квадратные матрицы
- •Контрольные вопросы
- •Лабораторная работа № 11. Программирование процедур и функций Подпрограммы
- •Порядок выполнения
- •Дополнительное задание
- •Примеры задач
- •Контрольные вопросы
- •Лабораторная работа № 12. Программирование структурных типов данных Файлы
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
Примеры задач
Задача 1. Вычислить
|
Program Lab11a; Var A:array[0..100] of real; B,C,x:real; i,n:integer; Function Step(a,b:real):real; begin Step:=exp(b*ln(a)); end; Begin writeln('Введи n,x'); read(n,x); writeln('Введи массив A'); for i:=0 to n do read(A[i]); B:=Step(2.1,5)+Step(7,0.3); C:=0; for i:=0 to n do C:=C+A[i]*Step(x,i); writeln('B=',B:10:3,' C=',C:10:3); End. |
|
Контрольный пример. |
||
Исходные данные: |
|
|
Результаты: |
|
|
Задача 2. В двумерном массиве A из 3 строк и 4 столбцов вычислить сумму и произведение отрицательных элементов с использованием подпрограммы-процедуры. |
Program Lab11b; Const m=3; n=4; Type TT=array [1..m,1..n] of real; Var A:TT; i,j:integer; s,p:real; Procedure SumPro(B:TT; m,n:integer; var s,p:real); var i,j:integer; begin s:=0; p:=1; for i:=1 to m do for j:=1 to n do if B[i,j]<0 then begin s:=s+B[i,j]; p:=p*B[i,j]; end; end; Begin writeln('Введи массив A'); for i:=1 to m do for j:=1 to n do read(A[i,j]); SumPro(A,3,4,s,p); writeln(s,p); End. |
|
Контрольный пример. |
||
Исходные данные: |
. |
|
Результаты: |
|
Контрольные вопросы
Что такое подпрограмма? Перечислите виды подпрограмм.
Какие элементы входят в описание подпрограммы?
Что такое формальные и фактические параметры? Чем они отличаются?
Что такое параметры-значения и параметры-переменные? Чем они отличаются?
Что такое локальные и глобальные параметры? Чем они отличаются?
Какой вид имеет заголовок описания функции? Что это означает?
Какой вид имеет вызов функции? Что это означает?
Какой вид имеет заголовок описания процедуры? Что это означает?
Какой вид имеет вызов процедуры? Что это означает?
Напишите, что означает каждая строка в вышеприведённых программах.
Напишите программу к одной из задач дополнительного задания.
Лабораторная работа № 12. Программирование структурных типов данных Файлы
Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти.
В языке Pascal файлы бывают:
Текстовые (типа Text).
Типизированные (типа File of …).
Нетипизированные (типа File).
Над текстовыми файлами обычно применяются следующие стандартные процедуры:
Assign(FP,F) – связывание файловой переменной FP с именем файла F.
Reset(FP) – открытие файла, связанного с файловой переменной FP, для чтения.
ReWrite(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с удалением старых.
Append(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с добавлением к старым.
Close(FP) – закрытие файла, связанного с файловой переменной FP.
Read(FP,P1,…) – ввод значений переменных P1, … из файла, связанного с файловой переменной FP.
ReadLn(FP,P1,…) – ввод значений переменных P1, … из файла, связанного с файловой переменной FP, и перевод указателя в файле на новую строку.
Write(FP,V1,…) – вывод значений выражений V1, … в файл, связанный с файловой переменной FP.
WriteLn(FP,V1,…) – вывод значений выражений V1, … в файл, связанный с файловой переменной FP, и перевод указателя в файле на новую строку.
Строки
Строка – упорядоченный набор символов в кавычках.
Описание строки в разделе описания переменных (Var) на языке Pascal имеет вид:
St : string [ NMax ];
где string – строка, St – имя строки, NMax – максимальное количество символов в строке.
Это означает, что переменная St является строкой, которая может содержать от 1 до NMax символов.
Записи
Запись – неупорядоченный набор величин разных типов, называемых полями.
Поле – именованная величина, являющаяся частью записи.
Описание записи в разделе описания переменных (Var) на языке Pascal имеет вид:
Zap : record
SP1 : T1;
…
SPN : TN
end;
где record – запись, end – конец описания записи, Zap – имя записи, SP1 – список полей 1-й, SPN – список полей N-й, T1 – тип полей в 1-м списке, TN – тип полей в N-м списке.
Это означает, что переменная Zap является записью, включающей поля в списке SP1 типа T1 … поля в списке SPN типа TN.
Пример 1. Var
computer:record
nazv:string[10];
god:integer;
bystr:real;
end;
Это означает, что переменная computer – запись, включающая поля nazv строкового типа, god целочисленного типа, bystr вещественного типа.
Доступ к полю записи имеет вид:
Zap . Pole
где Zap – имя записи, Pole – имя поля.
Это означает доступ к полю Pole записи Zap.
Пример 2. computer.nazv
Это означает поле nazv записи computer.
Оператор присоединения имеет вид:
with Zap do Op
где with – с, do – делать, Zap – имя записи, Op – оператор.
Это означает, что с полями записи Zap выполнять оператор Op.
Пример 3. Ввести поля записи computer без использования оператора присоединения и с его использованием.
a) readln(computer.nazv,computer.god,computer.bystr);
б) with computer do readln(nazv,god,bystr);