[Código] en Pascal a C ++

Introducir

El 1 de noviembre de 2016, la Sociedad de Computación de China lanzó el "Anuncio CCF sobre el cambio del lenguaje de programación de la serie NOI", que dice lo siguiente:

根据国际信息学奥林匹克竞赛(IOI)的相关决议并考虑到我国目前程序设计语言的具体情况,CCF决定:

1.2020年开始,除NOIP以外的NOI系列其他赛事(包括冬令营、CTSC、APIO、NOI)将不再支持Pascal语言和C语言;

2.从2022年开始,NOIP竞赛也将不再支持Pascal语言。即从NOIP2022开始,NOI系列的所有赛事将全部取消Pascal语言。

在无新增程序设计语言的情况下,NOI系列赛事自NOIP2022开始将仅支持C++语言。
此通知。

中国计算机学会

2016年11月1日

Muchos jugadores de Pascal comenzaron a cambiar a C ++.

Prepara y compara

1. C ++ es más complicado y más difícil de aprender, pero más poderoso.

2. Después de haber aprendido Pascal, aprender C ++ es relativamente simple. (C a C ++ es más fácil)

3. La diferencia entre las versiones de C ++ es muy grande y es fácil compilar errores.
Se recomienda que use Dev-cpp 5.6.1, que es gcc / g ++ 4.8.1.
La versión más cercana al juego.
La versión del juego es 4.8.4 ( detalles de la versión del juego ).

Nunca use Dev-cpp 5.9.xo 5.11.x (muchos tipos grandes explotan a cero).

4. El nombre del sufijo del código
C ++. Cpp cpp = C Plus Plus = C ++

Conversión simple

1. C ++ está compuesto de funciones.

2. Las llaves C ++ {y} reemplazan begin y end.

3. Los tipos de funciones y variables se escriben en el frente, int es un tipo longint.

4. Cada oración termina con un punto y coma. Si encuentra ciertos corchetes (llaves, paréntesis en la tabla de parámetros de función, etc.), el punto y coma se omite.

5. La última oración del programa principal es

return 0;

Lo mejor es agregar , hay ciertos beneficios.

Archivo de encabezado

En general, se recomienda que los principiantes usen archivos de encabezado universal C ++

#include <bits/stdc++.h>

El archivo de encabezado universal C ++ contiene casi todos los archivos de encabezado.

Entrada y salida

Frase de entrada

输入语句 cin>>变量1>>变量2>>变量3;

Declaración de salida

cout<<变量1<<变量2<<...; 
cout<<"hello world" << endl;
//endl是换行

cin y cout están en el <iostream>archivo de encabezado, y también se requiere el espacio de nombres estándarusing namespace std;

Ancho de campo:

cout<<setw(5)<<a;

Mantenga algunos decimales:

cout<<fixed<<setprecision(3)<<a;

La función está en el <iomanip>archivo de encabezado.

Otras oraciones de entrada y salida son scanf()suma, printf()etc. En general, no se recomienda que los principiantes aprendan, y debe dominarlo cuando sea ​​competente .

código a + b:

#include <bits/stdc++.h>
using namespace std;

int main() {
	int a,b;
	cin >> a >> b;
	cout << a+b << endl;
	return 0;
}

Comentario

Comentarios
En el código C ++, hay dos formas de escribir comentarios:

1 Comentarios en línea
Comience con //, y todo el contenido después de la línea son comentarios.

//这里添加注释

2 El bloque de comentarios
comienza con / * y termina con * /. Los contenidos en el medio son todos comentarios y pueden abarcar líneas.

/*
这里添加注释1
这里添加注释2
*/

Los comentarios no tienen ningún efecto sobre el funcionamiento del programa y pueden usarse para explicar el significado del programa.

En el desarrollo del proyecto, otras personas pueden usar las notas para futuros mantenimientos y lecturas.

En OI, pocas personas escriben muchos comentarios, pero los comentarios pueden hacer que sea más fácil aclarar ideas al escribir código o revisarlas más tarde. Además, si desea escribir una solución, un tutorial, la cantidad adecuada de comentarios puede facilitar al lector leer y comprender la intención del código.

Variable

Tipos de variables.

: :
Int (longint / int32)
long long (int64)
unsigned int (dword)
unsigned long long (qword)

小数 :
flotante (real)
doble (doble)

Carácter:
char (char)

Tipo booleano:
bool (booleano)

Cadena:
cadena (cadena)

Ningún tipo de
vacío (?)

Definición de variables

int a,b;
char ch='c';
double f;
int a[100];
char mat[50][50];

Matriz:
int a [100];
// indica que a [0] -a [99] son ​​todos los tipos int.
Matriz bidimensional int a [100] [100];
// define a [0] [0] - a [99] [99]

Inicializar:

int a[5]={1,2,3,4,5}; 

Variables globales y locales.

Dentro de la función hay variables locales, y fuera de la función hay variables globales.
La función incluye la función principal main ().

