Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра інформаційних
систем та мереж
Лабораторна робота №4
на тему:
Операції та вирази мови Cі
Львів-2009
Мета роботи: Навчитись записувати та інтерпретувати вирази на основі форматів машинного зображення даних, визначеної множини операцій мови С/C++ та їх пріоритетів.
Завдання:
У завданнях першої частини необхідно:
1) розставити пріоритети операцій та обчислити значення заданого виразу, використовуючи формати машинного зображення даних та правила виконання операцій; послідовність обчислень навести у звіті про виконання лабораторної роботи;
2) написати програму для обчислення заданого виразу;
3) результат обчислення вивести на екран;
4) порівняти обчислене значення виразу з отриманим результатом програми;
5) при неспівпаданні значень переглянути послідовність та результати виконання операцій.
У завданнях другої частини необхідно:
1) утворити вираз, використовуючи оголошення типів змінних, операції та бібліотечні функції мови Сі.
2) написати програму на мові Сі, задати або ввести вхідні дані та вивести на
екран результат обчислення виразу;
3) оформити звіт за результатами виконання обох завдань лабораторної оботи.
Виконання завдання
2. Пріоритети операцій:
~a|--b>>-c--!=--d*sizeof(long)
sizeof( long) ;
~a;
--b;
–c--;
--d;
--d*sizeof(long);
--b>>
–c--!=
~a|
10) ~a|--b>>-c--!=--d*sizeof(long) = -197
Текст програми:
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
clrscr();
long a=197;
unsigned long b=2;
short c=43;
int d=47;
int f;
f=~a|--b>>-c--!=--d*sizeof(long);
printf("f=%d",f);
getch();
}
Блок-схема:
Результат виконання програми:
Завдання 2:
Текст програми:
#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
clrscr();
long a, mina, maxa;
long pmax,pmin;
scanf("%ld",&a);
long buf=a;
long pcur=1;
mina=maxa=buf%10;
pmin=pmax=1;
buf/=10;
while(buf){
pcur++;
if(buf%10>maxa){
maxa=buf%10;
pmax=pcur;
}
if(buf%10<mina){
mina=buf%10;
pmin=pcur;
}
buf/=10;
}
long right=10;
right=pow(right,pmin-1);
a=a-mina*right+maxa*right;
right=10;
right=pow(right,pmax-1);
a=a-maxa*right+mina*right;
printf("%ld",a);
getch();
}
Блок-схема:
Результат виконання програми:
Висновок: на цій лабораторній роботі я працював з операторами на мові Сі. Вони мають досить великі можливості, особливо порозрядні оператори.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!