
- •Иванов и.Н. Паскаль История развития языка.
- •Как пишутся программы
- •Язык программирования
- •Методика решения задач
- •Структура паскаль-программы
- •Раздел описаний
- •Uses - подключение библиотеки данные и их типы
- •Переменные
- •Имена переменных
- •Константы
- •Синтаксис и семантика написания программ
- •Стандартные типы данных
- •Знакомство с интегрированной средой
- •Вход в интегрированную среду
- •Поля основного меню File - работа с файлами
- •Edit - редактирование
- •Search - поиск информации
- •Compile - компиляция программы
- •Debug - отладка программы
- •Tools - инструментальные средства
- •Options - параметры среды
- •Window - работа с окнами
- •Help - информационная помощь
- •Лабораторная работа №1 на тему
- •Запуск среды
- •1). Прежде всего, установите свой каталог, в котором будут содержаться ваши программы:
- •2). Ввод новой программы:
- •Редактирование программы
- •Копирование информации
- •Операторы паскаля: присваивания, ввода-вывода данных Оператор присваивания.
- •Оператор ввода данных.
- •Оператор вывода данных.
- •Модуль crt.
- •Выражения и функции в Паскале.
- •Возведение в степень
- •Практическая работа № 1 тема: "составление линейных и диалоговых программ"
- •Организация ввода-вывода в паскале.
- •Стандартные функции. Линейные программы
- •Ветвления и циклы в паскале. Оператор варианта Оператор ветвления (условный).
- •Оператор варианта.
- •Оператор цикла с параметром.
- •Вложенные циклы
- •Оператор цикла с предусловием. (Работает, пока истинно условие)
- •Оператор цикла с постусловием. (Работает, пока ложно условие)
- •Нестандартные типы данных: перечисляемый и ограниченный тип
- •Var имя переменной: имя типа;
- •Ограниченный тип данных
- •1 Октября 1994 года - 4 квартал – суббота
- •Символьные переменные и функции в паскале
- •Процедуры и функции в паскале
- •Графика паскаля
- •Практический зачет на тему:
- •Сложные типы данных тип массив. Одномерные массивы
- •Решение задач
- •IV. Домашнее задание.
- •Сложные типы данных. Тип массив двумерные массивы
- •Ввод-вывод элементов массива.
- •Решение задач
- •Файловый тип данных
- •Урок № 55-56
- •Ход урока.
- •I. Самостоятельная работа с теоретическим материалом.
- •II. Теоретический материал.
- •III. Домашнее задание.
- •Урок № 57-58
- •Ход работы.
- •Урок-исследование № 59-60
- •Ход урока.
- •Теоретический материал к уроку.
- •Var имя множества: set of базовый элемент;
- •Var имя множества: имя типа;
- •Задание для работы в группах по теме “Множества”
- •Урок № 61-62
- •Ход работы.
- •I. Консультация по билетам.
- •II. Решение задач.
- •III. Домашнее задание.
IV. Домашнее задание.
Выучить конспект.
Решить в тетради для д.з. задачи №5, 6, 7, 8, 10.
Сложные типы данных. Тип массив двумерные массивы
По способу организации и типу компонент выделяют четыре основные разновидности структурированных типов:
регулярный тип (массивы);
комбинированный тип (записи);
файловый тип (файлы);
множественный тип (множества).
Регулярный тип, или массив, есть упорядоченный набор данных одинакового типа, упорядоченных по значениям индекса.
Массив характеризуется именем, размером, размерностью.
ОПИСАНИЕ ДВУМЕРНОГО МАССИВА:
1. VAR ИМЯ МАССИВА: ARRAY[T1, Т1] OF T2
где T1- тип индекса (любой, кроме real и integer)
T2- тип элементов массива (базовый тип)
Примеры объявления двумерных массивов:
var b:array[1..5,1..7] of real;
VAR b:array[1.10,1..9] of integer;
Ввод-вывод элементов массива.
II. Двумерный массив
FOR I:=1 TO N do
BEGIN
FOR J:=1 TO N do
BEGIN
A[I,J]:=RANDOM(10); {или => read(a[i,j]; WRITE(A[I,J]:4);}
END;
WRITELN;
END.
Решение задач
Задача 1
Найти наибольший и наименьший элементы матpицы Х(k,n) и поменять их местами.
Решение:
Program Mass_twin;
Var {задаем массив побольше}
X:array[1..100,1..100] of integer;
k,n:integer;{для реального массива}
i,j:integer; {счетчики циклов}
min,max:integer;
minX,minY,maxX,maxY:integer;
pp:integer; {промежуточная для обмена}
Begin
min:=100;max:=0; {минимальный будет уменьшаться, максимальный увеличиваться}
write('Введите количество строк );readln(k);
write('Введлите количество столбцов ');readln(n);
{заполняем матрицу случайными числами до 100}
For i:=1 to k do
For j:=1 to n do
X[i,j]:=random(100);
writeln('Исходная матрица выглядит:');
For i:=1 to k do
begin
For j:=1 to n do
begin
write(X[i,j]:4);
if X[i,j]>max then begin max:=X[i,j];maxX:=i;maxY:=j;end;
if X[i,j]<min then begin min:=X[i,j];minX:=i;minY:=j;end;
end;
writeln;
end;
writeln('Минимальный = ',min,' Ячейка Х[',minX,',',minY,']');
writeln('Максимальный = ',max,' Ячейка Х[',maxX,',',maxY,']');
{меняем местами и выводим}
pp:=min;
X[minX,minY]:=max;
X[maxX,maxY]:=pp;
writeln;
For i:=1 to k do
begin
For j:=1 to n do
write(X[i,j]:4);
writeln;
end;
writeln('Значения в ячейках поменялись');
end.
Задача 2
Имеется матpица S(m,n). Найти максимальный из всех минимальных элементов стpок. Вывести номеp стpоки матpицы S,в котоpой pасположено выбpанное число.
Решение:
Program mass_twin2;
Var
S: array [1..5,1..5] of integer;
i,j:integer; minStr,maxMin:integer;
begin
minStr:=100;maxMin:=0;
for i:=1 to 5 do
for j:=1 to 5 do
S[i,j]:=random(100);
writeln('Исходная матрица выглядит:');
For i:=1 to 5 do begin
For j:=1 to 5 do begin write(S[i,j]:4);
if S[i,j]<minStr then minStr:=S[i,j];
end;
write(' Минимальный в строке = ',minStr);
if maxMin<minStr then maxMin:=minStr;
minStr:=100;
writeln;
end;
writeln('Максимальный из минимальных = ',maxMin);
end.
Задача 3
Из матpицы Х(5,4) получить матpицу Н, поменяв местами стpоки и столбцы.
Решение:
Program mass_3;
var X:array[1..5,1..4] of integer;
H:array[1..4,1..5] of integer;
i,j:integer;
Begin
{заполняем матрицу}
For i:=1 to 5 do
For j:=1 to 4 do
X[i,j]:=random(100);
{выводим матрицу исходную}
For i:=1 to 5 do begin
For j:=1 to 4 do write(X[i,j]:4);
writeln;
end;
writeln;
{меняем местами}
For i:=1 to 5 do
For j:=1 to 4 do H[j,i]:=X[i,j];
{выводим матрицу новую}
For i:=1 to 4 do
begin
For j:=1 to 5 do write(H[i,j]:4);
writeln;
end;
writeln;
end.
Самостоятельно на 4 варианта:
Найти максимальный элемент главной диагонали матpицы X(5,5).
Дана матpица Y(m,n). Найти столбец с наибольшей и наименьшей суммой элементов.
Вычислить сумму элементов двух главных диагоналей матpицы С(5,5).
Из матpицы Y(k,k) получить вектоp T, элементами котоpого являются элементы главной диагонали матpицы.
Домашнее задание
Сфоpмиpовать диагональную матpицу А(p,p). У диагональной матpицы все элементы pавны нулю, кpоме диагональных.
Получить вектоp B (одномерный массив), элементами котоpого являются пpоизведения элементов в каждой стpоке матpицы A(5,4).
Из матpицы Z(4,5) получить вектоp А, содеpжащий положительные элементы матpицы.
Получить матpицу К(5,5), элементами котоpой являются квадpаты сумм номеpов стpок и столбцов.
Имеется целочисленная матpица A(k,l). Пpовеpить, есть ли в ней элементы, pавные нулю. Если есть, найти номеp пеpвого из них.