Alcance

Los ámbitos son bloques de código donde las variables pueden desempeñar un papel.
Las variables se dividen en variables globales y variables locales, el significado se ha explicado anteriormente.
El alcance de la variable global es el archivo completo. Una vez que se declara la variable global, está disponible en todo el programa.
C ++ puede definir variables en cualquier lugar, y el alcance de las variables solo está debajo de él.

Constante

Las constantes son valores fijos y no cambiarán durante la ejecución del programa.
El valor de la constante no se puede modificar después de que se define. Simplemente agregue una palabra clave const cuando declare.

int const N=105;

O

const int N=105;

Declaración de cesión

a = b; (a: = b)

i ++ 或 ++ i (inc (i))

i + = a (inc (i, a))

i-- 或 i-- (dec (i))

i- = a (inc (i, a))

si la declaración de juicio de condición

Formato 1:

if (条件) 语句;
if (条件) {
	语句1
	语句2
	......
}

Formato 2:

if (条件) 语句1;
	else 语句2;
if (条件)  {
	......
} else {
	......
}

Operador booleano:

andEs &&
orque se ||
notestá!

Operadores de comparación:

>    大于
>=   大于等于
<    小于
<=   小于等于 
==   等于
!=   不等于

Declaración de bucle

para bucle

Formato:

for (初始操作; 循环的条件; 变化) {
	语句1;
	语句2;
}

Pasos:

Created with Raphaël 2.2.0 初始操作 判断循环条件是否成立? 语句1 语句2 结束 yes no

Ejemplo:
Encuentra 1 + 2 + …… + 100

int s=0;
for(int i=1; i<=100; i++) s+=i;

mientras bucle

mientras:

while(条件) {
	语句1;
	语句2;
}

hacer mientras :

do {
	语句1;
	语句2;
} while(条件)

Función

Funciones matemáticas (funciones propias)

abs () valor absoluto de
fabs enteros () valor absoluto de
techo decimal () redondeado hacia arriba
floor () redondeado hacia abajo

Están en <cmath>o <math.h>archivos de encabezado.

Función de clasificación

Ordenar un [1] a un [n] de pequeño a grande

sort(a+1,a+n+1); 	

a + 1 es la dirección de memoria de a [1], y el final debe ser 1 más.

Si se ordena un [0] -a [n-1]:

sort(a,a+n); 

sort () es una ordenación rápida, en el <algorithm>archivo de encabezado.

Función personalizada

Los principiantes generalmente recomiendan escribir sobre la función principal.

类型 函数名(参数表) {
   ...
   return 答案;
}

Ejemplos:

int plus(int a,int b) {
	int ans;
	ans=a+b;
	return ans;
}

Funciones sin tipo:

void 函数名(参数表) { //void就是空,无类型=
   .....
   不需要return
}

Preguntas sobre caracteres y códigos ASCII

Tabla de códigos ASCII: https://blog.csdn.net/Ljnoit/article/details/102649314

int a; 
char x='A'; 
a=x; //a就是65了
x=66; //x就是'B'

C ++ puede ser forzado a convertir:

(类型)变量
cout<<(int)x<<endl; 

Cadena

Matriz de caracteres

Una matriz de caracteres unidimensional puede considerarse como una cadena, por
ejemplo: char s [105];

Leer una cadena cin >> s;

Nota: cuando se lee cin, se lee de un carácter visible a otro carácter visible

Los espacios y retornos de carro no se leen

Si lees una línea completa con gets (s)

Carácter de salida

cout<<s; 
puts(s); //他会换行

El carácter es una cadena entre comillas simples y entre comillas dobles

La cadena tiene un terminador:
si s lee abc,
entonces s [0] = 'a'
s [1] = 'b'
s [2] = 'c'
s [3] = '\ 0';

'\ 0' significa carácter vacío (no espacio)

1. Encuentra la longitud strlen

int x=strlen(s); 
//只计算从s[0]到\0有几个字母

2. Asignación

strcpy(s1,s2);
//把s2 赋值给s1

3. Operación de conexión

strcat(s1,s2);
//把s2接到s1的后面

4. Comparar tamaños

strcmp(s1,s2) 

El valor de retorno es mayor que 0, lo que indica que el orden del diccionario s1> s2
es igual a 0, lo que indica que el
resultado de s1 = s2 es menor que 0, lo que indica que el orden del diccionario s1 <s2

Otras funciones son escritas por usted mismo.

tipo de cadena

(Generalmente no se usa porque es demasiado lento)

Misceláneo

En C ++, 0 es falso y no cero es verdadero.

¡Felicitaciones por su exitosa transformación y actualización!

Hable acerca de Pascal a C ++: https://blog.csdn.net/Ljnoit/article/details/104960875

发布了106 篇原创文章 · 获赞 156 · 访问量 4万+

Supongo que te gusta

Origin blog.csdn.net/Ljnoit/article/details/104943652
Recomendado
Clasificación