Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб. программирование.pdf
Скачиваний:
111
Добавлен:
21.05.2015
Размер:
764.95 Кб
Скачать

3.Дана площадь круга. Найти длину окружности, ограничивающей этот круг.

4.Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь.

5.Дано целое четырехзначное число. Используя операции div и mod, найти произведение его цифр.

Лабораторная работа 2. Условный оператор

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - средство ветвления вычислительного процесса.

Структура условного оператора:

IF <УСЛОВИЕ> THEN <ОПЕРАТОР №1>

ELSE <ОП.2>;

где IF, THEN, ELSE - ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА (если, то, иначе)

<условие> - произвольное выражение логического типа,

<операторы> - любые операторы Паскаля.

Пример: Найти наименьшее из двух чисел (min(a,b)).

Program Pr1;

Var a, b, min : real;

Begin

Writeln(‘a=’); Readln (a);

Writeln(‘b=’); Readln (b);

If a<b then min := a else min := b;

Writeln (‘ответ=’ , min)

End.

Обратим внимание на три момента:

1)перед else нельзя ставить ";";

2)составное логическое условие всегда разбивается на несколько «под-условий»;

Нельзя писать: if 3>x>4 then …

Правильно: if (x<3) and (x>4) then …

3)если на одной из ветвей логического оператора несколько действий – необходимо ставить операторные скобки.

©ИМПИ ОГПУ

Нельзя писать:

if x>2 then a := 2; b := 3 else a := 3; b := 2;

Правильно:

if x>2 then begin

end a := 2; b := 3 else

begin

a := 3; b := 2; end;

Задания для самостоятельной работы

Вариант 1.

1.Подсчитать количество положительных чисел среди a, b, c.

2.Найти сумму чисел больших 10 из e, t, g.

3.Даны два действительных числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень - отрицательные.

4.Даны два действительных числа x и y, не равные друг другу. Меньшее из этих чисел заменить половиной их суммы.

5.Найти значение y=sqr(x), 0<x<1 и y=sqrt(x), 1<=x<=10.

6.Написать программу, которая по введенному числу выдает вердикт о том, большая стипендия у студента или нет (большой считать стипендию более 1000руб).

Вариант 2.

1.Подсчитать количество отрицательных чисел среди a, b, c.

2.Найти сумму чисел кратных 5 из x, y, z.

3.Даны два действительных числа. Вывести модуль отрицательного и найти корень квадратный из положительного.

4.Даны два действительных числа x и y, не равные друг другу. Меньшее из этих чисел заменить удвоенным произведением.

5.Найти значение выражения z=3x-4, 0<x<=1и z=x-sqr(x), 1<x<=10.

6.Написать программу, которая по введенному числу выдает заключение о том, хватит ли этих денег для покупки пиццы в студенческом буфете.

Вариант 3.

1.Подсчитать количество целых чисел среди a, b, c.

2.Найти сумму неотрицательных чисел из x, y, z.

© ИМПИ ОГПУ

3.Известно, что из четырех чисел а1, а2, а3, а4 одно отлично от трех других, равных между собой. Вывести это число.

4.s=max(x,y), x<0 s=min(x,y), x>=0.

5.Найти значение выражения z=|3x-4|, -100<x<0 и z=x-sqr(x), 0<x<=100.

6.Написать программу, которая по введенной оценке выносит вердикт о том, отличник ли пользователь.

Вариант 4.

1.Подсчитать количество чисел не равных 0 среди a, b, c.

2.Найти сумму чисел кратных 3 из x, y, z.

3.Известно, что из четырех чисел а1, а2, а3, а4 два равны между собой. Вывести два другие числа.

4.Определить значение s, при условиях: s=max(x,y), x<0 ; s=min(x,y), x>=0.

5.Найти значение выражения z=|3x-4|, -100<x<0 и z=x-sqr(x), 0<x<=100.

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

Лабораторная работа 3. Оператор варианта.

Оператор варианта Case является обобщением оператора if и позволяет сделать выбор из произвольного числа вариантов.

Он состоит из выражения, называемого селектором, и списка параметров, каждому из которых предшествует список констант выбора (список может состоять из одной константы). Как и в операторе if, здесь может присутствовать else, имеющее тот же смысл.

Формат:

Case <выражение-селектор> of <список 1>: <оператор 1>; <список 2>: <оператор 2>;

<список N>: <оператор N>

else <оператор> end;

Селектор может иметь любой скалярный тип, кроме вещественного. Использование строкового типа в качестве селектора запрещено. Тип констант в любом случае должен совпадать с типом селектора.

Рассмотрим примеры:

1.селектор интервального типа.

© ИМПИ ОГПУ

Case i of

1..10 : writeln (‘число’, i:4, ‘в диапазоне 1-10’); 11..20 : writeln (‘число’, i:4, ‘в диапазоне 11-20’);

21..30 : writeln (‘число’, i:4, ‘в диапазоне 21-30’) else

writeln (‘число’, i:4, ‘вне пределов контроля’) end;

Задания для самостоятельной работы

Вариант 1.

1.Составить программу, которая по заданному числу (1-12) выводит название соответствующего месяца.

2.Составить программу, которая для введенных чисел из диапазона 1..100 печатает грамматически верно фразу «На крыше k кошек». Например, k=4 «На крыше 4 кошки», k=10 «На крыше 10 кошек».

Вариант 2.

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

2.Составить программу, которая для введенных чисел из диапазона 1..100 печатает грамматически верно фразу «Я могу доказать k теорем». Например, k=4 «Я могу доказать 4 теоремы», k=10 «Я могу доказать 10 теорем».

Вариант 3.

1.Составить программу, которая по заданному числу (1-10) выводит ее название на иностранном языке.

2.Составить программу, которая для введенных чисел из диапазона 1..100 печатает грамматически верно фразу «Я нашел k грибов». Например, k=4 «Я нашел 4 гриба», k=10 «Я нашел 10 грибов».

Вариант 4.

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

2.Составить программу, которая для введенных чисел из диапазона 1..100 печатает грамматически верно фразу «Я прочитал k книг». Например, k=4 «Я причитал 4 книги», k=10 «Я прочитал 10 книг».

©ИМПИ ОГПУ