Государственное
автономное образовательное учреждение
среднего
профессионального образования
«Ленинградский
социально-педагогический колледж»
Краснодарского
края
Методические
рекомендации
к
лабораторным занятиям
по
дисциплине Основы алгоритмизации и программирования
для
специальности
080802
Прикладная информатика
(по отраслям)
2011
ББК 32.81
М 54
Печатается по решению редакционно-издательского
совета ГАОУ СПО «Ленинградский социально-педагогический колледж»
Краснодарского края, протокол № 7 от «25» ноября 2011
года
Автор-составитель:
Казарин Николай Петрович - преподаватель информатики высшей
квалификационной категории.
Методические
рекомендации к лабораторным занятиям по дисциплине Основы алгоритмизации и
программировании.
Ленинградская:
информационно-аналитический и издательский центр ГАОУ СПО «Ленинградский
социально-педагогический колледж» Краснодарского края, 2011, – 20с.
Рекомендации
адресованы студентам, обучающимся по специальности 080802 Прикладная
информатика (по отраслям), содержит материалы, которые
способствуют обобщению, систематизации, углублению, закреплению полученных
теоретических знаний по конкретным темам общепрофессиональной дисциплины;
формированию умений применять полученные знания на практике, реализации
единства интеллектуальной и практической деятельности; развитию
интеллектуальных умений у будущих специалистов: аналитических, проектировочных,
конструктивных и др.; выработке при решении поставленных задач таких профессионально
значимых качеств, как самостоятельность, ответственность, точность, творческая
инициатива.
Рассмотрено и
одобрено на заседании предметно-цикловой комиссии, протокол № 1 от «26»августа
2011 г. Председатель ПЦК: Харченко М.В.
Рецензент:
____________, Харченко Марина Викторовна, преподаватель информатики высшей
квалификационной категории ГАОУ СПО «Ленинградский социально-педагогический
колледж» Краснодарского края.
ББК
32.81
Ó
Казарин Н.П.., 2011
Ó
Ленинградский социально-педагогический колледж Краснодарского края, 2011
Пояснительная записка
Основная
цель, которая ставится студенту при выполнении задания - практическое освоение
всех этапов разработки надежной программы для решения задачи на ПЭВМ, начиная
от анализа условия задачи и заканчивая сдачей отчета по написанной программе.
Каждое лабораторное занятие состоит из одной или 2-х задач..
Для
повышения эффективности составления алгоритма относительно больших программ
применяется структурный подход к программированию. Это способствует уменьшению
затрат на создание и дальнейшее использование программ при эксплуатации.
Структурный
подход к программированию состоит из трех частей: нисходящая разработка,
структурное программирование и сквозной контроль (тестирование).
При
нисходящей разработке проектирование программирование ведутся по методу
"сверху - вниз", который предусматривает сначала определение задачи в
общих чертах, а затем задача разбивается на ряд более простых подзадач. Для
каждой подзадачи составляется алгоритм ее решения.
Критериями
оценки результатов лабораторного занятия
работы являются:
o уровень
усвоения студентом учебного материала;
o умения
студента использовать теоретические знания при выполнении практических заданий;
o оформление
материала в соответствии с требованиями.
РАБОЧИЙ
ПЛАН ПО ОРГАНИЗАЦИИ
ЛАБОРАТОРНЫХ
ЗАНЯТИЙ
Лабораторное
занятие № 1(2 часа)
"Программирование
линейных алгоритмов."
Цель
работы: выработать практические навыки
работы с системой Borland Pascal, научиться создавать, вводить в компьютер,
выполнять и исправлять простейшие программы на языке Pascal в режиме диалога,
познакомиться с диагностическими сообщениями компилятора об ошибках при
выполнении программ, реализующих линейные алгоритмы.
Общие сведения:
Линейным
называется алгоритм, в котором результат получается путем однократного
выполнения заданной последовательности действий при любых значениях исходных
данных. Операторы программы выполняются последовательно, один за другим, в
соответствии с их расположением в программе.
Пример: Определить
расстояние на плоскости между двумя точками с заданными координатами M1(x1,y1)
и M2(x2,y2)
Решение:
Данные: x1,y1,x2,y2-Integer
Результаты:
d-Real
Метод
решения:
Составим блок-схему алгоритма
Уточним
содержимое блока "Вычисление и печать расстояния"
Дальнейшая детализация не требуется. Переводим блок-схему на язык
Паскаль.
program
Pr1;
var x1,
x2, y1, y2: integer;
d:real;
begin
write('x1= '); readln(x1);
write('y1= '); readln(y1);
write('x2= '); readln(x2);
write('y2= '); readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('d=',d);
readln
end.
Доработаем
программу, так чтобы она обладала некоторым интерфейсом.:
program
Pr1;
var
x1, x2, y1, y2: integer;
d:real;
begin
writeln('Эта
программа вычисляет расстояние между двумя точками на плоскости');
writeln('Введите
координаты двух точек:');
write('x1= '); readln(x1);
write('y1= '); readln(y1);
write('x2= '); readln(x2);
write('y2 ='); readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
writeln('d=
',d);
writeln('нажмите
Enter для завершения работы программы');
readln;
end.
Набирите
программу и запустите её.
Введите
данные: x1=5, y1=6, x2=8, y2=10
Контрольные
вопросы:
1. Каковы
назначение и возможности системы Borland Pascal?
2. Как
запустить программу на трансляцию и выполнение?
3. Как
записываются операторы начала и конца программы?
4. Из
каких разделов состоит программа на языке Pascal?
5. В
какой последовательности должны быть записаны разделы программы на языке
Pascal?
6. Как
записываются операторы вывода на экран в Pascal?
Задачи:
1.
Дана сторона квадрата a. Найти его периметр P = 4·a.и
площадь S = a2.
2.
Даны стороны прямоугольника a и b. Найти его площадь S = a·b
и периметр P = 2·(a + b).
3.
Дана длина ребра куба a. Найти объем куба V = a3
и площадь его поверхности S = 6·a2.
4.
Даны длины ребер a, b, c прямоугольного
параллелепипеда. Найти его объем V = a·b·c
и площадь поверхности S = 2·(a·b + b·c + a·c).
5. Найти
длину окружности L и площадь круга S заданного радиуса R:
L = 2·p·R,
S = p·R2.
Лабораторное
занятие № 2 (2 часа)
«Программирование разветвляющихся алгоритмов».".
Цель
работы: выработать практические навыки
работы с системой Borland Pascal, научиться создавать, вводить в компьютер,
выполнять и исправлять простейшие программы с условным оператором.
Выполнение работы:
- Запустить
интегрированную среду Turbo Pascal.
- В окне
редактора наберите программу и сохраните файл под именем LR2.PAS в своей
паке (Фамилие. дата) на Рабочем
столе
Program LR2;
Usec Crt;
Var A,
B: Integer;
Begin
Clrscr;
Write ('Введите числа А, B - ');
Readln
(A, B);
If A > B Then
WriteLn ('Число А – больше')
Else
WriteLn ('Число B – больше');
WriteLn ('Программа завершила свою
работу');
Readln;
End.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
- Начертите в тетради таблицу:
|
Значение
А
|
Значение
В
|
Результат выполнения программы
|
Результат выполнения программы с begin -
end
|
1
|
23
|
9
|
|
|
2
|
23
|
34
|
|
|
3
|
23
|
23
|
|
|
1) Начертите
в тетради блок-схему, которая соответствует приведенной программе.
2) Проверьте
правильность работы программы, задав в качестве исходных данных А и В, значения
указанные в таблице.
3) Результат
выполнения программы (какие сообщения выдаются на экран монитора) запишите в четвертый
столбец таблицы.
4) Объясните
в каждом случае, как работает условный оператор If.
- Поставьте «;»
после оператора WriteLn (‘Число А - больше’) в строке 9. Выполните
компилирование программы. Появилось сообщение об ошибки «Error 113:
Error in statement». Почему это произошло? Исправьте ошибку.
- Внесите изменения в программу в
строки 11 – 12, добавив составной оператор begin – end.
begin WriteLn ('Число B –
больше');
WriteLn ('Программа завершила свою работу'); end;
|
11
12
|
1) Начертите
в тетради блок-схему, которая соответствует полученной программе.
2) Проверьте
правильность работы программы, задав в качестве исходных данных А и В, значения
указанные в таблице.
3) Результат
выполнения программы (какие сообщения выдаются на экран монитора) запишите в пятый
столбец таблицы.
4) Объясните
в каждом случае, как работает условный оператор If.
6.
Запишите ответы на вопросы
Вопросы.
1. Что такое
составной оператор и для чего он используется?
2. Изобразите
полную схему разветвляющегося алгоритма. Укажите ее основные элементы.
3. Запишите
формат условного оператора.
4. Чем
отличаются полная и сокращенная форма условного оператора?
Лабораторное
занятие № 3 (2 часа)
“Операторы цикла ”.
Цель
работы: выработать практические навыки
работы с системой Pascal, научиться создавать, вводить в компьютер, выполнять
и исправлять простейшие программы с циклическим оператором.
Выполнение работы:
1. Запустить
интегрированную среду Turbo Pascal.
- В окне редактора наберите
программу и сохраните файл под именем LR3.PAS в своей паке (Фамилие. дата) на Рабочем столе
Program
zikl;
Uses
Crt;
Var I,
A, B : Integer;
Begin
ClrScr;
Write
('Введите начальное значение - ');
ReadLn
(A);
Write
('Введите конечное значение - ');
ReadLn (B);
For
I := A To B do
WriteLn
( ‘Значение I = ’ , I );
Readln;
End.
|
1
2
3
4
5
6
7
8
9
10
11
12
|
3.
Выполните программу, введя различные исходные значения для переменных A, B, и
запишите в тетрадь полученные результаты в виде таблицы:
№
п/п
|
Значения A
|
Значения B
|
Результат вывода на экран
|
1
|
2
|
5
|
|
2
|
2
|
2
|
|
3
|
4
|
3
|
|
4.
Исправьте программу, заменив цикл FOR на цикл WHILE. В окне
редактора наберите программу и сохраните файлы под именем LR31.PAS в своей паке (Фамилие.
дата) на Рабочем столе
5.
Выполните программу, введя различные исходные значения для переменных A, B, и
запишите в тетрадь полученные результаты в виде таблицы:
№
п/п
|
Значения A
|
Значения B
|
Результат вывода на экран
цикл WHILE
|
Результат вывода на экран
цикл UNTIL
|
1
|
2
|
5
|
|
|
2
|
2
|
2
|
|
|
3
|
4
|
3
|
|
|
Вопросы для повторения
1. Решение
каких задач можно осуществлять, используя циклический алгоритм?
2. Для чего
используется оператор For?
3. Чем
отличается форма For - to от For - downto?
4. Каков
порядок выполнения оператора For?
5. Какое
значение (тип выражения) может принимать начальное и конечное значение
переменной цикла?
6. При каком
условии оператор цикла не будет выполняться?
7. Каков
порядок выполнения оператора UNTIL?
8. Каков
порядок выполнения оператора WHILE?
Лабораторное
занятие № 4 (2 ч.)
«Использование процедур в программировании».
Цель
работы - изучить операторы, используемые
для организации подпрограмм - процедур, получить практические навыки в
составлении программ.
Выполнения работы:
1. Запустить
интегрированную среду Turbo Pascal.
2. В окне редактора
наберите программу, исполните её и сохраните файл под именем LR4.PAS в своей паке (Фамилие.
дата) на Рабочем столе
program LR4;
uses crt;
var a,b,s:real;
procedure summa(x,y:real;var s:real);
begin
s:=x+y;
Writeln(x:3:1,'+',y:3:1,'=',s:3:1);
end;
begin
clrscr;
writeln('Введите два
числа');
readln(a,b);
summa(a,b,s);
readln;
end.
3.
Составте блок-схему алгоритма для данной программы.
4.
Какая используется процедура в программе?
5.
Измените программу так ,
(Вариант 1: чтобы она находила разность и
частное двух чисел.)
(Вариант 2: чтобы она находила сумму
произведение двух чисел.)
Каждое
действие оформите в виде процедуры используя глобальные параметры x и y.
6.
В окне редактора наберите программу, исполните её и сохраните файл под именем LR41.PAS в своей паке (Фамилие.
дата) на Рабочем столе
Ответьте на вопросы:
1.
Что такое подпрограмма?
2.
Что такое стандартная процедура?
3.
Что такое глобальные переменные?
4.
Что такое локальные переменные?
5.
Где в программе описывается процедура?
Лабораторное
занятие № 5 (2 ч.)
«Работа
с массивами»
1.
Цель работы:
1) Получение
практических навыков при работе с массивами.
2) Знакомство
с алгоритмами задания массива.
Выполнение
работы.
1. Запустить
интегрированную среду Turbo Pascal.
2. В окне
редактора наберите программу, исполните её и сохраните файл под именем LR5.PAS в своей паке (Фамилие.
дата) на Рабочем столе
program LR5;
Uses
CRT;
var
a: array[1..5] of integer;
i: byte;
begin
Clrscr;
for i:=1 to n do begin
a[i]:=random(21)-10;
Writeln(‘a[‘,i,’]=’,a[i];
end;
readln;
end.
3.
Составьте блок-схему этой программы.
4.
Какому отрезку принадлежат элементы этого массива?
5.
Исполните данную программу и запишите результат в тетрадь.
6.
Исправьте данную программу так , чтобы она находила сумму:
А.
Вариант –положительных элементов массива.
Б.
Вариант –отрицательных элементов массива.
7.
Начертите блок - схему данной программы.
8.
Исполните данную программу и запишите результат в тетрадь.
9.
Сохраните данную программу в файле LR51.PAS
в своей паке (Фамилие. дата) на Рабочем
Лабораторное
занятие № 6 (2 ч.)
«Строковые данные в программировании»
Цель
работы:
Получение
практических навыков работы со строками в программировании.
Выполнение
работы.
1. Запустить
интегрированную среду Turbo Pascal.
2. В окне
редактора наберите программу, исполните её и сохраните файл под именем LR6.PAS в своей паке (Фамилие.
дата) на Рабочем столе
program LR6;
uses CRT;
Var s,s1:string;
i:integer;
begin
Clrscr;
Writeln('введите
строку');
Readln(s);
s1:='';
for i:=1 to length(s) do
s1:=s[i]+s1;
Writeln('введенное
слово ',s,' наоборот
',s1);
readln;
end.
3.
Составьте блок-схему этой программы.
4.
Исполните данную программу и запишите результат в тетрадь.
5.
Какая задача решается данной программой?
6.
Исправьте данную программу так , чтобы она давала ответ, является ли данное
слово перевертышем (например: 'казак'='казак'; а 'сон'<>'нос').
7.
Начертите блок - схему данной программы.
8.
Исполните данную программу и запишите результат в тетрадь.
9. Сохраните
данную программу в файле LR61.PAS в своей
паке (Фамилие. дата) на Рабочем столе
10. Ответьте на
вопросы:
·
Как
описываются строковые переменные?
·
Какая
максимальная длина строки допустима в Pascal?
·
Какие
операции допустимы над строковыми данными?
Какие
стандартные процедуры и функции для работы со строками вы знаете.
Лабораторное
занятие № 7 (2 ч.)
«Использование записей в программировании.»
Цель работы:
1.
Получение навыков в организации ввода/вывода значений комбинированного
типа данных.
2.
Получение практических навыков программирования задач с использованием
записей.
Постановка задачи:
Пример:
Из ведомости 3-х студентов с их оценками ( порядковый номер, Ф.И.О.
и три оценки) определить количество отличников и средний бал каждого студента.
Program
Spic;
Type wed = record
n : integer ;
fio : string[40] ;
bal : array [1..3] of integer
end;
Var spisok : wed ;
i, j, kol, s : integer; sr : real;
Begin
kol:=0;
With spisok do
For i:=1 to 3 do
begin
n:=i;
Write (' Vvedite FIO # ', i ,' ');
Readln (fio);
s:=0;
For j:= 1 to 3 do
begin
write ( 'Vvedite ocenky: ' );
readln ( bal [j] );
s := s+ bal [j];
end;
if s=15 then kol:=kol+1;
sr := s/3; writeln ( fio, ', Sredniy bal = ', sr:4:1); end;
writeln ( ' Kolichestvo otlichnikov = ', kol );
readln;
end.
1.Запустить программу и выполните её.
2. Запишите программу и результат её работы в тетрадь.
3. Сохраните
данную программу в файле LR7.PAS в своей
паке (Фамилие. дата) на Рабочем столе .
4.
Запишите имя записи,используемой в программе, перечислите поля записи и
укажите их тип.
Лабораторная работа 8
Работа с файлами
Цель
работы:
познакомить с понятием файлового типа данных ; выработать навыки работы с
файловым типом данных в языке программирования Pascal, научиться считывать
информацию из файлов, записывать информацию в файл; научится решать задачи с
использованием файлов
Общие сведения
Файл
представляет собой структурированный тип данных, содержащий последовательность
компонентов одного типа и одной длины. Число элементов в файле (длина файла) не
фиксировано. Это является основным отличием файла от массива.
Файл
можно представить как ленту, у которой есть начало, а конец не фиксирован.
Элементы файла записываются на эту ленту последовательно, друг за другом с
помощью некоторого устройства - указателя файла. При чтении или записи этот
указатель перемещается к следующему элементу и делает его доступным для
обработки. В каждый момент доступен для чтения или записи только тот элемент
файла, на который установлен указатель.
Пример
Пример1. .
Открыть файл f86.txt и сохранить в нем N целых чисел в пределах от 65 до 90:
А) считайте информацию из данного файла;
Б) найдите сумму элементов, находящихся в файле.
Program fi186;
Uses CRT;
var f:file of integer;
n,m,i,s:integer;
a:string;
begin
clrscr; s:=0;
a:='e:\work\f86';
assign(f,a);rewrite(f);
randomize;
write('введите количество
чисел n=');readln(n);
writeln('числа записанные в файл');
for i:=1 to n do begin
m:=trunc(random(25))+65;
write(f,m);
write(m,'; ');
end;
close(f);
writeln;
assign(f,a);reset(f);
Writeln('числа считанные из файла');
while not eof(f) do begin
read(f,n);
write(n,'; ');
s:=s+n
end;
close(f);
writeln;
writeln('сумма чисел, считанных из файла s=',s);
readln;
end.
1.Запустить программу и выполните её.
2. Запишите программу и результат её работы в тетрадь.
3. Сохраните
данную программу в файле LR8.PAS в своей
паке (Фамилие. дата) на Рабочем столе .
4.
Запишите имя внутреннего и ванешнего файлов, используемых программой.
Контрольные вопросы
1. Что такое файл?
Какие существуют виды файлов?
2. Какими
стандартными процедурами и функциями располагает Borland Pascal для работы с
файлами?
3. Каково должно быть
содержание программы по созданию файла и его корректировки (замена элементов,
добавление элементов, удаление элементов)?
4. Какие бывают
файлы?
Методические рекомендации к лабораторным занятиям
по дисциплине Основы алгоритмизации и программирования
Ответственный
редактор и корректор Казарин Н.П.
Компьютерный
набор Казарин Н.П.
Верстка
и дизайн Дорохова Н.Г.
Сдано
в набор 7.11.2011г. Подписано в печать 9.11.2011г.
Формат
60x84/16 Усл. печ. л. 2,75 Тираж 15 экз.
Заказ
№ 205 Бумага тип. №1
Информационно-аналитический и
издательский центр Ленинградского социально-педагогического колледжа
Краснодарского края. 353740, Краснодарский край, станица Ленинградская, ул.
Красная, 152. Тел.(86145) 7-01-40, 7-37-21. Факс: (86145) 7-31-41;
е-mail: lpk31@mail.ru; www. lpk31.ru.
Отпечатано в
типографии ГАОУ СПО «Ленинградский социально-педагогический колледж»
Краснодарского края
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.