- •Иванов и.Н. Паскаль История развития языка.
- •Как пишутся программы
- •Язык программирования
- •Методика решения задач
- •Структура паскаль-программы
- •Раздел описаний
- •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. Домашнее задание.
III. Домашнее задание.
1.Конспект.
2. ЗАДАЧА №3. Дана ведомость учащихся, занимающихся в кружке по программированию:
Алешина Елена 5 Павликова Юля 5
Ковалев Иван 5 Кемарская Ира 5
Андрианов Глеб 4 Агафонов Стас 5
Поддубный Игорь 4 Антонова Оля 5
Определить количество учащихся, занимающихся в кружке на 5, число учащихся с фамилией, начинающейся на букву "А".
3. Задание №4. Написать программу, которая вводит в режиме запросов заданное число записей вида :
Телевизор
Название Цена Диагональ Цветной или ч/б Производитель
Город Завод ФамилияДиректора
Запрос выводится с новой строки для каждого поля. Например:
Телевизор 1
Название . . . . . . РЕКОРД
Цена (тыс.). . . . . . 3000
Диагональ . . . . . . 59
Изображение (ц/ч). . . Ц
Производитель. . . . .
Завод . . . . . . . Фотон
Город . . . . . . . Москва
Директор. . . . . . Иванов
После ввода массива записей программа осуществляет в нем поиск
следующей информации:
1. Названия телевизоров с размером по диагонали больше 50 см.
2. Фамилии директоров, производящих телевизоры стоимостью свыше
2000 тыс. руб.
3. Названия городов, где выпускаются телевизоры стоимостью менее
1000 тыс. руб.
4. Заводы, выпускающие телевизоры с самым большим размером экрана.
5. Названия телевизоров с самым маленьким размером экрана.
6. Фамилии директоров, выпускающих самые дешевые телевизоры.
7. Города, где выпускают самые дорогие телевизоры.
Урок № 57-58
ПРАКТИЧЕСКАЯ РАБОТА № 6 НА ТЕМУ: “РАБОТА С ЗАПИСЯМИ”.
Цель: отработка практических навыков по составлению программ с записями.
Оборудование: компьютер, Среда Турбо-паскаль.
Ход работы.
1. На диске a создать каталог PR6.
2. Выбрать ход работы на “3”, на “4” или на “5”:
на “3” - выполнить упражнение № 1 и решить задачу № 3.
на “4” - выполнить упражнение № 2 и решить задачу “4”.
на “5” - решить задачу № 3 и № 4.
3. В тетради должно быть:
какая оценка выбрана учеником;
распечатки программ.
На диске - файлы в каталоге PR6 (имена произвольные, в комментариях указать номер упражнения или задачи, фамилию ученика)
Упражнение 1. Выполнить в тетради для практических работ:
Имеется описание:
type family=record
glavafamily: string[15];
vosrast1:18..100;
supruga: string[10];
vosrast2:18..100;
dety: string[5];
end;
var a,b:family;
Занести исходную информацию в переменную A, без использования оператора присоединения и продублировать ее в переменную B.
(Решение.
program pr1;
type family=record
glavafamily: string[15];
vosrast1:18..100;
supruga: string[10];
vosrast2:18..100;
dety: string[5];
end;
var a,b:family;
begin
a.glavafamily:=‘Петров А.В. ‘;
a.vosrast1:=65;
a.supruga:=‘Галина ‘;
a.vosrast2:50;
a.dety:=‘дочь ’;
b:=a;
end.
Упражнение № 2. Выполнить в тетради для практических работ:
Определить запись, включающую в себя следующую информацию:
название завода изготовителя;
название завода поставщика сырья;
номер магазина-потребителя;
названия производимых товаров, 50 наименований;
цена каждого товара за 1 штуку в рублях и копейках;
количество каждого товара в штуках.
Все наименования содержат не более 15 символов.
(Решение.
program zapis;
const maxn=30;
type magasin = record
zavod1: string[15];
zavod2: string[15];
numer:integer;
Proizv : record
tovar: array [1..50] of string;
zeva: array [1..50] of real;
kol: array[1..50] of integer;
end;
end;
inform = array [1..maxn] of magazin;
var a: inform;
begin
end.)
Задача №3. Дана ведомость учащихся, занимающихся в кружке по программированию:
Алешина Елена 5 Павликова Юля 5
Ковалев Иван 5 Кемарская Ира 5
Андрианов Глеб 4 Агафонов Стас 5
Поддубный Игорь 4 Антонова Оля 5
Определить количество учащихся, занимающихся в кружке на 5, число учащихся с фамилией, начинающейся на букву "А".
Решение. (Файл z4.pas)
program ttt4;
const m=15;
type t=record
fam:packed array[1..m] of char;
bal:integer
end;
var spisok:t;
sum1,sum2,n,i,k:integer;
begin sum1:=0;sum2:=0;
writeln('Введите число учащихся');
readln(n);
writeln('Введите таблицу: фамилия,имя,оценка');
for i:=1 to n do
begin
for k:=1 to m do
read(spisok.fam[k]);
read(spisok.bal);readln;
if spisok.bal=5 then sum1:=sum1+1;
if spisok.fam[1]='А' then sum2:=sum2+1;
end ;
writeln('количество учащихся, ','занимающихся на 5=', sum1:3);
writeln('число учащихся',' c фамилией на букву А=',sum2:3);
end.
Задача №4. Написать программу, которая вводит в режиме запросов заданное число записей вида:
Телевизор
Название Цена Диагональ Цветной или ч/б Производитель
Город Завод ФамилияДиректора
Запрос выводится с новой строки для каждого поля. Например:
Телевизор 1
Название . . . . . . РЕКОРД
Цена (тыс.). . . . . . 3000
Диагональ . . . . . . 59
Изображение (ц/ч). . . Ц
Производитель. . . . .
Завод . . . . . . . Фотон
Город . . . . . . . Москва
Директор. . . . . . Иванов
После ввода массива записей программа осуществляет в нем поиск
следующей информации:
1. Названия телевизоров с размером по диагонали больше 50 см.
2. Фамилии директоров, производящих телевизоры стоимостью свыше
2000 тыс. руб.
3. Названия городов, где выпускаются телевизоры стоимостью менее
1000 тыс. руб.
4. Заводы, выпускающие телевизоры с самым большим размером экрана.
5. Названия телевизоров с самым маленьким размером экрана.
6. Фамилии директоров, выпускающих самые дешевые телевизоры.
7. Города, где выпускают самые дорогие телевизоры.
Решение задачи( файл pr-zapis.pas)
program zapis;
const maxn = 30;
type TV = record
Name : string[20];
Price : 1 .. 32000;
Diagonal : 1 .. 50;
Color : char;
Proizv : record
city : string[25];
factory : string[50];
director : string[30];
end;
end;
tele = array [1..maxn] of TV;
var t : tele;
i,n : integer;
was : boolean;
procedure make_array (var n:integer; var t: tele);
begin
writeln (' Ввод массива записей ');
repeat
writeln ('Введите количество элементов n <= ',maxn);
readln (n);
until (n>=0) and (n<=maxn) ;
writeln (' Вводите массив ');
for i:=1 to n do
begin
writeln (' Телевизор ',i);
write (' Название . . . . . .');readln(t[i].Name);
write (' Цена (тыс.). . . . . .');readln(t[i].Price);
write (' Диагональ . . . . . .');readln(t[i].Diagonal);
write (' Изображение (ц/ч). . .');readln(t[i].Color);
writeln (' Производитель. . . . . ');
with t[i].Proizv do
begin
write (' Завод . . . . . . .');readln(city);
write (' Город . . . . . . .');readln(factory);
write (' Директор. . . . . .');readln(director);
end;
end;
end;
begin
make_array(n,t); {ввод массива записей}
was:=false; {признак того, что искомые телевизоры найдены}
writeln('Названия телевизоров стоимостью менее 2000 тыс.руб.');
for i:=1 to n do
if t[i].price < 2000 then
begin
writeln (t[i].name);
was:=true;
end;
if was=false then
writeln ('Не найдены');
end.