Индивидуальное задание
Преобразовать строку, содержащую выражение на Си с операциями (=,==,!=,a+=,a-=), в строку, содержащую эти же операции с синтаксисом языка Паскаль (:=,=,#,a=a+,a=a-).
листинг программы готов (можно заменить другим), нужно закомментировать:
include
#include
#include
using namespace std;
int main()
{
char s[128] = "int a = 1;\nint b = 3;\na-= b - 1;\nb+= a - 1;\nbool c = a == b;\nbool d = a != 42;\n---------------\n";
char res[128] = "";
cout << "C++ program:\n" << s;
int i = 0, j = 0;
int k;
while (s[i] != '\0')
{
if (s[i] == '='
&& s[i+1] == '=')
{
res[j++] = '=';
i += 2;
}
else if (s[i] == '!'
&& s[i+1] == '=')
{
res[j++]='#';
i += 2;
}
else if (s[i] == '+'
&& s[i+1] == '=')
{
k = s[i-1];
res[j++] = '=' ;
res[j++] = k ;
res[j++] = '+' ;
i += 2;
}
else if (s[i] == '-'
&& s[i+1] == '=')
{
k = s[i-1];
res[j++] = '=' ;
res[j++] = k ;
res[j++] = '-' ;
i += 2;
}
else if (s[i] == '='
&& s[i-1] != '-'
&& s[i-1] != '+'
&& s[i-1] != '!'
&& s[i-1] != '=')
{
res[j++] = ':';
res[j++] = '=';
i++;
}
else
res[j++] = s[i++];
}
cout << "Pascal program:\n" << res;
system("PAUSE");
return 0;
}
2 . выполнить задание по защите лабораторной - описать сущность алгоритма, выполнить анализ программы (можно кратко) :
void F1(char c[])
{ int i,j;
for (i=0; c[i] !='\0'; i++);
for (j=0,i--; i>j; i--,j++)
{ char s; s=c[i]; c[i]=c[j]; c[j]=s; }}
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |