Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка 2 курс Паскаль.doc
Скачиваний:
47
Добавлен:
14.05.2015
Размер:
295.42 Кб
Скачать

Лабораторная работа №9 Тема работы: Подпрограммы. Функции.

Цель работы: использование функций в программировании.

ЗАДАНИЯ

1. Написать функцию решения 3 задач по выбору, используя оператор выбора Case:

  • Переменные a,b,c -формальные .

  • Результат вычисления передать в виде параметра в основную программу.

1

2

3

4

5

6

7

8

9

10

Пример 1. Реализация функцииn+n

Пример 2.

Program S_of_Figure;

var

choice: char;

a, x, y, z: real;

 

function circle(d: real): real;

const pi = 3.14159;

begin

circle := pi * sqr(d) / 4.0;

end;

 

function rectangle(a, b: real): real;

begin

rectangle := a * b

end;

 

function triangle(a, b, c: real): real;

var x: real;

begin

x := (a + b + c) / 2;

triangle := sqrt(x * (x - a) * (x - b) * (x - c))

end;

 

begin

repeat

read(choice);

case choice of

'c': begin

readln(x);

a := circle(x)

end;

'r': begin

readln(x, y);

a := rectangle(x, y)

end;

't': begin

readln(x, y, z);

a := triangle(x, y, z)

end

end;

writeln('Square: ', a:8:2);

until choice = 'q';

 

readln

end.

Лабораторная работа №10

Тема работы: Работа с массивами.

Цель работы: использование массивов в программировании.

Задание.

1. Заполнить одномерный массив « @ » и вывести упорядоченно на экран.

2. Заполнить одномерный массив числами произвольно и посчитать сумму и произведение всех элементов, результат вывести на экран.

3. Заполнить двумерный массив числами, найти сумму элементов над главной диагональю(I<J), массив и полученный результат вывести на экран.

Задание: 1 – на оценку 3,

1 и 2 – на оценку 4,

1, 2 и 3 – на оценку 5.

Пример упорядоченного вывода двумерного массива :

for i:=0 to n do begin

for j:=0 to m do

write(mas[i,j]:5);

writeln

end;

Лабораторная работа №11

Тема работы: Обработка линейных массивов.

Цель работы: использование обработки массивов в программировании.

Задание:

  1. Написать код программы, вычисляющей сумму всех :

а) четных чисел массива;

б) нечетных чисел массива;

  1. Написать код программы, вычисляющей сумму:

а) элементов над главной диагональю;

б) элементов под главной диагональю;

  1. Написать код программы, вычисляющей сумму:

а) элементов на главной диагонали;

б) элементов на побочной диагонали;

  1. Написать код программы, использующей процедуру по заданию 1.

Лабораторная работа №12

Тема работы: Использование записей.

Цель работы: изучение и использование записей для решения задач программирования.

Задание.

Реализовать трехуровневую запись по вариантам.

  1. Меню кафе.

  2. Характеристика автомобиля.

  3. Резюме для работы.

  4. Свой вариант.

Пример 1.

program primer 1 ; type anketa=record    fio: string[45];    dat_r: string[8];    adres: string[50];    curs: 1..5;    grupp: string[3] end; var student: array [1..100] of anketa;    I: integer; begin    {последовательно вводим каждую запись}    for I:=1 to 100 do    begin       writeln (‘введите сведения о’, I , ‘-м студенте’);       writeln (‘введите фамилию, имя и отчество’);       readln (student[I].fio);       writeln (‘введите дату рождения’);       readln (student[I].dat_r);       writeln (‘введите адрес’);       readln(student[I].adres);       writeln (‘введите курс’);       readln(student[I].curs);       writeln (‘введите группу’);       readln (student[I].grupp);    end;    writeln (‘ввод закончен’);    writeln ;    {просматриваем массив записей и выбираем только студентов 2-го курса }    for I:=1 to 100 do       if student[I].curs=2 then          writeln(‘ фамилия студента : ’, student[I].fio); end.

Пример 2.

Пример фрагмента программы c записью и префиксом Паскаля

for I:=1 to 100 do    with student[I] do    begin       writeln (‘введите сведения о’, I , ‘-м студенте’);       writeln (‘введите фамилию, имя и отчество’);       readln (fio);       writeln (‘введите дату рождения’);       readln (dat_r);       writeln (‘введите адрес’);       readln(adres);       writeln (‘введите курс’);       readln(curs);       writeln (‘введите группу’);       readln (grupp);    end;

Контрольные вопросы.