Практическое задание №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-sin(x)+sqrt(x))+5*arctan(x);
b:=exp(sin(u)/cos(u)+1)*ln(arctan(v/sqrt(1-v*v)));
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).
В ходе работы ошибок допущено не было.
Практическое задание №2
Организация ввода/вывода стандартных типов данных
Цель задания
Освоение простейшей структуры программы.
Получение навыков в организации ввода/вывода значений стандартных типов данных.
Получение практических навыков работы в интерактивном (диалоговом) режиме.
Постановка задачи
Организовать ввод/вывод данных заданных типов, предусмотрите выводы с соответствующими заголовками.
целые числа | Вещественные числа | ||||||||
формат | формат | ||||||||
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
3
Практическое задание №3
Разветвляющие структуры. Оператор IF с GO TO, THEN, ELSE
Цель задания
Получение навыков в использовании условного оператора при написании программ.
Разбор и знакомство с задачами, для решения которых используется условный оператор.
Постановка задачи
Организуйте ввод и вывод пяти целых положительных чисел 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(x))-exp(cos(x)*cos(x)*ln(x));
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 в сокращенной форме.
При работе над данной программой ошибок допущено не было.
Практическое здание №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,-25;
Листинг программы
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]
Похожие работы
... т.д. Программное обеспечение таких систем должно обеспечивать обработку, хранение, ввод-вывод больших объемов всевозможных данных. Интегрированная среда Turbo Pascal позволяет эффективно разрабатывать, тестировать и отлаживать программы, связанные с обработкой массивов данных самой различной структуры. В языке Pascal под массивом понимается упорядоченный набор фиксированного количества однотипных ...
... университет им.Д.И. Менделеева» Кафедра “Вычислительная техника и информационные технологии” УТВЕРЖДАЮ Заведующий кафедрой ______________ /_________/ « » 20___г. З А Д А Н И Е на преддипломную практику студента _________________________________________________________ (фамилия, имя, отчество) 1. Тема проекта (работы) ___________________________________ ...
... в их сфере. Результаты моей работы и кропотливого труда WEB дизайнеров ЗАО «НПВЛ ЛИАНА» можно посмотреть на сайте http://www.liananet.ru. Также в период прохождения технологической практики получены навык и практика в такой перспективной на данный момент сфере как разработка WEB страниц. Литература 1. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. – 2-е изд ...
... Богатырев - руководитель «Студии программных технологий 1024» при издательстве «Открытые системы». E-mail: bogatyrev@osp.ru. Из биографии Н. Вирта Профессор Никлаус Вирт (Niklaus K. Wirth), автор языка Паскаль, закончил Швейцарский федеральный технологический институт ETH (Eidgenoessische Technische Hochschule) в родном Цюрихе (1958). В Лавальском университете в Квебеке (Канада) он получил ...
0 комментариев