Язык программирования Pascal


Задача 1

Циклический язык массив программа

Цель работы

Изучить циклические процессы и реализацию циклических конструкций в языке программирования Pascal.

Постановка задачи

Составить таблицу значений функции Y = f(x) На отрезке от A до B с шагом H. Вид функции, значения A, b, h взять из нижеприведенной таблицы.

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

Таблица должна выводиться на экран в два столбца с заголовками 'X' и 'F(x)'.

Функция

А

B

Шаг

7

0

6

0.25

Блок-схема алгоритма

Текст программы

Uses crt;

Const a=0;

B=6;

H=0.25;

Var x, y: real;

Begin

Clrscr;

Writeln('x ':6,' | f(x)':7);

Writeln('-----------------');

X:=a;

While x<=b do

Begin

Y:=2*sin(x)*cos(x); {=sin(2x)}

Writeln(x:7:2,' |',y:8:4);

X:=x+h;

End;

Readln;

End.

Результаты тестирования программы

Задача 2

Цель работы

Изучить обработку массивов с помощью языка программирования Pascal.

Постановка задачи

Статистическое управление имеет сведения о стоимости некоторого минимального набора из N продуктов по месяцам года (N>=3). Вывести сведения в виде таблицы с заголовками строк и столбцов (во всех задачах).

Продукт

Стоимость по месяцам

1

2

3

4

5

6

7

8

9

10

11

12

Колбаса

Молоко

. . . . .

Кроме того, найти процентное изменение стоимости набора продуктов на конец года (( стоимость набора за январь - стоимость набора за декабрь)/ стоимость набора за январь * 100).

Вывод результатов на экран должен проводиться для одномерных массивов в виде столбца (столбцов), для двумерных - в виде матрицы. При необходимости на экран должны выводиться также текстовые пояснения. Для оформления вывода использовать подпрограммы модуля СRT.

Примечание: в задании опечатка - для определения изменения необходимо из стоимости набора за декабрь вычитать стоимость за январь, а не наоборот.

Блок-схема алгоритма

Текст программы

Uses crt;

Const n=4;

Var stat: array[1..n,1..12] of integer;

Spis: array[1..n] of string;

I, j: integer;

Jan, dec: integer;

Izm: real;

Begin

Clrscr;

Randomize;

{zapolnyaem massivy}

{spisok produktov}

Spis[1]:='Kolbasa';

Spis[2]:='Moloko';

Spis[3]:='Hleb';

Spis[4]:='Sahar';

{zapolnyaem ceny sluchainymi chislami}

For j:=1 to 12 do

Begin

Stat[1,j]:=200+random(20); {kolbasa}

Stat[2,j]:=30+random(10); {moloko}

Stat[3,j]:=15+random(10); {hleb}

Stat[4,j]:=20+random(5); {sahar}

End;

{raschet izmenenyay}

Jan:=0; dec:=0;

For i:=1 to N do

Begin

Jan:=jan+stat[i,1];

Dec:=dec+stat[i,12];

End;

Izm:=(dec-jan)/jan*100;

{vyvod zagolovkov}

Textattr:=2; {zelenyi text}

Gotoxy(1,1);

Write('Produkt|');

Gotoxy(35,1);

Writeln('Stoimost po mesyacam');

Writeln('--------------------------------------------------------------------------------');

Gotoxy(8,3);

Write('| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ');

Gotoxy(1,4);

Write('--------------------------------------------------------------------------------');

For i:=1 to N do

Begin

Gotoxy(1,2*i+3);

Write(spis[i]);

Gotoxy(8,2*i+3);

Write('|');

Gotoxy(8,2*i+4);

Write('|');

End;

{vyvod samoi matricy}

Textattr:=4;

For i:=1 to N do

For j:=1 to 12 do

Begin

Gotoxy(6*j+3,2*i+3);

Write(stat[i, j]:5,'|');

Gotoxy(6*j+8,2*i+4);

Write('|');

End;

Textattr:=5;

Writeln;

Writeln('Izmenenie ',izm:6:2,'% : jan=',jan,' dec=',dec);

Readln;

End.

Результаты тестирования программы

Похожие статьи




Язык программирования Pascal

Предыдущая | Следующая