Автор работы: Пользователь скрыл имя, 20 Февраля 2012 в 17:14, практическая работа
Цель задания
1. Освоение простейших конструкций языка Паскаль.
2. Получение навыков работы с числами. Использование стандартных функций, арифметических операций для записи математических выражений на языке Паскаль.
3. Получение практических навыков работы над ошибками. Освоение синтаксиса языка Паскаль.
Практическое задание №1
Записать выражение на языке Паскаль. Использование стандартных функций. Оператор присваивания.
Цель задания
1. Освоение простейших конструкций языка Паскаль.
2. Получение навыков работы с числами. Использование стандартных функций, арифметических операций для записи математических выражений на языке Паскаль.
3. Получение практических навыков работы над ошибками. Освоение синтаксиса языка Паскаль.
Записать математическое выражение на языке Паскаль, и составить программу вычисления значения оператора присваивания. Описать порядок действий, над выражением исходя из приоритетности вычислений стандартных функций и арифметических операции.
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. Получение практических навыков работы в интерактивном (диалоговом) режиме.
Постановка задачи
Организовать ввод/вывод данных заданных типов, предусмотрите выводы с соответствующими заголовками.
| целые числа |
| Вещественные числа | |||||||
|
| формат |
| формат | ||||||
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,F:');
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
Цель задания
1. Получение навыков в использовании условного оператора при написании программ.
2. Разбор и знакомство с задачами, для решения которых используется условный оператор.
Постановка задачи
Организуйте ввод и вывод пяти целых положительных чисел a, b, c, p, q. Определив остаток К от деления на 9 величины М, равной вычислите значение функции
y=arctg4,7x/(x2-secx)-xcosx ,при к=0
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 в сокращенной форме.
При работе над данной программой ошибок допущено не было.
Решение задач, описываемых алгоритмами циклической структуры с использованием одномерных массивов.
Цель задания
1. Получение практических навыков работы с одномерным массивом.
2. Закрепление навыков в организации ввода/вывода значений одномерного массива.
3. Получение практических навыков работы в интерактивном(диалоговом) режиме.
4. Работа с диагностическими сообщениями транслятора при выполнении программ с одномерным массивом.
Постановка задачи
Организуйте ввод/вывод одномерного массива, предусмотрите вывод соответствующими заголовками.
В массиве {zi}, i=1, 2, ... , 10 есть положительные и отрицательные элементы. Подсчитать количество отрицательных и положительных элементов.
Решить задачу для двух наборов данных:
а. –5,25,17,18,20,-10,-9,-5,12,23
б.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
a:=a+1;
if z[i]<0 then
b:=b+1;
end;
clrscr;
writeln('Исходные данные');
for i:=1 to n do
write(z[i]:4);
writeln;
writeln('Количество положительных элементов массива Z[1..n] равно',a:4);
writeln('Количество отрицательных элементов массива Z[1..n] равно',b:4);
readln
end.
Протокол работы
А)Введите через пробел 10 чисел
-5
25
17
18
20
-10
-9
-5
12
23
Исходные данные
-5 25 17 18 20 -10 -9 -5 12 23
Количество положительных элементов массива Z[1..n] равно 6
Количество отрицательных элементов массива Z[1..n] равно 4
Б)Введите через пробел 10 чисел
15
20
15
4
-8
-5
-20
-43
-9
-25
Исходные данные
15 20 15 4 -8 -5 -20 -43 -9 -25
Количество положительных элементов массива Z[1..n] равно 4
Количество отрицательных элементов массива Z[1..n] равно 6
Практическое задание №5
Решение задач, описываемых алгоритмами циклической структуры с использованием двумерных массивов. Регулярные типы.
Цель задания
1. Получение практических навыков работы с двумерным массивом.
2. Закрепление навыков в организации ввода/вывода значений двумерного массива.
3. Получение практических навыков работы в интерактивном (диалоговом) режиме.
4. Работа с диагностическими сообщениями транслятора при выполнении программ с двумерным массивом.
Постановка задачи
Организуйте построчный ввод вещественной квадратной матрицы А 4-го порядка. Сформировать матрицу В 4-го порядка выполнив условие:
Начиная с первого элемента каждой строки А увеличить последующий на 2, следующий на 4, на 6.