- •Оглавление
- •Этапы разработки программы
- •Оформление решения
- •Структура программы
- •Характеристики программы
- •Типы данных
- •Целые числа
- •Вещественные числа
- •Лабораторная работа № 2 Алфавит языка Паскаль. Операторы языка
- •Теоретические сведения Алфавит языка
- •Контрольные вопросы
- •Специальные символы
- •Составные символы
- •Зарезервированные слова
- •Стандартные функции и процедуры языка
- •Комментарии и директивы
- •Операторы
- •Простые операторы
- •Структурные операторы
- •Полезные формулы
- •Запись числовых констант, переменных и выражений
- •Контрольные вопросы
- •Лабораторная работа № 3 Программирование алгоритмов линейной структуры
- •Теоретические сведения
- •Задание к работе
- •Пример выполнения работы
- •Варианты заданий
- •Задание 2
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Примеры задач Программа 1
- •Программа 2
- •Программа 3
- •Варианты заданий
- •Задание2
- •Примеры задач Программа 1
- •Программа 2
- •Программа 3
- •Варианты заданий
- •Алгоритм цикла с предусловием – While
- •Алгоритм цикла с постусловием Repeat
- •Алгоритм цикла со счетчиком For
- •Практические примеры Задачи с использованием оператора while
- •Задачи с использованием оператора repeat
- •Задачи с использованием оператора for
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Программирование алгоритмов со структурой вложенных циклов
- •Теоретические сведения
- •Практические примеры
- •Задачи для решения
- •Лабораторная работа № 8 Обработка одномерных массивов
- •Теоретические сведения
- •Обработка массивов
- •Действия с одномерными массивами
- •Практические примеры
- •Варианты заданий
- •Контрольные вопросы
- •Что представляет собой массив в Pascal'е?
- •Лабораторная работа № 9 Обработка двумерных массивов, матрицы
- •Теоретические сведения
- •Описание массива
- •Заполнение массива данными (ввод элементов)
- •Вывод массива
- •Обработка массивов
- •Квадратная матрица
- •Транспонирование матрицы
- •Практические примеры
- •Варианты заданий
- •Сформировать матрицу по следующему правилу
- •Контрольные вопросы
- •1. Как можно описать следующий массив?
- •2. В какой ячейке находится элемент d[2,6] ?
- •3. Каким образом выведется массив на экран монитора?
- •4. Сколько элементов находится в массиве х(4;7):
- •Метод линейной сортировки
- •Сортировка методом «пузырька»
- •Практические примеры
- •Варианты заданий
- •Практические примеры
- •Варианты заданий
- •Практические примеры
- •Шифрование и дешифрование текста
- •Варианты заданий
- •Контрольные вопросы
- •Порядок выполнения лабораторных работ
- •Содержание пояснительной записки
- •Литература
Практические примеры
Программа 1
Дан список учащихся класса, содержащий следующие поля: фамилия, имя, класс, оценка по математике, информатике, физике, средний бал по всем предметам. Определить у какого ученика оценка по математике выше, чем по информатике. У какого ученика средний бал по всем предметам равен 5.
program zadacha_1;
uses crt;
type
s=record {Список учеников}
f: string[15];{фамилия}
im: string[10];{имя}
kl:integer;{класс}
oc_m: 1..5; {оценка по математике}
oc_f: 1..5; {оценка по физике}
oc_i: 1..5; {оценка по информатике}
sr: real; {средний бал}
end;
var
a: array [1..30] of s; {массив учащихся}
n: integer;{количество учащихся в классе}
i: integer;
begin
clrscr;
writeln('Введите количество учащихся в классе');
readln(n);
for i:=1 to n do
with a[i] do
begin
write('Введите фамилию ',i,' учащегося--> ');
readln (f);
write('Введите его имя-->');
readln (im);
write('Введите класс-->');
readln(kl);
write('Введите его оценку по математике-->');
readln (oc_m);
write('Введите его оценку по информатике-->');
readln (oc_i);
write('Введите его оценку по физике-->');
readln (oc_f);
end;
for i:=1 to n do
with a[i] do
begin
sr:=(oc_m+oc_f+oc_i)/3;
end;
writeln;
writeln('........СПИСОК УЧАЩИХСЯ.....................');
writeln;
for i:=1 to 67 do
write('-');
writeln;
writeln('| № | Фамилия | Имя | Класс | Матем | Инф | Физ | Ср.б |');
for i:=1 to 67 do
write('-');
writeln;
for i:=1 to n do
with a[i] do
begin
writeln(i:3,f:15,im:10,kl:9,oc_m:7,oc_i:7,oc_f:7,sr:8:2);
end;
for i:=1 to n do
with a[i] do
begin
if a[i].oc_m>a[i].oc.i then
writeln('У ',a[i].f,' оценка по математике выше чем по информатике');
if a[i].sr=5 then
writeln('У ',a[i].f,' средний бал по всем предметам – 5');
end;
readln;
end.
Программа 2
Дана запись координат N точек на плоскости. Найти близлежащую точку к началу координат.
program zadacha_2;
uses crt;
type s=record
x,y,d:integer;
end;
var
a:array [1..100] of s;
i: integer;
n: integer;
min: integer;
begin
clrscr;
write ('Введите количество точек ');
readln (n);
For i:=1 to n do
with a[i] do
begin
write ('введите координаты ',i,' точки ');
readln (x,y);
end;
for i:=1 to n do
with a[i] do
begin
a[i].d:=(x*x)+(y*y);
end;
min:=a[1].d;
for i:=1 to n do
with a[i] do
begin
if a[i].d < min then
begin
min:=a[i].d;
end;
end;
for i:=1 to n do
with a[i] do
begin
if a[i].d = min then
begin
writeln ('точка ',i, ' ближняя k (0,0) имеет координаты(',a[i].x,',',a[i].y,')');
end;
end;
readln;
end.
Программа 3
Найти сумму и произведение двух комплексных чисел:
z1=a1+i*b1 и z2=a2+i*b2.
program соmpl;
туре соmpl = гесоrd
ге : геаl;
im : геаl
end;
var z1,z2,s,р соmpl;
begin
writeln('компл.число a+i*b вводите двумя числами а и b: ');
writeln('введите 1 число: '); readln(z1.re,z1.im); write('введите 2 число: '); readln(z2.re,z2.im);
s.re := z1.re + z2.re;
s.im : = z1.im + z2.im;
р.ге := z1.re * z2.re – z1.im * z2.im;
p.im := z1.ге * z2.im + z2.re * z1.im; writeln('s=',s.re:4:2,' + I * ‘s.im:4:2);
write('р=',р.ге:4:2,' + i * p.im:4:2);
end.
