Автор работы: Пользователь скрыл имя, 19 Сентября 2011 в 21:48, практическая работа
Цель задания
Освоение простейших конструкций языка Паскаль.
Получение навыков работы с числами. Использование стандартных функций, арифметических операций для записи математических выражений на языке Паскаль.
Получение практических навыков работы над ошибками. Освоение синтаксиса языка Паскаль.
Практическое
задание №1
Записать
выражение на языке
Паскаль. Использование
стандартных функций.
Оператор присваивания.
Цель задания
Записать
математическое выражение на языке
Паскаль, и составить программу
вычисления значения оператора присваивания.
Описать порядок действий, над выражением
исходя из приоритетности вычислений
стандартных функций и арифметических
операции.
1.
a = (x+y/(5+x))/|y-sinx+x|+5arctgx 2. b= etgu+1 lnarcsinv |
x=47,8
y=-5,5 u=2,3 v=0,8 |
program zadanie_1;
uses crt;
var
x,y,u,v:real;
a,b:real;
begin
clrscr;
x:=47.8;
y:=-5.5;
u:=2.3;
v:=0.8;
writeln('Протокол работы програмы');
writeln('вычисление значений a и b');
a:=(x+y/(5+sqrt(x)))/abs(y-
b:=exp(sin(u)/cos(u)+1)*ln(
writeln('a=',a);
writeln('b=',b);
writeln('конец счета');
readln;
readln;
end.
Протокол работы програмы
вычисление
значений a и b
a=
3.0959950475E+01
b=-6.7000345276E-02
конец
счета
В данной программе были использованы следующие стандартные функции: sin(x), cos(x), abs(x), sqr(x), sqrt(x), arctan(x),exp(x),ln(x).
В частности через функции:
arctan(x), sin(x), cos(x), были выражены такие тригонометрические
функции как arcos(x), tg(x).
В
ходе работы ошибок допущено не было.
Цель задания
Постановка задачи
Организовать
ввод/вывод данных заданных типов, предусмотрите
выводы с соответствующими заголовками.
целые числа | Вещественные числа | |||||||||
формат | формат | |||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
N в а р и а н т а |
количество | стандартный | ш
и р и н а п о л я |
количество | Стандартный | ш
ирина поля |
знаков
после . |
символов | печать булевской переменной | |
13 | 3 | c | 3 | 6 | C | 5 | 2 | 4 | FALSE |
program zadanie_2;
uses crt;
const
log=false;
var
k,l,m:integer;
a,b,c,d,e,f:real;
s1,s2,s3,s4:char;
begin
clrscr;
writeln('Введите целые числа K,L,M:');
read(k,l,m);
writeln('':30,'целые числа');
writeln('','стандартная форма','':18,'заданная ширина поля');
writeln('',k,' ',l,' ',m,'':30,'K=',k:3,' L=',l:3,' M=',m:3);
writeln;
writeln('':25,'Введите
вещественные числа A,B,C,D,E,
readln(a,b,c,d,e,f);
writeln('':20,'стандартная форма');
writeln('',a,' ',b,' ',c,' ',d,' ',e,' ',f);
writeln('':18,'заданная ширина поля');
writeln('A=',a:5:2,' B=',b:5:2,' C=',c:5:2,' D=',d:5:2,' E=',e:5:2,' F=',f:5:2);
writeln;
writeln('Введите символы S1,S2,S3,S4:');
readln(s1,s2,s3,s4);
writeln('символьные переменные:');
writeln('S1=',s1,' S2=',s2,' S3=',s3,' S4=',s4);
writeln('печать символьных переменных с шириной поля 5:');
writeln(s1:5,s2:5,s3:5,s4:5);
writeln('логическая переменная равна ',log);
readln;
readln;
end.
Протокол
работы
Введите целые числа K,L,M:
1
2
3
целые числа
стандартная форма заданная ширина поля
1 2 3
K= 1 L= 2 M= 3
Введите вещественные числа A,B,C,D,E,F:
234 4 5 6 7 8
стандартная форма
2.3400000000E+02 4.0000000000E+00 5.0000000000E+00 6.0000000000E+00 7.00000
00000E+00 8.0000000000E+00
заданная ширина поля
A=234.00 B= 4.00 C=
5.00 D= 6.00 E= 7.00 F= 8.00
Введите символы S1,S2,S3,S4:
qwer
символьные переменные:
S1=q S2=w S3=e S4=r
печать символьных переменных с шириной поля 5:
q w e r
логическая переменная
равна FALSE
Разветвляющие структуры. Оператор IF с GO TO, THEN, ELSE
Цель задания
Постановка задачи
Организуйте ввод и
вывод пяти целых положительных
чисел a, b, c, p, q. Определив остаток К
от деления на 9 величины М, равной
вычислите значение функции
y=arctg4,7x/(x2-secx)-xc
y=2sinx ,при к=1
y=cos(|ax2+b|-1) ,при к=2
program zadanie_3;
uses crt;
var
a,b,c,p,q,k,m:integer;
x,y:real;
begin
clrscr;
writeln('Протокол работы');
writeln('Введите исходные данные:');
readln(a,b,c,p,q,x);
writeln('a=', a,', b=',b,', c=',c,', p=',p,', q=',q,', x=',x:6:3);
m:=(a+b+c+p) div q;
k:=m mod 9;
if k=0 then
begin
y:=sqrt(arctan(4.7*x)/x*x-sin(
writeln('К=0, значение переменной Y равно ',y:6:3);
end;
if k=1 then
begin
y:=exp(sin(x)*ln(2));
writeln('К=1, значение переменной Y равно ',y:6:3);
end;
if k=2 then
begin
y:=cos(abs(a*x*x+b)-1);
writeln('К=2, значение переменной Y равно ',y:6:3);
end;
if k>2 then
writeln('Значение переменной Y неопредено т.к. К>2');
readln;
end.
Протокол работы
Введите исходные данные:
2
3
76
3
76
4
a=2, b=3, c=76, p=3, q=76, x= 4.000
К=1,
значение переменной Y равно 0.592
В данной программе было использовано четыре оператора IF в сокращенной форме.
При работе над данной
Решение
задач, описываемых
алгоритмами циклической
структуры с использованием
одномерных массивов.
Цель задания
Постановка задачи
Организуйте
ввод/вывод одномерного
В массиве {zi}, i=1, 2, ... , 10 есть положительные и отрицательные элементы. Подсчитать количество отрицательных и положительных элементов.
Решить задачу для двух наборов данных:
а.
–5,25,17,18,20,-10,-9,-5,12,
б.15,20,15,4,-8,-5,-20,-43,-9,
program zadanie_4;
uses crt;
const
n=10;
var
z: array [1..n] of integer;
a,b,i:integer;
begin
clrscr;
writeln('Введите через пробел 10 чисел');
for i:=1 to n do
begin
readln(z[i]);
if z[i]>0 then