- •Введение Алгоритмизация
- •Автоматизация математических вычислений на компьютере
- •Численные методы
- •Лабораторная работа № 1. Программирование последовательных вычислений Элементы языка Pascal
- •Операции и функции в языке Pascal
- •Порядок выполнения
- •Примеры программ на языке Pascal
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 2. Программирование разветвлений Алгоритм линейной структуры
- •Алгоритм разветвляющейся структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 3. Программирование циклов Алгоритм циклической структуры
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
- •Лабораторная работа № 4. Программирование задач с одномерными массивами Одномерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик одномерного массива
- •Фрагменты операций с одномерными массивами
- •Контрольные вопросы
- •Лабораторная работа № 5. Программирование задач с двумерными массивами Двумерные массивы
- •Порядок выполнения
- •Пример задачи
- •Дополнительное задание
- •Фрагменты вычисления характеристик строк и столбцов двумерного массива
- •Фрагменты операций с двумерными массивами
- •Квадратные матрицы
- •Контрольные вопросы
- •Лабораторная работа № 6. Программирование процедур и функций Подпрограммы
- •Порядок выполнения
- •Дополнительное задание
- •Примеры задач
- •Контрольные вопросы
- •Лабораторная работа № 7. Программирование структурных типов данных Файлы
- •Порядок выполнения
- •Примеры задач
- •Дополнительное задание
- •Контрольные вопросы
Примеры задач
Задача 1. Ввести матрицуAразмером 33 из файлаLab7a.txt, заменить в ней элементы выше главной диагонали на нули, а затем вывести эту матрицу в файлLab7c.txt. |
Program Lab7b; Var A:array[1..3,1..3] of real; i,j:integer; f1,f2:text; Begin assign(f1,'Lab7a.txt'); assign(f2,'Lab7c.txt'); reset(f1); rewrite(f2); for i:=1 to 3 do for j:=1 to 3 do read(f1,A[i,j]); for i:=1 to 3 do for j:=1 to 3 do if i<j then A[i,j]:=0; writeln(f2,'Массив A'); for i:=1 to 3 do begin for j:=1 to 3 do write(f2,A[i,j]:10:3); writeln(f2,''); end; close(f1); close(f2); readln; End. | |
Контрольный пример. | ||
Исходные данные: |
. | |
Результаты: |
. | |
Задача 2. Задана запись студента с полями: фамилия, год рождения, средний балл за сессию. Начислить студенту стипендию, если известно, что за все отличные оценки начисляется стипендия в 1000 рублей, а за остальные оценки стипендия не начисляется. |
Program Lab7d; Var student:record fam:string[10]; god:integer; ball:real; end; stip:real; Begin with student do readln(fam,god,ball); if student.ball=5 then stip:=1000 else stip:=0; writeln('Стипендия – ',stip:5:1,' рублей'); End. | |
Контрольный пример. | ||
Исходные данные: |
Фамилия – Иванов Год рождения – 1989 Средний балл – 5 | |
Результаты: |
Стипендия – 1000 рублей |
Дополнительное задание
С использованием ввода исходных данных из файла и вывода результатов в файл найти сумму всех элементов в двумерном массиве и заменить на нули элементы на главной диагонали.
Дан массив студентов из полей записи: фамилия, год рождения, оценки по 3 экзаменам. Найти средний балл студентов 1989 года рождения и старше, а также вычислить количество отличников и задолжников.
Контрольные вопросы
Что такое файл? Какие бывают виды файлов и как они обозначаются?
Какие процедуры применяются для связи файловой переменной с именем файла и для закрытия файла?
Какие процедуры применяются для открытия файла?
Какие процедуры применяются для ввода данных из файла?
Какие процедуры применяются для вывода данных в файл?
Что такое запись и поле?
Какой вид имеет описание записи и что это означает?
Какой вид имеет доступ к полю записи и что это означает?
Какой вид имеет оператор присоединения и что он означает?
Напишите, что означает каждая строка в вышеприведённых программах.
Напишите программу к одной из задач дополнительного задания.