Автор работы: Пользователь скрыл имя, 11 Октября 2015 в 10:03, контрольная работа
Задача 1
Цель работы:
Изучить циклические процессы и реализацию циклических конструкций в языке программирования Pascal.
Постановка задачи
Составить таблицу значений функции y = f(x) на отрезке от a до b с шагом h. Вид функции, значения a, b, h взять из нижеприведенной таблицы.
Для построения таблицы значений использовать цикл с предусловием.
Таблица должна выводиться на экран в два столбца с заголовками 'x' и 'f(x)'.
Задача 2
Цель работы
Изучить обработку массивов с помощью языка программирования Pascal.
Постановка задачи
Статистическое управление имеет сведения о стоимости некоторого минимального набора из N продуктов по месяцам года (N>=3). Вывести сведения в виде таблицы с заголовками строк и столбцов (во всех задачах).
Продукт Стоимость по месяцам
1 2 3 4 5 6 7 8 9 10 11 12
Колбаса
Молоко
. . . . .
Кроме того, найти процентное изменение стоимости набора продуктов на конец года (( стоимость набора за январь - стоимость набора за декабрь)/ стоимость набора за январь * 100).
Вывод результатов на экран должен проводиться для одномерных массивов в виде столбца (столбцов), для двумерных – в виде матрицы. При необходимости на экран должны выводиться также текстовые пояснения. Для оформления вывода использовать подпрограммы модуля СRT.
Контрольная работа
по информатике
Задача 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.
Результаты тестирования программы